我想使用VB.6代码删除MS Access中表的所有记录。
实际上我要用它来重置我的数据库,因为我的意思是不再有记录。
我该怎么做?
答案 0 :(得分:2)
我做到了。
On Error Resume Next
Dim cnn As New ADODB.Connection
cnn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\DB.mdb"
cnn.Open
cnn.Execute "delete * from LogTBL"
cnn.Close
答案 1 :(得分:1)
以下代码将删除您所连接的Access数据库的所有表中的所有记录。然而!!如果您在表之间建立了关系并且未指定“级联删除”,则在从“成员”表中删除之前,您无法删除“所有者”表。另一种方法是添加一个错误陷阱,以便检查该条件,然后忽略(Resume Next)。但是,您需要重复运行此代码,直到没有错误。您需要设置连接字符串(请参阅代码中的注释)!!
Function Delete_All_Data()
Dim cnLocalData As ADODB.Connection
Dim catLocal As ADOX.Catalog
Dim tdf As ADOX.Table
Dim strSQL As String
Dim strTableName As String
Set cnLocalData = New ADODB.Connection
MsgBox " Add code to connect to your database either using Connection cnLocalData or your own and change this code!!!"
Set catLocal = New ADOX.Catalog
catLocal.ActiveConnection = cnLocalData
For Each tdf In catLocal.Tables
If UCase(tdf.Type) = "TABLE" And UCase(Left(tdf.Name, 4)) <> "MSYS" Then
if tdf.Name <> "INFOTBL" Then
strTableName = tdf.Name
strSQL = "delete * from [" & strTableName & "];"
cnLocalData.Execute strSQL
End If
End If
Next tdf
Set tdf = Nothing
Set catLocal = Nothing
cnLocalData.Close
Set cnLocalData = Nothing
End Function