调用VBA过程 - 错误缺失=

问题描述:

我试图调用一个名为Ins_to_temp的VBA过程,但它不起作用。奇怪,因为Ins_to_temp是从另一个过程的模型构建的:Truncate_table工作正常!调用VBA过程 - 错误缺失=

你能帮我理解为什么这给出了一行“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(“科尔” ) 谢谢

+4

去掉括号,即称其为'Ins_to_temp“temp_clients”,“客户”,“202”' – 2013-03-12 07:57:50

+0

的'插入into'只有当TBL1工作,TBL2具有完全相同的列在同一订购! – 2013-03-12 08:04:07

+0

谢谢你们,是的,删除括号取得了诀窍,我简直不敢相信,谢谢!但是截断过程与括号一起使用并不奇怪吗?所以我猜测,也许可以在有一个参数的时候放上括号,但是当你有几个语法规则时可以放入括号。惊人。 – Sam 2013-03-12 08:07:17

什么关于这个,它工作吗?

Sub Test() 
    Ins_to_temp tbl1:="temp_clients", tbl2:="clients", idx:="202" 
End Sub 
+0

有趣的是,我最初尝试过,但与括号!我也会尝试这个变体,肯定会起作用。谢谢! – Sam 2013-03-14 14:18:49

你的问题是一个错字:

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 
+0

在写这个问题时错别字,但最初的代码不包含它,所以它应该是别的东西。谢谢。 – Sam 2013-03-12 08:05:00

+1

好的,我猜首先要检查的是错误是来自VBA还是来自查询。如果您手动输入SQL字符串,是否会出现错误? – 2013-03-12 08:08:26

+0

谢谢罗杰! - 删除括号后,它工作:Ins_to_temp“temp_clients”,“clients”,“202” – Sam 2013-03-14 14:17:54