【发布时间】:2017-01-09 13:55:10
【问题描述】:
我已经开始编写基本脚本。理想情况下,它会在 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
【问题讨论】:
-
$Results是空的吗? -
不,如果我手动运行查询,它至少会产生很少的结果。
-
@glass_kites
$results是一个字符串数组还是可以表示为一个的东西?$results.GetType().Fullname。$Results | Select-Object $Results对我来说似乎很奇怪。如果 $results 是一个对象,那么您可以完全删除选择吗? -
您正在使用 COM 对象进行访问。您所做的相当于在 word 中打开一个 .doc 文件。你可能想试试这样的blogs.technet.microsoft.com/heyscriptingguy/2009/08/13/…
-
我的查询(我将其命名为 $Results)的输出最终成为 Access 中 8 列表的数据表视图。如果这有帮助?
标签: vba powershell ms-access