Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

回复 加入收藏帖  复制
我要提问 帖子上移

如何导入另一ACCESS中的表?急!!

cwzj3807 等级: 普通会员 积分:0 金币:0 来自:成都Access交流中心 发表于:2019-12-13 10:22:38   已结帖
楼主

求助各位老师:

我有两个ACCESS文件(文件1.mdb,文件2.mdb),我需要在 文件1.mdb 中用代码将 文件2.mdb 的所有表导入到 文件1.mdb 中,代码该怎样写?谢谢!

 

access培训  诚聘access开发人员

    cwzj3807
      获得社区协助:请教问题(即发帖)36篇,其中获得解决的28篇;
      协助社区成员:协助他人(即回帖)2篇,其中被设为【最佳答案】的0篇;
      协助我们社区:发布技术文章0篇,邀请了0名新会员注册本社区(如何邀请会员注册,详见:http://www.accessoft.com/sitehelp.asp)。
Top

扫描下方工作人员的微信二维码加微信,邀您加入Access课堂微信群,进入一个技术交际圈:

网站工作人员微信

麥田 等级:管理员★★★★★ 积分:38066 金币:66240 来自:上海Access交流中心 发表于2019/12/13 10:26:06 
1楼 得分: 0

手动导入 不好了

获取外部数据选择需要的数据库



    希望我的回答能解决了您的问题,或者所附上的这些信息对您有所帮助!如有任何疑问或需要进一步帮助,请您直接在本站发贴,我们非常乐意帮助您解决问题!
    如果我的回答已经解决了您的问题,请点击上方的“最佳答案”,这样本帖子就不会在“待解决问题区”显示了,以方便大家对那些正在等待解决的帖子给予关注!
    麥田  [协助社区成员回帖5743篇,其中【最佳答案】2196篇;发布技术文章1656篇。]
    UMVSoft在线支持工程师
    http://www.umvsoft.com
    QQ:3002789054 点击这里给麥田发消息
    如果您没有注册这个论坛,请单击下面的链接进行注册,与我在论坛进行交流:
    http://www.accessoft.com/reg/reg.asp?userid=11
    本贴子以“现状”提供且没有任何担保,同时也没有授予任何权利。
cwzj3807 等级:普通会员 积分:0 金币:0 来自:成都Access交流中心 发表于2019/12/13 10:29:23 
2楼 得分: 0

求助各位老师:

我有两个ACCESS文件(文件1.mdb,文件2.mdb),我需要在 文件1.mdb 中用代码将 文件2.mdb 的所有表导入到 文件1.mdb 中,代码该怎样写?谢谢!



    cwzj3807
      获得社区协助:请教问题(即发帖)36篇,其中获得解决的28篇;
      协助社区成员:协助他人(即回帖)2篇,其中被设为【最佳答案】的0篇;
      协助我们社区:发布技术文章0篇,邀请了0名新会员注册本社区(如何邀请会员注册,详见:http://www.accessoft.com/sitehelp.asp)。
西出阳关无故人 等级:版主★★★★★ 积分:636 金币:120 来自:安顺Access交流中心 发表于2019/12/13 17:49:17 
3楼 得分: 0

在本库操作:

select 字段名... into 本数据库表名 from [;database=另一个mdb的完整路径文件名].表名   ---新建表并追加数据

insert into  本数据库表名(字段名...) select 字段名... from [;database=另一个mdb的完整路径文件名].表名   ---仅数据追加到已有的表

以上为另一个数据库没有密码的情况,均为 mdb 文件

其他情况可以搜索"access 跨库查询"进行参考.



    很高兴与您就本帖子进行交流,如果我的回答已经解决了您的问题,请点击上方的“最佳答案”,这样本帖子就不会在“待解决问题区”显示了,我也将获得2个积分奖励,并不会减少您的积分!
    西出阳关无故人
      获得社区协助:请教问题(即发帖)18篇,其中获得解决的9篇;
      协助社区成员:协助他人(即回帖)879篇,其中被设为【最佳答案】的237篇;
      协助我们社区:发布技术文章3篇,邀请了0名新会员注册本社区(如何邀请会员注册,详见:http://www.accessoft.com/sitehelp.asp)。
cwzj3807 等级:普通会员 积分:0 金币:0 来自:成都Access交流中心 发表于2019/12/13 20:42:22 
4楼 得分: 0

西出阳关无故人 老师:

您好,我还是看不懂您的回复,让您见笑了。恳请老师给个完整的代码,谢谢!!!








    cwzj3807
      获得社区协助:请教问题(即发帖)36篇,其中获得解决的28篇;
      协助社区成员:协助他人(即回帖)2篇,其中被设为【最佳答案】的0篇;
      协助我们社区:发布技术文章0篇,邀请了0名新会员注册本社区(如何邀请会员注册,详见:http://www.accessoft.com/sitehelp.asp)。
西出阳关无故人 等级:版主★★★★★ 积分:636 金币:120 来自:安顺Access交流中心 发表于2019/12/14 22:03:43 
5楼 得分: 0

select 字段1,字段2,字段3 into 本地表的表名称 from [;database=D:\\MYDOC\B.mdb].表名

D:\\MYDOC\的目录下有一个叫做B.mdb的数据库,里面有个叫做表名的表,表里有字段1,字段2,字段3等字段,

这个SQL语句的意思:D:\\MYDOC\B.mdb这个数据库中叫做表名的表的字段1,字段2,字段3字段的内容复制到本数据库中(新建的并命名为本地表的表名称)的表中,本数据库的这个表,不需要你创建,他会自己创建.

insert into  本数据库表名(字段A,字段B,字段C) select 字段1,字段2,字段3 from [;database=D:\\MYDOC\B.mdb].表名 

本数据库已经存在名为本数据库表名的表,他有很多字段,字段A,字段B,字段C可能只是其中部分字段.

第二个sql语法的意思是,把D:\\MYDOC\B.mdb数据库中叫做表名 的表的字段1,字段2,字段3三个字段的记录值,插入到本数据库中已经存在的叫做本数据库表名表的字段A,字段B,字段C中.



    很高兴与您就本帖子进行交流,如果我的回答已经解决了您的问题,请点击上方的“最佳答案”,这样本帖子就不会在“待解决问题区”显示了,我也将获得2个积分奖励,并不会减少您的积分!
    西出阳关无故人
      获得社区协助:请教问题(即发帖)18篇,其中获得解决的9篇;
      协助社区成员:协助他人(即回帖)879篇,其中被设为【最佳答案】的237篇;
      协助我们社区:发布技术文章3篇,邀请了0名新会员注册本社区(如何邀请会员注册,详见:http://www.accessoft.com/sitehelp.asp)。
cwzj3807 等级:普通会员 积分:0 金币:0 来自:成都Access交流中心 发表于2019/12/15 11:01:59 
6楼 得分: 0

谢谢 西出阳关无故人 老师的指点,学习中。

另外,下面是我在网上找到的链接另一个 AAAAAA.mde 数据库表的代码,经运行没问题。那么如果我是要导入 AAAAAA.mde 数据库中的表,其代码又该怎样修改呢?谢谢!!!

Private Sub Ljsjk_Table()
    Dim rs, conn
    Set rs = CreateObject("ADODB.Recordset")
    Set conn = CreateObject("ADODB.Connection")
    conn.Open "provider=microsoft.jet.oledb.4.0;Jet OLEDB:Database Password=111111;data source=" & CurrentProject.Path & "\AAAAAA.mde"
    Set rs = conn.OpenSchema(adSchemaTables)
    Do While Not rs.EOF
       Call Link2MDB(CurrentProject.Path & "\AAAAAA.mde", 111111, rs!TABLE_NAME, rs!TABLE_NAME)
       rs.MoveNext
    Loop
    rs.Close
    Set rs = Nothing
    conn.Close
    Set conn = Nothing
End Sub
Sub Link2MDB(sDBPath$, pwd$, sTable$, dTable$)
    On Error Resume Next
    Dim tbldef As TableDef
    Set tbldef = CurrentDb.CreateTableDef(dTable)
    tbldef.Connect = "MS Access;PWD=" & pwd & ";Database=" & sDBPath
    tbldef.SourceTableName = sTable
    CurrentDb.TableDefs.Append tbldef
End Sub



    cwzj3807
      获得社区协助:请教问题(即发帖)36篇,其中获得解决的28篇;
      协助社区成员:协助他人(即回帖)2篇,其中被设为【最佳答案】的0篇;
      协助我们社区:发布技术文章0篇,邀请了0名新会员注册本社区(如何邀请会员注册,详见:http://www.accessoft.com/sitehelp.asp)。
西出阳关无故人 等级:版主★★★★★ 积分:636 金币:120 来自:安顺Access交流中心 发表于2019/12/17 20:15:20 最佳答案
7楼 得分: 2

试一下(对比一下你的原码,有色部分是变更了的):

Private Sub Ljsjk_Table()
    Dim rs, conn
    Set rs = CreateObject("ADODB.Recordset")
    Set conn = CreateObject("ADODB.Connection")
    conn.Open "provider=microsoft.jet.oledb.4.0;Jet OLEDB:Database Password=111111;data source=" & CurrentProject.Path & "\AAAAAA.mde"
    Set rs = conn.OpenSchema(adSchemaTables)
    Do While Not rs.EOF
        If rs!TABLE_NAME Like "Msys*" Then
            '你没有必要导入系统表
        Else
            CurrentDb.Execute "select * into " & rs!TABLE_NAME & " from [;database=" & CurrentProject.Path & "\AAAAAA.mde" & ";PWD=111111]." & rs!TABLE_NAME
        End If
        rs.MoveNext
    Loop
    rs.Close
    Set rs = Nothing
    conn.Close
    Set conn = Nothing
End Sub



    很高兴与您就本帖子进行交流,如果我的回答已经解决了您的问题,请点击上方的“最佳答案”,这样本帖子就不会在“待解决问题区”显示了,我也将获得2个积分奖励,并不会减少您的积分!
    西出阳关无故人
      获得社区协助:请教问题(即发帖)18篇,其中获得解决的9篇;
      协助社区成员:协助他人(即回帖)879篇,其中被设为【最佳答案】的237篇;
      协助我们社区:发布技术文章3篇,邀请了0名新会员注册本社区(如何邀请会员注册,详见:http://www.accessoft.com/sitehelp.asp)。
cwzj3807 等级:普通会员 积分:0 金币:0 来自:成都Access交流中心 发表于2019/12/17 21:30:39 
8楼 得分: 0

谢谢 西出阳关无故人 老师,学习中。






    cwzj3807
      获得社区协助:请教问题(即发帖)36篇,其中获得解决的28篇;
      协助社区成员:协助他人(即回帖)2篇,其中被设为【最佳答案】的0篇;
      协助我们社区:发布技术文章0篇,邀请了0名新会员注册本社区(如何邀请会员注册,详见:http://www.accessoft.com/sitehelp.asp)。
总记录:8篇  页次:1/1 9 1 :
您还没有在Access软件网登录不能回复帖子
  • 你没有登录,请点击后面链接登录:登录
  • 如果你没有注册,请点击后面链接注册:注册,注册完成后,请再次访问本页功能。