在用MDB与SQL SEVER2000链接时,有时需要刷新链接表,通过以下代码可以达到目的,
此主题的解决参考了网友cwang的代码,并得到了微软工程师Billy Yao 的热心帮助,在此致谢!
Function relink()
Dim db As Database
Dim tbl As TableDef
Dim a As String
Dim b As String
Dim d As String
a = "sa" 数据库用户
b = "abc" 数据库口令
d = "abcde" 数据库名称
Set db = CurrentDb
For Each tbl In db.TableDefs
If tbl.Attributes = 536870912 Then
tbl.Connect = "FILEDSN=d:\demo\steel.dsn.UID=" &. a &. ".PWD=" &. b &. ".WSID=.DATABASE=" &. d &. ".Network=DBMSSOCN"
tbl.Attributes = dbAttachSavePWD
tbl.RefreshLink
End If
Next
End Function
附上微软工程师Billy Yao的解答说明:
根据您的描述,我对您的问题解答如下:
1. DSN=gnts 中gnts是系统DSN的文件名。
2. UID是用户名,并且它的值由变量a的值决定。PWD是密码,并且它的值由变量b的值决定。
3. WSID 是指工作站的ID号 (Workstation ID)。变量d的值表示数据库的名称。 Network=DBMSSOCN 指TCP/IP所使用的网络库(Network Library)。
相关文章
ACCE 数据库之规格为何?
如何学好数据库编程?
Acce 2003停止响应,并出现引用Msacce .exe文件的错误消息
用代码通过ODBC刷新链接(mdb SQLSEVER2000)
Acce 的精髓不在VBA之中
局域网:ODBC连接SQLSEVER详解
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛