vba读取服务器accsess文件,VB6批量读取CSV文件到access?

该博客展示了如何使用VBA在VB6环境中通过Microsoft ActiveX Data Objects (ADODB) 连接Access数据库,并通过联合查询的方式批量读取CSV文件中的数据,将其插入到Access数据表中。
摘要由CSDN通过智能技术生成

Sub 联合查询后导入() 'VBA中测试通过

'引用Microsoft ActiveX Data Objects 2.x Library

'VB6批量读取CSV文件到access?

'http://club.excelhome.net/thread-973334-1-1.html

Dim xlapp As Object

Dim cnn As New ADODB.Connection

Dim myPath$, MyFile$, SQL$

Set xlapp = GetObject(, "Excel.Application") 'VB6中

myPath = xlapp.ActiveWorkbook.Path & ""

cnn.Open "Provider=Microsoft.Ace.OLEDB.12.0;Data Source=" & myPath & "Database.accdb" '连接数据库

MyFile = Dir(myPath & "*.csv")

Do While MyFile <> "" '创建多个文本文件的联合查询

If Len(SQL) Then

SQL = SQL & " union all select '" & Mid(MyFile, 10, 7) & "' as FormID,'" & Mid(MyFile, 1, 8) & "' as FormType,f1 as ModelName,f4 as ModelVersion,f3 as OutPutQty,f2 as ProductionLine from [Text;FMT=Delimited;HDR=no;DATABASE=" & myPath & ";].[" & MyFile & "]"

Else

SQL = "select '" & Mid(MyFile, 10, 7) & "' as FormID,'" & Mid(MyFile, 1, 8) & "' as FormType,f1 as ModelName,f4 as ModelVersion,f3 as OutPutQty,f2 as ProductionLine from [Text;FMT=Delimited;HDR=no;DATABASE=" & myPath & ";].[" & MyFile & "]"

End If

MyFile = Dir()

Loop

SQL = "insert into BackflushRecord select * from (" & SQL & ")" '向access数据表中添加数据语句

cnn.Execute SQL

MsgBox "已经成功将文本文件数据保存为数据库!", vbInformation

cnn.Close

Set cnn = Nothing

End Sub

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值