| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 1244 人关注过本帖
标题:判断数据库中是否存在一张表,为什么这段代码老是报错?
只看楼主 加入收藏
zyxyklh
Rank: 1
来 自:学校
等 级:新手上路
帖 子:31
专家分:0
注 册:2008-7-8
结帖率:66.67%
收藏
已结贴  问题点数:20 回复次数:4 
判断数据库中是否存在一张表,为什么这段代码老是报错?
For i = 0 To CurrentDb.TableDefs.Count - 1
  If "EXPORT" = CurrentDb.TableDefs(i).Name Then   '如果EXPORT真的存在了,这一句就会报错!
    DoCmd.DeleteObject acTable, "EXPORT"
  End If
Next

拜托各位
搜索更多相关主题的帖子: 数据库 判断 代码 报错 是否存在 
2023-05-10 15:15
zyxyklh
Rank: 1
来 自:学校
等 级:新手上路
帖 子:31
专家分:0
注 册:2008-7-8
收藏
得分:0 
For i = 0 To CurrentDb.TableDefs.Count - 1
  If "EXPORT" = CurrentDb.TableDefs(i).Name Then   '如果EXPORT真的存在了,这一句就会报错!
    DoCmd.DeleteObject acTable, "EXPORT"
    exit for      ‘加上这句就好了
  End If
Next
2023-05-10 15:22
厨师王德榜
Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18
等 级:贵宾
威 望:199
帖 子:989
专家分:4966
注 册:2013-2-16
收藏
得分:10 
可以不用遍历,直接用on Error语句更直接.
程序代码:
Sub main_DeleteTab调用示例()
Dim t1 As String, result As Boolean

t1 = "档期定义"   '要删除的表名
result = DropTable(t1)  '返回逻辑值

End Sub

Public Function DropTable(ByVal tabName As String) As Boolean
On Error GoTo err1:
DoCmd.DeleteObject acTable, tabName
DropTable = True

err1:
Exit Function

End Function
2023-05-11 09:57
厨师王德榜
Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18
等 级:贵宾
威 望:199
帖 子:989
专家分:4966
注 册:2013-2-16
收藏
得分:10 
如果不是删除表,只是单纯想知道表是否存在,可以这样:
程序代码:
Public Function FindTable(ByVal tabName As String) As Boolean
Dim tab1 As TableDef
On Error GoTo err1:
Set tab1 = CurrentDb.TableDefs(tabName)
FindTable = True

err1:
Exit Function

End Function
2023-05-11 11:15
zyxyklh
Rank: 1
来 自:学校
等 级:新手上路
帖 子:31
专家分:0
注 册:2008-7-8
收藏
得分:0 
回复 4楼 厨师王德榜
我是初学,您写的代码我没看明白
2023-05-11 16:44
快速回复:判断数据库中是否存在一张表,为什么这段代码老是报错?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015826 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved