Office中国论坛/Access中国论坛

标题: 【求助】如何在EXCEL里运行ACCESS里的追加查询语句代码(SQL代码)? [打印本页]

作者: panjianhui    时间: 2008-10-6 19:27
标题: 【求助】如何在EXCEL里运行ACCESS里的追加查询语句代码(SQL代码)?
我在EXCEL里输入一批数据,需要将这些数据添加到ACCESS数据库里的表中(两者字段一样),如果打开ACCESS,我可以运行一个追加查询来实现追加数据功能,但出于实际需要,我不想在EXCEL输数据时打开ACCESS程序来添加,所以想在EXCEL里利用VB编程来完成。
我知道大概思路是,先建立与ACCESS的连接,然后执行一条SQL语句,实现数据添加后,再关闭连接,但我就是不知道如何来完整写下这些代码,请教各位高手!
作者: panjianhui    时间: 2008-10-6 22:55
谁能帮帮我啊?
作者: panjianhui    时间: 2008-10-6 23:41
通过以下代码,可以添加一条数据,但如何更改,才能添加批量数据呢?

Sub adoTest()

Dim adoRt As Object
Dim strSQL As String

'// 创建ADO记录集对象
Set adoRt = CreateObject("ADODB.RecordSet")
'// 设置SQL 语句
strSQL = "SELECT * FROM dingdanbiao WHERE False"

With adoRt
'// 设置需要连接数据库
.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\示例\订单数据库.mdb"
.CursorLocation = 3
.CursorType = 1
.LockType = 3

'// 设置SQL语句
.Source = strSQL
'// 准备打开记录集
.Open

'// 新增记录
.AddNew
'// 赋值
.Fields("客户代码").Value = Range("A2").Value
.Fields("订单号码").Value = Range("B2").Value
.Fields("订单日期").Value = Range("C2").Value

'// 更新
.Update

MsgBox "添加成功", vbInformation, ""

'// 判断并关闭记录
If .State = 1 Then
.Close
End If
End With

'// 从内存中释放
Set adoRt = Nothing
ActiveWorkbook.RefreshAll
End Sub




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3