Office中国论坛/Access中国论坛

标题: 通过ODBC连接到SQLSERVER2K后,表如何去掉DBO [打印本页]

作者: yodong    时间: 2003-11-22 04:54
标题: 通过ODBC连接到SQLSERVER2K后,表如何去掉DBO
通过ODBC连接到SQLSERVER2K后,每个连接表都自己加上了DBO三个字母,有100多个表,如果一个个去改名,好费事,有什么办法编程自动去掉此三个字母,
以前记得有一位网友问过此问题,别的朋友给过一个函数的,可惜当时没有摘录下来.现在要用到了,却找不到了,那位朋友知道吗?
作者: zhuyiwen    时间: 2003-11-22 07:22
编写刷新链接表的程序,重新命名链接表。
作者: yodong    时间: 2003-11-22 22:03
zhuyiwen版主:能否告知思路。
作者: zhuyiwen    时间: 2003-11-22 23:19
未测试:

Public Sub RenameLinkTableName()
    Dim dbs As Database
    Dim tdf As TableDef
    Dim strNewName As String
    Dim strName As String
   
   
    Set dbs = CurrentDb
    For Each tdf In dbs.TableDefs
        strName = tdf.Name
        If UCase(Left(strName)) = "DBO" Then
            strNewName = Right(strName, Len(strName) - 4)
            tdf.Name = strNewName
            tdf.RefreshLink
        End If
    Next
End Sub

作者: ljwei692    时间: 2003-11-24 17:17
直接将链接表更改名字可行吗?
作者: yodong    时间: 2003-11-25 04:00
问题是100多个表如何个个去改呢?谢谢zhuyiwen版主,我这就去试。
作者: cg1    时间: 2003-11-25 04:49
access本来就有RENAME方法,不用太麻烦的

自己用RENAME作为关键字搜索一下帮助,看看,如果还不会再来问吧

http://access911.net/index.asp?board=4&recordid=78FAB51E11DC
作者: yodong    时间: 2003-11-25 18:02
谢谢cg1版主,原来还有那么多方法。
作者: zhuyiwen    时间: 2003-12-17 09:29
测试通过:

Public Sub RenameLinkTableName()
    Dim dbs As Database
    Dim tdf As TableDef
    Dim strNewName As String
    Dim strName As String
   
   
    Set dbs = CurrentDb
    For Each tdf In dbs.TableDefs
        strName = tdf.Name
        If UCase(Left(strName, 3)) = "DBO" Then
            strNewName = Right(strName, Len(strName) - 4)
            tdf.Name = strNewName
            tdf.RefreshLink
        End If
    Next
End Sub

作者: yedaoan    时间: 2006-5-16 19:01
谢谢




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