如何用vba删除access数据库中表的记录?

要用vba删除access数据库中表的记录,可以有如下步骤:

  1. ADODB.Recordset数据集对象连接打开access数据库;
  2. SQL DELETE 语句删除数据库中的表。

代码如下:

Sub QQ1722187970()
    Const adOpenForwardOnly = 0
    Const adOpenKeyset = 1
    Const adOpenDynamic = 2
    Const adOpenStatic = 3
    Const adOpenUnspecified = -1
    Const adLockReadOnly = 1
    Const adLockPessimistic = 2
    Const adLockOptimistic = 3
    Const adLockBatchOptimistic = 4
    Const adLockUnspecified = -1
    Dim oRecordSet As Object
    Set oRecordSet = CreateObject("ADODB.Recordset")
    Dim sConstr As String
    Dim sPath As String
    Dim sTableName As String
    Dim sDataBase As String
    Dim sSql As String
    Dim oWK As Worksheet
    Set oWK = Excel.ActiveSheet
    '要导入的Access数据库中的表名
    sTableName = oWK.Name
    '要导入的Access文件名称
    sDataBase = "数据库"
    sPath = Excel.ThisWorkbook.Path & "\"
    sSql = "DELETE * FROM " & sTableName
     sVersion = Excel.Application.Version
    '创建连接字符串
    If sVersion <= 12 Then
        sConstr = "Provider='Microsoft.Jet.OLEDB.4.0';Data Source=" & sPath & sDataBase & ".accdb"
    Else
        sConstr = "Provider='Microsoft.ACE.OLEDB.12.0';Data Source=" & sPath & sDataBase & ".accdb"
    End If
    With oRecordSet
        .Open sSql, sConstr
        MsgBox "删除完毕!"
    End With
    Set oRecordSet = Nothing
    Set oWK = Nothing
End Sub
       

发表评论