Linux中国  设为主页
 收藏本站
 
当前位置: > 首页 ->数据库应用 ->Access ->怎么样用SQL语句来判断已知表是否存在
  相关分类: 
Access
DB2
Mysql
Oracle
PostgreSQL
SQL Server
Sybase
其他数据库
  站内搜索: 
热门文章排行
热门文章排行 ACCESS中使用SQL语句(04-12)
SQLServer和Access、Excel数据传输 (04-23)
把Access转成SQL数据库的方法介绍(04-17)
SQL和Access操作数据库结构SQL语句(04-17)
在Access数据库中使用SQL Server语句(05-23)
精采文章排行
精采文章排行 步步精细教你AS/400 DB2数据导入Acce(06-29)
如何把Access转成SQL Server的方法介(06-29)
推荐:ASP+Access数据库安全隐患及对(06-29)
教你如何检查Access数据库中数据有效(06-29)
如何利用Access数据库打印带相片的证(06-29)
  ·推荐:ASP+Access数据库安全隐患及对策 ·教你如何检查Access数据库中数据有效性 ·如何利用Access数据库打印带相片的证件 ·如何用Access实现学校课程表的科学管理 ·讲解如何用Maxthon Access远程登录电脑 ·教你ASP.NET 2如何随机读取Access记录 ·如何使用制表控制器简化Access对表操作 ·Access中如何指定工作组从而启动MDB文件 ·专家浅谈Access数据库精髓并非VBA之中

怎么样用SQL语句来判断已知表是否存在

作者:Webmaster   来源:accesssoft    点击:   日期:2007-04-23 [收藏] [投稿]

  IE是否经常中毒?推荐您

怎么样判断库中已知表是否存在今日受人之托,帮他解决这个问题,代码为通常的引用Dao做的一模块:











Function 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 

Private Sub 命令0_Click()
fExistTable
End Sub

用该事件出现‘参数不可选’的错误。仔细研究,发现fExistTable缺少参数,即已知表名没有在代码中反应。

修改为:

Private Sub 命令0_Click()
fExistTable(”需判断的已知表名”)
End Sub

End Sub不再报错。仔细分析,其实是用 ”已知表名” 通过Dao判断数据库中是否存在,如果fExistTable的值为True就是存在,否则就是不存在。

解决问题之余,想起Access数据库也有系统表,存放有对象名,可否做一查询来判定?

经验证:

SELECT Count(*) AS Qty
FROM MSysObjects
WHERE (((MSysObjects.Name) Like "需判断的已知表名"));

可以实现需求。如果Qty>0,就表示表已存在,否则就不存在。

 如果您对本文有任何疑问或者建议,请到讨论区发表您的意见: >> 论坛入口 <<



上一篇:学会怎么样应用数据库——数据库规范化技巧   下一篇:基于 Access 数据库的抽奖系统设计
文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【我要投稿】 【论坛讨论

   相关文章:
·如何把Access转成SQL Server的方法介绍

   文章评论:(1条)
  
 请留名: 匿名评论   点击查看所有评论 论坛讨论
 

 声明:刊登此文章是为了传递更多信息,文章内容仅供参考,转载请注明出处。