VB程序实现删除Access的多个表

2008-07-02 14:37:28 来源:中国自学编程网 作者:佚名 点击:
网友问:在我的数据库中,有shoes,cache,还有20086in 20087in 20088out这样的数据表 我想请问一下要怎样才能删除带有2开头的表呢? 最好能用sql的语句 不然能够得到表的名字然后再删也可以

网友问:在我的数据库中,有shoes,cache,还有20086in 20087in 20088out这样的数据表 我想请问一下要怎样才能删除带有2开头的表呢? 最好能用sql的语句 不然能够得到表的名字然后再删也可以

答:因为Access将用户表的信息存放在了MSysObjects系统表内,因此,从MSysObjects表查询2开头的用户表名称的Select语句可以写为:

select   name   from   MSysObjects   where   type=1   and   flags=0 and name like '2%'
具体的VB代码如下:
	
  1. Private   Sub  Command1_Click()   
  2.   
  3.      Dim  cn  As  ADODB.Connection   
  4.   
  5.      Dim  rs  As  ADODB.Recordset   
  6.   
  7.      Dim  str  As   String   
  8.   
  9.        
  10.   
  11.      Set  cn =  New  ADODB.Connection   
  12.   
  13.      Set  rs =  New  ADODB.Recordset   
  14.   
  15.        
  16.   
  17.     str =  "select   name   from   MSysObjects   where   type=1   and   flags=0 and name like '2%'"   
  18.   
  19.        
  20.   
  21.     cn.Open  "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=c:\csdn\db1.mdb;User ID=Admin;Password=;"   
  22.   
  23.     rs.Open str, cn, adOpenKeyset, adLockReadOnly   
  24.   
  25.        
  26.   
  27.      While   Not  rs.EOF   
  28.   
  29.         cn.Execute  "drop table ["  & rs(0) &  "]"   
  30.   
  31.         rs.MoveNext   
  32.   
  33.     Wend   
  34.   
  35.   
  36.   
  37.     MsgBox ( "删除以2开头的数据表成功!" )   
  38.   
  39.     rs.Close   
  40.   
  41.     cn.Close   
  42.   
  43.      Set  rs =  Nothing   
  44.   
  45.      Set  cn =  Nothing   
  46.   
  47.   
  48.   
  49. End   Sub   
9 7 3 1 2 4 8 :


logo

本类最新行业评测技巧教程学院
本类热点本日本周本月
本类推荐本日本周本月

广告联系 | 版权说明 | 意见建议 | 加入收藏 | 军网站群 [ 军软件园 - 军软件商城 - 军软件园论坛 ]

电信与信息服务业务经营许可证:京ICP证050203