设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[其它] 如何用代码创建表的链接?

[复制链接]
跳转到指定楼层
1#
发表于 2007-12-7 08:47:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
想实现 通过VBA代码 实现对表的 创建链接  和 断开链接
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅

点击这里给我发消息

2#
发表于 2007-12-7 09:18:42 | 只看该作者
给你一段参考的代码,或许能帮到您:

Function CreateLinkedExternalTable(strTargetDB As String, strProviderString As String, strSourceTbl As String, strLinkTblName As String) As String
   
      Dim catDB As ADOX.Catalog
    Dim tblLink As ADOX.Table
    Set catDB = New ADOX.Catalog

    catDB.ActiveConnection = "rovider=Microsoft.Jet.OLEDB.4.0;Data Source=" & sSourceDBFile
    If catDB.ActiveConnection.State = adStateClosed Then GoTo ErrHandler
   
    Set tblLink = New ADOX.Table
    With tblLink
         .Name = strSourceTbl
        Set .ParentCatalog = catDB
        'Set the properties to create the link.
        .Properties("Jet OLEDB:Create Link") = True
        .Properties("Jet OLEDBink Provider String") = "rovider=ODBC;DSN=TestODBC;DATABASE=TestDB;UID=SAassword=xxxxx" 'strProviderString
        .Properties("Jet OLEDB:Remote Table Name") = "dbo." & strLinkTblName
    End With
     On Error Resume Next '如果表不存在则继续
    catDB.Tables.Delete strSourceTbl
   
    On Error GoTo ErrHandler
    catDB.Tables.Append tblLink
    Set catDB = Nothing
   
    Exit Function
ErrHandler:
    MsgBox Err.Number & "  " & Err.Description
    Set catDB = Nothing
End Function
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-25 06:41 , Processed in 0.086421 second(s), 26 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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