Office中国论坛/Access中国论坛

标题: [求助]关于朱亦文老师的链接有密码库的问题 [打印本页]

作者: 天天网上    时间: 2004-1-28 02:19
标题: [求助]关于朱亦文老师的链接有密码库的问题
[attach]3261[/attach]
使用了朱老师的源码,但是链接好后再进入时产生已经有链接表存在的错误。
该怎样判断已经链接,不再进行链接代码?
作者: zhuyiwen    时间: 2004-1-28 07:06
' =========================================================
' TestRefreshLink 函数: 用于测试链接表是否正常链接, 并返回
' 测试结果
' =========================================================
Public Function TestRefreshLink(ByVal strName As String, ByRef strErr As String) As Boolean
    Dim dbs As Database
    Dim tdf As TableDef
    On Error GoTo ErrorHandler

    TestRefreshLink = False
    Set dbs = CurrentDb
    Set tdf = dbs.TableDefs(strName)
    tdf.RefreshLink
    TestRefreshLink = True
    strErr = "OK!"
   
    Exit Function
ErrorHandler:
    strErr = "ERROR! " & Err.Number & ". " & Err.Description
End Function

作者: 天天网上    时间: 2004-1-28 16:35
谢谢,按照朱老师的函数已经搞定。
我是这样实现的:
if TestRefreshLink("tab基础表","OK") = False then
   链接........
     ..........
     共10几个表
else
    exit sub
end if

但是,这样就出现问题:
 1、如果误删除的链接不是“tab基础表",还会出现其他表已经有链接的错误。
 2、如果误删除的不是“tab基础表",是其他表,则被误删除的表就失去了链接。
我想一个一个表的判断,又嫌太烦锁,有简单的方法吗?
作者: zhengjialon    时间: 2004-1-28 17:07
没有更简单的方法,因为所有表的名称和数量,都是未知数, 而且也不一定是链接在本库中的,所以没办法判断所有表的集合,否则可以做循环找出所有的表再一一判断。
作者: 天天网上    时间: 2004-1-28 18:33
那么能否在数据库退出时删除全部链接,这样在启动时重新链接。
怎样删除全部链接呢?
作者: zhengjialon    时间: 2004-1-28 18:46
参考这个贴子,不过你要判断一下是否是链接表,不要全删完了。
http://www.office-cn.net/bbs/dispbbs.asp?BoardID=2&replyID=55346&id=11228&skin=0




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3