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 &引用;在集合中找不到项";调用存储过程时_Ms Access_Vba - Fatal编程技术网

Ms access &引用;在集合中找不到项";调用存储过程时

Ms access &引用;在集合中找不到项";调用存储过程时,ms-access,vba,Ms Access,Vba,这是我的程序: ALTER PROCEDURE [dbo].[insert_user] @username varchar(50) AS BEGIN IF EXISTS(SELECT userid FROM users WHERE username = @username) SELECT userid FROM users WHERE username = @username ELSE

这是我的程序:

 ALTER PROCEDURE [dbo].[insert_user]
        @username varchar(50)
     AS
     BEGIN
        IF EXISTS(SELECT userid FROM users WHERE username = @username)
            SELECT userid FROM users WHERE username = @username
        ELSE
            BEGIN
                INSERT INTO users (username) VALUES (@username)
                SELECT userid FROM users WHERE username = @username
            END
     END
这是我的VBA

Public userid As Integer
    Public dbconn As ADODB.Connection

Public Function Startup()
    Dim cmd As New ADODB.Command
    Dim rs As New ADODB.Recordset
    Dim param As New ADODB.Parameter

    Set dbconn = New ADODB.Connection
    dbconn.ConnectionString = "[redacted]"
    dbconn.Open dbconn.ConnectionString

    Set cmd = New ADODB.Command
    cmd.ActiveConnection = dbconn
    cmd.CommandType = adCmdStoredProc
    cmd.CommandText = "insert_user"

    Set param = cmd.CreateParameter("username", adVarChar, adParamInput, 50, Environ("UserDomain") & "dddddddd\" & Environ("Username"))
    cmd.Parameters.Append param

    rs.CursorType = adOpenStatic
    rs.CursorLocation = adUseClient
    rs.LockType = adLockOptimistic
    rs.Open cmd

    MsgBox (rs("userid"))
End Function

每当proc添加新用户时,它都会失败,但当现有用户返回时,它可以正常工作。知道我插入时为什么不返回任何记录吗?

也许这篇文章可以帮助你:

因此,实际上,它是关于在存储过程中添加一行:

...
SET NOCOUNT ON
...

也许这篇文章可以帮助你:

因此,实际上,它是关于在存储过程中添加一行:

...
SET NOCOUNT ON
...