1

我想创建一个 vbs 文件来导出 csv 文件中的访问表(逗号分隔)。我从 Remou 那里看到了这个结尾。它有效,但它创建标签分隔。谁能帮我?谢谢!

db = "C:\Docs\LTD.mdb"
TextExportFile = "C:\Docs\Exp.txt"

Set cn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")

cn.Open _
   "Provider = Microsoft.Jet.OLEDB.4.0; " & _
   "Data Source =" & db

strSQL = "SELECT * FROM tblMembers"

rs.Open strSQL, cn, 3, 3

Set fs = CreateObject("Scripting.FileSystemObject")

Set f = fs.CreateTextFile(TextExportFile, True)

a = rs.GetString

f.WriteLine a

f.Close
4

1 回答 1

4

创建标准 CSV 并不难

Set cn = CreateObject("ADODB.Connection")

cn.Open "Provider=Microsoft.Ace.OLEDB.12.0;Data Source=z:\Docs\test.accdb"

sSQL = "select * into " 
sSQL= sSQL & "[text;database=z:\docs\;FMT=Delimited;HDR=Yes].[csvfile.csv]"
sSQL= sSQL & " from table1"

cn.Execute sSQL

VBScript 文件将在任务计划程序中运行得很好。

编辑重新评论

如果您的语言环境中的小数分隔符是逗号,您可能会遇到问题。您可以使用 schema.ini 文件覆盖 Windows 区域设置,您只需要包含文件的名称和要更改的项目:

[csvfile.csv]
DecimalSymbol=.

完整列表可从 Microsoft 获得:Schema.ini

没有理由不应该在导出之前在代码中编写 schema.ini,除非确保不要覆盖现有架构——您可以追加。

您将从 Windows 控制面板获取有关系统区域设置的信息:http: //windows.microsoft.com/en-IE/windows7/Change-the-system-locale

于 2012-11-20T22:52:36.197 回答