设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12
返回列表 发新帖
楼主: todaynew
打印 上一主题 下一主题

[模块/函数] 重建后台数据库链接函数

[复制链接]
11#
 楼主| 发表于 2009-9-3 15:26:57 | 只看该作者
本帖最后由 todaynew 于 2009-9-3 16:47 编辑
如大师们能把议论结果用代码贴出,则不失为一件功德之举!切盼!
zmt 发表于 2009-9-3 14:22

非大师,初学而已。我想代码大体可以如下:
Function MyURL(Fname As String)
'功能说明:重建表链接。
'参数:Fname:后台数据库完整文件名
'示例:MyTrdb(CurrentProject.Path & "\后台数据库.mdb")

Dim rs As New ADODB.Recordset
Dim ssql As String
Dim i As Long

ssql = "select * from MSysObjects where Type=6"
rs.Open ssql, CurrentProject.Connection, adOpenKeyset, adLockOptimistic

For i = 1 To rs.RecordCount
    if rs("Database") <> Fname then
          rs("Database") = Fname
          rs.Update
    end if
    rs.MoveNext
Next

End Function

如嫌记录集啰嗦的话,用更新查询也可。如下:

Function MyURLSQL(Fname As String)
'功能说明:重建表链接。
'参数:Fname:后台数据库完整文件名
'示例:MyTrdb(CurrentProject.Path & "\后台数据库.mdb")
Dim ssql As String
If Nz(DCount("*", "MSysObjects", "Type=6 and Database='" & Fname & "'"), 0) = 0 Then Exit Function
ssql = "UPDATE MSysObjects SET MSysObjects.[Database] = '" & Fname & "'"
ssql = ssql & " WHERE Type=6 AND Database<>'" & Fname & "'"
CurrentDb.Execute ssql
End Function
12#
发表于 2015-5-25 23:00:45 | 只看该作者
学习了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-1-10 05:42 , Processed in 0.082622 second(s), 23 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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