请问各位老鸟:在VB中能用DBF的命令(pack)彻底删除DBF表中,己被做了标记的记录
或者用其他方法删除一些己被作了标记的记录?(不能用空表替换法)

解决方案 »

  1.   

    delete from table 相当于VFP的
    delete all
    packdelete from table where 条件
    有条件的删除记录
      

  2.   

    我的做法是用VFP写一个小程序,在VB倒出前pack一下。
      

  3.   

    回hzybc 
      这样删除只是将记录做了删除标记,而没有真正从表中删除
    回planetike
      在VFP中写一个程序不是十分的麻烦吗,哎各位老大,还有什么方法吗?
      

  4.   

    Dim cn As New ADODB.Connection
    cns = "Provider=MSDASQL.1;Persist Security Info=False;Extended Properties=Driver={Microsoft FoxPro VFP Driver (*.dbf)};UID=;SourceDB=e:\Visual Studio Projects\vbdbf;SourceType=DBF;Exclusive=No;BackgroundFetch=Yes;Collate=Machine;Null=Yes;Deleted=Yes;"
    cn.Open cns
    cn.Execute ("pack zyfpxx")  
    注:zyfpxx是dbf表文件名
    如果在执行"pack zyfpxx"前已经对表zyfpxx进行过操作的一定要将连接关闭后重新打开一次,否则报file in use的错误