从访问创建逗号分隔文件(csv) - 每天从Windows安排

时间:2012-11-20 21:13:22

标签: vba ms-access vbscript

我想创建一个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

1 个答案:

答案 0 :(得分: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