Access交流中心

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

如何在窗体用VBA来判断数据表的存在

kupe  发表于:2010-03-19 02:40:16  
复制

不知哪位高手能帮忙解决,如何在窗体用VBA来判断数据表的存在.谢谢了.

 

Top
小龙女 发表于:2010-03-19 08:04:23

以下函数当指定表存在时将返回true,表不存在的时候返回falseFunction fExistTable(strTableName As String) As Integer
Dim db As Database
Dim i As Integer
    Set db = DBEngine.Workspaces(0).Databases(0)
    fExistTable = False
    db.TableDefs.Refresh
    For i = 0 To db.TableDefs.Count - 1
        If strTableName = db.TableDefs(i).Name Then
            'Table Exists
            fExistTable = True
            Exit For
        End If
    Next i
    Set db = Nothing
End Function

 



andymark 发表于:2010-03-19 09:30:57

用ACCESS对象内置了TABLE属性

 

Function ExistTable(TableName As String) As Boolean
    Dim obj As AccessObject, dbs As Object
    Set dbs = Application.CurrentData
 
    For Each obj In dbs.AllTables
        If obj.Name = TableName Then
            ExistTable = True
        End If
    Next obj

End Function

 

用法:

 

 if ExistTable("表1") then

    msgbox "表1已存在"

   else

   msgbox "表1不存在"

end if



kupe 发表于:2010-03-20 05:50:15
谢谢各位的帮忙

kupe 发表于:2010-03-20 06:43:16

Function ExistTable(TableName As String) As Boolean

 

请帮忙解释一上以上代码,怎么用.小弟在此谢过了.



wang decheng 发表于:2010-03-20 08:07:47

版主已经告诉你怎样使用了,说得够详细。再仔细一些的话,你可以这样:

 

以“用法”为界,分成两部分

复制上半部分,新建模块,保存;

 

下半部分,用到你想使用的地方,如命令按钮的单击事件;或者某个窗体的加载事件等等



kupe 发表于:2010-03-20 09:46:40
非常感谢,明白了。

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