Set db = DBEngine.Workspaces(0).OpenDatabase(App.Path + "\data\bym.mdb")
Set tabdef = db.CreateTableDef("tj")
Set field = tabdef.CreateField("公司产量", dbDouble, 4)tabdef.Fields.Append field
db.TableDefs.Append tabdef这些是我建表的语句,可是创建后,我用
tabdef.Fields.delete field
db.TableDefs.delete tabdef
都无法删除,小弟很急,忘各位大虾帮帮忙,谢谢!

解决方案 »

  1.   

    Option Explicit'工程->引用->Microsoft ActiveX Data Objects 2.0 Library (后面为版本号)
    Dim cn As New ADODB.Connection
    Dim rs As New ADODB.RecordsetPrivate Sub Combo1_Click()
        rs.Open "SELECT * FROM TABLENAME WHERE NAME = '" & txtName.Text & "'", cn, adOpenDynamic, adLockOptimistic
        If Not rs.EOF Then
            Label1.Caption = rs!ID
            Label2.Caption = rs!Memo
        End If
       
        rs.AddNew
        rs!ID = "编号"
        rs!Memo = "备注"
        rs.Update
    End SubPrivate Sub Command1_Click()
        cn.Execute "DROP TABLE TABLENAME"
    End SubPrivate Sub Form_Load()
        cn.ConnectionString = "DBQ=" & App.Path & "\TelePhone.mdb;DefaultDir=" & _
            App.Path & ";Driver={Microsoft Access Driver (*.mdb)};" & _
            "DriverId=25;FIL=MS Access;ImplicitCommitSync=Yes;" & _
            "MaxBufferSize=512;MaxScanRows=8;PageTimeout=5;SafeTransactions=0;" & _
        "Threads=3;UID=ADMIN;UserCommitSync=Yes;PWD=admind1234;"
        cn.Open
        '查询字符串可以上这里查
        'http://www.connectionstrings.com/
    End SubPrivate Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
    On Error Resume Next
        rs.Close
        Set rs = Nothing
        cn.Close
        Set cn = Nothing
    End Sub
      

  2.   

    '引用microsoft activex data object 2.x library
    Option Explicit
    Private conn As adodb.Connection
    Private WithEvents rs As adodb.RecordsetPrivate Sub Command3_Click()
    Set conn = New adodb.Connection
    Dim dbfilename As String
    dbfilename = App.Path & "\article.mdb"
    'ConnectString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & DbFileName & ";Persist Security Info=False;"
    conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & dbfilename & ";Persist Security Info=False;"
    conn.CursorLocation = adUseClient
    '使用ado删除
    conn.Execute "drop table mz"
    End Sub
      

  3.   

    Public mCnnAccess As ADODB.Connection    Set mCnnAccess = New ADODB.Connection
        mCnnAccess.ConnectionString = 数据库连接
        mCnnAccess.OpenmCnnAccess.Execute "DROP TABLE 表名"这就删掉了啊
      

  4.   

    楼主是想用DAO的方式来实现?Private Sub Command1_Click()
        On Error GoTo Err100    '定义表与字段
        Dim DefDatabase As Database
        Dim DefTable As TableDef, DefField As Field
        
        Set DefDatabase = Workspaces(0).OpenDatabase(App.Path & "\TEST.MDB", 0, False)
        Set DefTable = DefDatabase.CreateTableDef("测试")
       
        '建立Name字段为8个字符型
        Set DefField = DefTable.CreateField("Name", dbText, 8)
        DefTable.Fields.Append DefField
        
        Set DefField = DefTable.CreateField("Sex", dbText, 2)
        DefTable.Fields.Append DefField
        
        '该字段允许为空
        DefField.AllowZeroLength = True
        '建立Age字段为3个的常整型
        Set DefField = DefTable.CreateField("Age", dbInteger, 3)
        '字段追加
        DefTable.Fields.Append DefField
        
        '表追加
        DefDatabase.TableDefs.Append DefTable
        
        MsgBox " 一切 OK , 《测试》表已经建立完成! ", vbInformation
        
        '删除表
        DefDatabase.TableDefs.Delete ("测试")
        
        Exit Sub
        
    Err100:
        MsgBox "对不起,不能建立表。请先再建表前建立TEST数据库? ", vbCritical
    End Sub
    Private Sub Command2_Click()
        On Error GoTo Err100    '建立名为 TEST 的数据库
        CreateDatabase "TEST", dbLangGeneral
        
        MsgBox " 一切 OK , 数据库建立完成! ", vbInformation
        
        Exit Sub
        
    Err100:
        MsgBox "不能建立数据库! " & vbCrLf & vbCrLf & Err.Description, vbInformationEnd Sub
      

  5.   

    cn.Execute "DROP TABLE TABLENAME"
      

  6.   

    请问在Drop Table 时有判断Table是否存在的函数或表达式吗?
      

  7.   

    引用yoki其实很简单,你用错了参数而已tabdef.Fields.delete field
    改成tabdef.Fields.delete field.namedb.TableDefs.delete tabdef
    改成:db.TableDefs.delete tabdef.name即可