DECLARE @Sales YTDBy Sales Person money; -- Execute the procedure specifying a last name for the input parameter -- and saving the output value in the variable @Sales YTDBy Sales Person EXECUTE Get Employee Sales YTD N' Blythe', @Sales YTD = @Sales YTDBy Sales Person OUTPUT; -- Display the value returned by the procedure.
PRINT ' Year-to-date sales for this employee is ' convert(varchar(10),@Sales YTDBy Sales Person); GO Input values can also be specified for OUTPUT parameters when the procedure is executed.
Not exactly sure why this makes a difference but add rs. Pgm = @Pgm Id Order By Driver Desc Go Sub Delete Trigger(prm Trigger Id As Long) Dim adc Cmd As New ADODB.
Cursor Location = ad Use Client before opening the recordset. Prepared = True fixes the problem as well (without the rs. Oh I seen that you had referred to it as working but not that both are executed Your sp is just executing a select query with a subquery so no updates occuring so its good there exc ept for the part where you are dropping the sp if exists and then recreating it. This may be an issue if it is being created and dropped by multiple calls from your code. You are using parameters anyways so there is no need to delete the sp each time.
Plus, there will be less beinfit from the sp getting optimized from execution multiple times etc.
I was able to reproduce the error and found a work around.
As an Access developer — or even as a power user — you won't get far if you can't work with the Recordset object.
But it's easy to go astray, and there are a number of mistakes that even experts make. Often, we're unaware of a subtle nuance between the two object libraries, Data Access Objects (DAO) and Active X Data Objects (ADO).
Create Parameter("@Setup_ID", ad Integer, ad Param Input, , c Int(id))[/Highlight] The "multistep OLEDB" error is usually caused by wrong parameters, e.g. Execute End With End Sub Brucevde: I've dispatched the .prepared=True, and the recordset returns, but the cursor Type and lock Type are being ignored, I know this because when I try to execute multiple recordsets I get the error - "Cannot create new connection because in manual or distributed transaction mode." If I then put in a check to get the recordcount I get the error - "Rowset position cannot be restarted." Which I think is telling me that my cursor is ad Open Forward Only or ad Open Dynamic. Cursor Location=ad Use Client and it's worked Thanks a bunch TG: RD - the droping re-creating is not something that happens when the SP runs....For more information about what data types can be used as output parameters, see CREATE PROCEDURE (Transact-SQL).The following example shows a procedure with an input and an output parameter.There are two ways of returning result sets or data from a procedure to a calling program: output parameters and return codes.This topic provides information on both approaches.