设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1845|回复: 2
打印 上一主题 下一主题

[VBA编程/宏] 【求助】如何在EXCEL里运行ACCESS里的追加查询语句代码(SQL代码)?

[复制链接]
跳转到指定楼层
1#
发表于 2008-10-6 19:27:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我在EXCEL里输入一批数据,需要将这些数据添加到ACCESS数据库里的表中(两者字段一样),如果打开ACCESS,我可以运行一个追加查询来实现追加数据功能,但出于实际需要,我不想在EXCEL输数据时打开ACCESS程序来添加,所以想在EXCEL里利用VB编程来完成。
我知道大概思路是,先建立与ACCESS的连接,然后执行一条SQL语句,实现数据添加后,再关闭连接,但我就是不知道如何来完整写下这些代码,请教各位高手!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
 楼主| 发表于 2008-10-6 22:55:58 | 只看该作者
谁能帮帮我啊?
3#
 楼主| 发表于 2008-10-6 23:41:28 | 只看该作者
通过以下代码,可以添加一条数据,但如何更改,才能添加批量数据呢?

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
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-22 13:07 , Processed in 0.080302 second(s), 26 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表