VB怎么把access数据库的表导出来存放发到CSV文件
VB怎么把Access 数据库中表一次性导出并存放到CSV文件中如题:
想利用
Private Sub Command2_Click()
Dim AccAPP As New Access.Application
' AccAPP.OpenCurrentDb (数据库路径)
AccAPP.OpenCurrentDatabase "" & App.Path & "\CDD.mdb"
AccAPP.DoCmd.OutputTo acOutputTable, "RLCFP", acFormatCSV, "" & App.Path & "\0906RLCFP.csv", True '导出表
AccAPP.CloseCurrentDatabase '关闭access对象
AccAPP.Quit acQuitSaveNone
Set AccAPP = Nothing
End Sub
虽然导出CSV文件但是格式不对 access csv 这样的写法是涉及到access的格式转化中最有效率的一种方法, 没有之一.
我不知道你所说的"格式不对"是哪里不对? 导出的CSV文件打开后数据不再单元格内
后来我给我DoCmd.TransferTEXT 可是导出没有表头 导出的CSV文件打开后数据不再单元格内
后来我给我DoCmd.TransferTEXT 可是导出没有表头 expression.TransferText(TransferType, SpecificationName, TableName, FileName, HasFieldNames, HTMLTableName, CodePage) 贴DoCmd的参数给你看看:
DoCmd.OutputTo(ObjectType, ObjectName, OutputFormat, OutputFile, AutoStart, TemplateFile, Encoding, OutputQuality)
ObjectType 枚举 名称 值 描述
acOutputForm 2 Form
acOutputFunction 10 User-Defined Function
acOutputModule 5 Module
acOutputQuery 1 Query
acOutputReport 3 Report
acOutputServerView 7 Server View
acOutputStoredProcedure 9 Stored Procedure
acOutputTable 0 Table
ObjectName 可选Variant ObjectType指定类型的对象名
"OutputFormat 可选Variant
" 名称 值 描述
acFormatASP Microsoft Active Server Pages (*.asp)
acFormatDAP Microsoft Access Data Access Page (*.htm; *.html)
acFormatHTML HTML (*.html)
acFormatIIS Microsoft IIS (*.htx; *.idc)
acFormatRTF Rich Text Format (*.rtf
acFormatSNP Snapshot Format (*.snp)
acFormatTXT MS-DOS Text (*.txt)
acFormatXLS Microsoft Excel (*.xls)
acSpreadsheetTypeExcel9 8 Excel 97-2003
OutputFile 字符串类型 对象要输出的文件全名包括路径。如果将该参数为空,Access会提示您指定输出文件名。
AutoStart 布尔型(-1/0) 是否自动打开输出文件的相关应用程序
TemplateFile 字符串类型 要用作模板的HTML,HTX或ASP文件的全名包括路径.
Encoding 可选Variant 输出文本或HTML数据的字符编码格式类型
OutputQuality 枚举 名称 值 描述
acExportQualityPrint 0 输出优化打印。
acExportQualityScreen 1 屏幕上显示的输出进行了优化。
导出时如果取消,ACCESS会报错,所以代码中需要加一段出错处理,一般这种错误的代码是2501
例程:
AccAPP.OpenCurrentDatabase "D:\Access import output\db1.mdb", False '非独占方式打开数据库
AccAPP.DoCmd.OutputTo acOutputTable, "Tab1", acFormatXLS, App.Path & "\output.xls" '导出表Tab1 为Excel 95-97格式
AccAPP.DoCmd.OutputTo acOutputTable, "Tab2", acSpreadsheetTypeExcel9, App.Path & "\Output1.xls" '导出表Tab2为Excel 2003格式
AccAPP.CloseCurrentDatabase '关闭数据库
csv的格式应该是用acformattxt
因为csv格式本身很简单, 无非就是用逗号分隔列用回车分隔行, 所以表头可以自己解决一下也不难的
可以先单独生成一个表头文件, 然后dos命令也好, 手工代码也好, 两个文件相加即可.
补充:VB , 数据库(包含打印,安装,报表)