Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ms access ACCESS2013-运行时错误“3061”。参数太少。预期1_Ms Access_Vba - Fatal编程技术网

Ms access ACCESS2013-运行时错误“3061”。参数太少。预期1

Ms access ACCESS2013-运行时错误“3061”。参数太少。预期1,ms-access,vba,Ms Access,Vba,在access中打开表单时出错。 此代码应与该表单的OnOpen事件一起执行。 但是我的脚本中有一个错误 Dim ThisDB As DAO.Database Set ThisDB = CurrentDb Dim d As DAO.Recordset Dim q As String q = "SELECT [tbl-apartner].[EMail] FROM [tbl-apartner] WHERE [tbl-apartner].[SID] = " &

在access中打开表单时出错。 此代码应与该表单的OnOpen事件一起执行。 但是我的脚本中有一个错误

Dim ThisDB As DAO.Database
    Set ThisDB = CurrentDb
    Dim d As DAO.Recordset
    Dim q As String
    q = "SELECT [tbl-apartner].[EMail] FROM [tbl-apartner] WHERE [tbl-apartner].[SID] = " & sid2 'sql query
    Set d = ThisDB.OpenRecordset(q, dbOpenDynaset)
    Dim Result As String
    Result = ""
    If d.EOF = False Or d.BOF = False Then 'if-else clause
        d.MoveFirst
        Do While Not d.EOF
            If Result <> "" Then Result = Result & "; "
            Result = Result & d!EMail
            d.MoveNext
          Loop
      End If
    d.Close
我解决了这个问题

线路

q=从[tbl apartner]中选择[tbl apartner].[EMail],其中[tbl apartner].[SID]=&sid2

这是不对的

q = "SELECT [tbl-apartner].[EMail] FROM [tbl-apartner] WHERE [tbl-apartner].[SID] = " & "'" & sid2 & "'"
区别在于:=&'&sid2&'

在openrecordset之前执行debug.print q。我猜你的sid2是空的,我做了MsgBox QandSID2不是空的。MsgBox QI的输出从[tbl apartner]中选择[tbl apartner].[EMail],其中[tbl apartner].[SID]=AKP
q = "SELECT [tbl-apartner].[EMail] FROM [tbl-apartner] WHERE [tbl-apartner].[SID] = " & "'" & sid2 & "'"