[ 用户登陆 ] [ 免费注册 ] 

公共分类
我的资料
网上资源
企业信息
工具软件
网址收藏
学习资料
股票信息
博客日记

其他分类

用sql语句判断表的存在
Admin . 2007/5/7 22:18:24

如何判断库中已知表是否存在

今日受人之托,帮他解决这个问题,代码为通常的引用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

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



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

经验证:

SELECT Count(*) AS Qty

FROM MSysObjects

WHERE (((MSysObjects.Name) Like "需判断的已知表名"));


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

 网址: http://www.accessoft.com/Article_Show.asp?ArticleID=436 


最近后的内容
* 联想裁员1400
* SQL Server 2000 SP4 32/64
* ADRIEN ARPEL BRAND CLEANER
* 品牌化妆品网站
* 国外知名植物护肤品牌
* 乔布斯成为美国“打工皇帝”
* 从空气中俘获二氧化碳
* 开源机器人
* 屏幕录制的新星 MiniCapture
* 如何禁用ctrl+c及如何定义快捷键
最近前的内容
* 如何禁用SHIFT键打开MDB/MDE文件
* 用代码创建 DSN(SQL Server ODBC)
* 将15的身份证号升码为18位的函数
* 使用 Access 2003 对象模型的 XML 功能
* VB获取文件夹名称的函数
* 远程连接access数据库的方法
* SQL SERVER 与ACCESS、EXCEL的数据转换
* Microsoft SQL Server数据库文件恢复技术
* 品味SQL Server 2005的几个新功能
* SQL Server连接中的三个最常见错误
最受欢迎
* FoxPro梅子数据库编程技术论坛
* 左氧氟沙星
* 佛山公共汽车(巴士)线路
* 佛山社保公共查询系统
* 51地图:下载桌面地图2007
* DOS下的NTFS启动盘 NTFSDOSPro5
* 国际时间表与北京时间对照表
* windows 2003 64位版本语言包微软官方下载(包括简体中文)
* 江西高速公路规划图
* 建设银行佛山市分行各营业点名称及地址
* 佛山市车辆违章查询和处理方法
* 中国电话区号
* Bird
* 索爱最新管理软件PCSuite1.10.71
* 成龙电影全集
* 做馒头的方法
* Vfp Grid ManyHeader 2.0
* trading net
* 讯雷在线
* 如何给宝宝取名----男孩起名方法
 ©2005 - 2008 粤ICP备12037054号-1 用户登陆  |  互联说明  |  联系我们  |  网站地图