将$ Results导出为CSV

时间:2017-01-09 13:55:10

标签: powershell access-vba

我已经开始使用基本脚本了。理想情况下,它会在Access中运行查询,然后获取查询结果并输入CSV,但它似乎没有在我的CSV中写入任何内容(尽管其修改日期/时间正在被更改)。

我错过了什么?

$Acc = New-Object –Com Access.Application

$Acc.OpenCurrentDataBase("H:\TEST.mdb")

#Runs the query
$Acc.DoCmd.OpenQuery("Query1")

#Dealing with results
$Results = $Acc.DoCmd.OpenQuery("Query1")

$Results | Select-Object $Results | Export-Csv -Path H:\test.csv -Delimiter ";"

我也尝试过以此结尾:

$Results | Out-File -Append H:\test2.csv -Encoding UTF8

1 个答案:

答案 0 :(得分:3)

OpenQuery()方法只会在Access中打开查询。它不会返回查询结果。您可以使用TransferText()方法将查询定义的结果集保存为CSV:

$acc.DoCmd.Transfertext(2, [Type]::Missing, 'Query1', 'H:\test.csv', $true)