运行时错误-2147217904(80040e10)没有给出一个或多个参数的值

时间:2017-10-02 07:28:48

标签: vba ms-access access-vba

我遇到VBA Access问题,因为我不知道语法。我有一个函数,它将从excel文件中正确导入ACCESS上的表“IC4_MMI_405”中读取字段:

Dim conn As New ADODB.Connection
Dim record As New ADODB.Recordset

Set conn = CurrentProject.Connection
Set record = New ADODB.Recordset

record.Open "SELECT * WHERE file = '" & sFile & "' And ccu_code = " & iCode, conn, adOpenKeyset, adLockOptimistic

使用此代码一切正常。 如果我以这种方式更改代码:

Dim conn As New ADODB.Connection
Dim record As New ADODB.Recordset
Dim sSQL As String

Set conn = CurrentProject.Connection
Set record = New ADODB.Recordset
sSQL = "SELECT * FROM IC4_MMI_410 WHERE file = "
sSQL = sSQL & "" & sFile & ""
sSQL = sSQL & " And ccu_code = " & iCode

record.Open sSQL, conn, adOpenKeyset, adLockOptimistic

我会收到运行时错误。 sFile是String,iCode是Integer。当我在调试模式下运行时,我可以看到sFile和iCode的值是预期值。我认为问题在于我编写sSQL的方式。你能帮帮我吗?

1 个答案:

答案 0 :(得分:0)

这应该有效:

beans