首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

解决一个BUG-[怎么在ado中判断一个数据库中某个表是否已存在]

2012-03-07 
求助解决一个BUG-[如何在ado中判断一个数据库中某个表是否已存在]VB code自己可用分太少了所有只能给20分

求助解决一个BUG-[如何在ado中判断一个数据库中某个表是否已存在]

VB code
'自己可用分太少了所有只能给20分了.请谅解.'问题内容:如何在ado中判断一个数据库中某个表是否已存在?'原讨论链接:http://community.csdn.net/expert/topicview1.asp?id=257974'所属论坛:数据库(包含打印,安装,报表)     审核组:VB'提问者:leadergao     解决者:'感谢:acptvb'关键字:VB 数据库 数据库(包含打印,安装,报表) 微软 参见 http dim 出错 参阅 满意度 表 重名'答案:'我要在一个数据库中新建一个表,(create table)但是如果数据库中已经存在这个表就会出错,如何解决这个问题 '--------------------------- 感谢您使用微软产品。 '在VB中,我们可以通过 Error Handler 来判断是否在当前数据库中有一个重名的表。 '如下例子介绍了如何通过ADOX在Access中处理一个特发事件: 'Use ADOX ======== 'Sample for Access Dim cnn As New Connection     Dim cat As New Catalog     Dim tbl As Table     cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _         "Data Source= c:\Program Files\Microsoft Office\" & _         "Office\Samples\Northwind.mdb;"     Set cat.ActiveConnection = cnn for each tbl in cat.tables     if tbl.name="mytable" then   'BUG就在这句判断中,加上else的话就改句判断就失效了.        msgbox "exist!"          '如果不加else的话,像现在就是正常的.    end if next  


[解决办法]
不好意思,上面随手了,测试了一下,用这个吧:
Dim cnn As New Connection
Dim cat As New Catalog
Dim tbl As Table
dim bol as boolean
cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\a.mdb"
Set cat.ActiveConnection = cnn

For Each tbl In cat.Tables
bol= (tbl.Name = "表one") 
if bol then exit for
next
msgbox iif(bol,"存在","不存在")


热点排行