设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

123下一页
返回列表 发新帖
查看: 5760|回复: 26
打印 上一主题 下一主题

[窗体] 如何从sql server数据库批量复制数据到本地ACCESS表

[复制链接]
跳转到指定楼层
1#
发表于 2017-1-16 11:22:50 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
求教,如何从sql server数据库批量复制数据到本地ACCESS表。用for循环,速度太慢了


'''''''把数据复制到本地临时表
Dim rs As New ADODB.Recordset
Set cnn = New ADODB.Connection
Set mydb = CurrentProject.Connection
cnn.Open "rovider=SQLOLEDB;Data Source=192.168.0.1;UID=saWD=******;initial catalog=SHUJUKU"
If rs.State = 1 Then rs.Close
sql = "SELECT 字段1,字段2,字段3 FROM mssql表 GROUP BY 字段1,字段2,字段3"
rs.Open sql, cnn, 1, 1
If rs.EOF = False Then
''''用for循环,速度太慢了
For i = 1 To rs.RecordCount
DoCmd.RunSQL "insert into access表(字段1,字段2,字段3) VALUES( '" & rs!字段1 & "' ,'" & rs!字段2 & "' ,'" & rs!字段3 & "')"
rs.MoveNext
Next
End If



帮我改下代码,谢谢了
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
27#
发表于 2017-1-18 12:43:39 | 只看该作者
kent_73 发表于 2017-1-16 16:29
说是找不到sql server上的表Tb_查询_temp_admin。

现在是我的存储过程执行结束了,表示肯定存在的。

这也可能是游标设置问题,你修改一下游标类型试试看
26#
 楼主| 发表于 2017-1-17 13:26:15 | 只看该作者
access新新新手 发表于 2017-1-17 12:01
慢慢调试,可以实现的,

这个可以把a数据表写入b数据库表的

CurrentProject.Connection.Execute "insert INTO [" & CurrentProject.Path & "\新建 Microsoft Office Access 应用程序.mdb].[Tb_查询_temp] select * FROM " & ftbname

这段代码是ACCESS表到ACCESS表吧。
我是从SQL SERVER表到ACCESS表。
25#
发表于 2017-1-17 12:01:03 | 只看该作者
kent_73 发表于 2017-1-17 08:20
是的,FOR循环太慢了。

但是这个又实现不了,求解啊

慢慢调试,可以实现的,

这个可以把a数据表写入b数据库表的
24#
 楼主| 发表于 2017-1-17 08:20:51 | 只看该作者
access新新新手 发表于 2017-1-16 16:33
这种是最快的,用循环数据大了很慢的

是的,FOR循环太慢了。

但是这个又实现不了,求解啊
23#
发表于 2017-1-16 16:33:50 | 只看该作者
kent_73 发表于 2017-1-16 16:29
说是找不到sql server上的表Tb_查询_temp_admin。

现在是我的存储过程执行结束了,表示肯定存在的。

这种是最快的,用循环数据大了很慢的

22#
 楼主| 发表于 2017-1-16 16:29:55 | 只看该作者
风中漫步 发表于 2017-1-16 16:22
CurrentProject.Connection.Execute "insert INTO [" & CurrentProject.Path & "\新建 Microsoft Office Ac ...

说是找不到sql server上的表Tb_查询_temp_admin。

现在是我的存储过程执行结束了,表示肯定存在的。
21#
发表于 2017-1-16 16:22:27 | 只看该作者
CurrentProject.Connection.Execute "insert INTO [" & CurrentProject.Path & "\新建 Microsoft Office Access 应用程序.mdb].[Tb_查询_temp] select * FROM " & ftbname
这样呢?
20#
 楼主| 发表于 2017-1-16 15:59:34 | 只看该作者
风中漫步 发表于 2017-1-16 15:55
改成"insert INTO [" & CurrentProject.Path & "\新建 Microsoft Office Access 应用程序.mdb].[Tb_查询_te ...

提示insert into语句的语法错误。
19#
发表于 2017-1-16 15:55:57 | 只看该作者
改成"insert INTO [" & CurrentProject.Path & "\新建 Microsoft Office Access 应用程序.mdb].[Tb_查询_temp] from select * FROM " & ftbname & ""试试
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-9-21 03:01 , Processed in 0.122347 second(s), 35 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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