我有一个 Access db,它链接了几个表。现在我想在这些表上执行 SET IDENTITY_INSERT ON/OFF。我用谷歌搜索并找到了这样的东西
Private mDb As Database
Public Sub SetIdentityInsert(strTableName As String, strOnorOff As String)
Dim qdf As QueryDef
Dim strSQL As String
On Error GoTo Proc_Err
Set qdf = mDb.QueryDefs("qryIDENTITY_INSERT")
strSQL = "SET IDENTITY_INSERT " & strTableName & " " & strOnorOff
qdf.SQL = strSQL
qdf.Execute
Proc_Exit:
On Error Resume Next
Set qdf = Nothing
Exit Sub
Proc_Err:
Resume Proc_Exit
Resume
End Sub
但是,如果我这样做
Dim qdf As QueryDef
Set qdf = CurrentDb.QueryDefs("Passthru")
我抱怨传递的字符串必须是 DELETE、INSERT、SELECT、PROCEDURE 或 UPDATE 之一。
我很确定这是可能的。在这里,作者粘贴了调用 Sub ExecutePassThru 的示例代码,但它的代码不存在。