Access交流中心

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

请教:试链接同文件夹下的表库,虽"成功",但没用.弄不明白.

放弃  发表于:2010-04-24 12:58:10  
复制

Private Sub Command110_Click()
Dim FS
Label0.Caption = "就绪"
DoEvents
Dim CNN As New ADODB.Connection
Dim MYDATD As String
Label0.Caption = "正在链接数据库"
DoEvents

MYDATA = CurrentProject.Path & "\表库_be" & ".mdb"

Set FS = CreateObject("Scripting.FileSystemObject")
If FS.FileExists(MYDATA) = False Then
MsgBox "无链接的表库"
Exit Sub
End If

Set CNN = New ADODB.Connection
CNN.ConnectionString = "PROVIDER=MICROSOFT.JET.OLEDB.4.0;" & "DATA SOURCE=" & MYDATA
CNN.Open
MsgBox "存在链接的表"
Label0.Caption = "正在链接数据库......成功!"
DoEvents
CNN.Close
Set CNN = Nothing

End Sub

 

Top
lt 发表于:2010-04-24 18:48:43
仅是把数据库链接成功了,但你还没有告诉它你需要干什么.

放弃 发表于:2010-04-25 12:11:56

谢谢IT回复!

    我先有意将前台库中拆分时自动生成的链接表全部删掉,然后在窗体中单击上面的“链接”命令,以代替

用手工右击“链接表”的方法达到进行与后台库的从重链接。但事与愿违,当打开某一窗体时,消息提示:“为此窗体或报表指定的记录源“某一表名”不存在”。为什么手工链接行,而用上面的程序行不动呢?问题出在哪呢?

    请您从百忙中再帮助一把,现向您再表感谢!



lt 发表于:2010-04-25 14:21:11

你原来是要链接表:

 

 

Private Sub Command0_Click()

  '需引用 Microsoft ActiveX Data Objects 2.x Library
    '需引用 Microsoft ADO Ext. 2.x for DDL and Security


Dim adoCatalog As New ADOX.Catalog
    Dim adoTable As New ADOX.Table
   Dim MYDATA As String
    MYDATA = CurrentProject.Path & "\表库_be" & ".mdb"
    adoCatalog.ActiveConnection = CurrentProject.Connection
      Set adoTable.ParentCatalog = adoCatalog
      '先删除链接表
  For i = 0 To adoCatalog.Tables.Count - 1
     If (adoCatalog.Tables.Item(i).Type = "LINK") And (adoCatalog.Tables.Item(i).Name = "你的链接表名") Then
     adoCatalog.Tables.Delete adoCatalog.Tables.Item(i).Name
     Exit For
     End If
    Next i
    '再增加链接表
    adoTable.Properties.Item("Jet OLEDB:Link Datasource").Value = MYDATA
    adoTable.Properties.Item("Jet OLEDB:Remote Table Name").Value = "你的表名"
    adoTable.Properties.Item("Jet OLEDB:Create Link").Value = True
    adoTable.Properties.Item("Jet OLEDB:Link Provider String").Value = "MS Access;Pwd="""
    adoTable.Name = "你的链接表名"
    adoCatalog.Tables.Append adoTable
 
End Sub



放弃 发表于:2010-04-25 16:26:21

IT您好,太感激了。ADOX的知识,还没了解到。

在您的教导下,已试将其中一记录链接成功了,我还想设法一次性将所有表统统链接起来呀,请允许我自己先试噢。

 

另:下面的帖子一直没人理我,请原谅再一次揪缠您了。

 

请教:关于滚动选择记录时的窗体闪烁刺眼问题

 

再见!!!!!!



总记录:4篇  页次:1/1 9 1 :