如何实现物理删除?不用drop方法的有没有???
或者drop table tablename 中的tablename 我想从文本控件中取出,定义如下:Dim tablename as string
set tablename = trim(text1.text)
drop table tablename总是报错:需要对象!
究竟那里错了?

解决方案 »

  1.   

    Dim Cnn1 As New ADODB.Connection
    If Cnn1.State = adStateOpen Then Cnn1.Close
     Cnn1.Open "Provider=Microsoft.Jet.OLEDB.4.0;Password='';User ID=Admin;Data Source="c:/1.mdb ";"
    Cnn1.Execute "Drop TABLE " & text1.text
    Cnn1.Close
      

  2.   

    我不知道你对物理删除是怎么理解的。删除数据库中的数据或表的方法用很多,但不论用ADO,DAO 或是在ADO和DAO中调用SQL语句来删除数据库中的表,都不能做到物理删除。
    因为用上面的方法删除表后,数据库在大小并没有改变! 不信你试一下。所以Access中有一个压缩数据库的功能,只有通过这种方式才能实现物理删除,即删除数据并释放所占用的磁盘空间。你的第一个贴子:http://expert.csdn.net/Expert/topic/1590/1590995.xml?temp=.7400324
    在那里我已经写了一个压缩ACCESS数据库的函数,并且说明了为什么要用DAO。
      

  3.   

    你好像把代码与sql语句放在一起了?
      

  4.   

    Dim Cnn As New ADODB.Connection
    Cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Password='';User ID=my;Data Source="c:\data;"
    Cnn1.Execute "Drop TABLE '" & trim(text1.text) & "'"
    Cnn1.Close