You're calling
Open
on the
Recordset
twice, which probably isn't helping.
You should also make sure you're not sharing the connection, command, or recordset variables between multiple methods.
Try something like this:
Set Conn = New ADODB.Connection
Conn.CursorLocation = adUseServer
Conn.Open ConStr
Set cmd = New ADODB.Command
cmd.CommandText = StoredProcedureName
cmd.CommandType = adCmdStoredProc
cmd.ActiveConnection = Conn
cmd.Parameters("@regisno").Value = "ABC"
cmd.Parameters("@finid").Value = "AF123"
cmd.Parameters("@Month").Value = "2020-09-01"
Set rs = New ADODB.Recordset
With rs
.LockType = adLockOptimistic
.CursorLocation = adUseServer
.CursorType = adOpenForwardOnly
End With
rs.Open cmd, , , , adCmdStoredProc
How To Open ADO Connection and Recordset Objects[
^]