0

Ins_to_temp という名前の VBA プロシージャを呼び出そうとしましたが、機能しません。Ins_to_temp は別の手順のモデルから構築されているため、奇妙です: Truncate_table は動作します!

「Ins_to_temp(x,y,z)」行でエラーが発生する理由を理解していただけますか。「= が欠落しています!」と表示されます。(あたかも関数であるかのように見えますが、明らかに手続きです)

Sub Ins_to_temp(tbl1 As String, tbl2 As String, idx As String)
    Connect
    Dim strQ As String
    Set rstR = New ADODB.Recordset
    rstR.CursorType = adOpenStatic
    strQ = "insert into " & tbl1 & " (select * from " & tbl2 & " where id = '" & idx & "')"
    rstRec.Open strQ, objCon, adOpenDynamic, adLockOptimistic
End Sub

Sub Test()
   Ins_to_temp("temp_clients","clients","202")

End Sub

参考までに、実際に機能する手順を次に示します。

Sub Truncate_table(tbl1 As String)
    Connect
    Dim strQ As String
    Set rstR = New ADODB.Recordset
    rstR.CursorType = adOpenStatic
    strQ = "DELETE FROM " & tbl1
    rstR.Open strQ, objCon, adOpenDynamic, adLockOptimistic
End Sub

次のように呼び出すことができます: Truncate_table("coll") ありがとう

4

2 に答える 2

1

あなたの問題はタイプミスです:

Sub Ins_to_temp(tbl1 As String, tbl2 As String, idx As String)
    Connect
    Dim strQ As String
    Set rstR = New ADODB.Recordset
    rstR.CursorType = adOpenStatic

    strQry = "insert into " & tbl1 & " (select * from " & tbl2 & " where id = '" & idx & "')"

    ' the line above should be

    strQ = "insert into " & tbl1 & " (select * from " & tbl2 & " where id = '" & idx & "')"

    rstRec.Open strQ, objCon, adOpenDynamic, adLockOptimistic
End Sub
于 2013-03-12T07:58:34.323 に答える