[dba-SQLServer]Sending parameters to a report

Francisco H Tapia my.lists at verizon.net
Tue Feb 25 12:10:57 CST 2003


ARG!, I've tried testing this method and was sure that I was using it in my
production ADP, but I am not :o(  I have a workaround in Access2k where I
decalre the input params into a hidden form that contains the dates and
other paramters information that I need.  It seems you can set the
recordsource only as the name of the sproc, but the method works fine for a
form as I threw together a simple form that feeds from the same report sproc
and works w/o a hitch... this is most disturbing.. I had not realized this
before (or maybe I did and had a severe lapse of C.R.S.)...
-Francisco
http://rcm.netfirms.com
----- Original Message -----
From: "Susan Zeller" <szeller at cce.umn.edu>
To: <dba-sqlserver at databaseadvisors.com>
Sent: Tuesday, February 25, 2003 9:53 AM
Subject: RE: [dba-SQLServer]Sending parameters to a report


: I've not gotten Francisco's method a to work, but I don't remember why
: anymore.  It seems right, but I think he means the report's
: recordsource, not the rowsource.
:
: I have successfully executed a variation on his method B.  Many of my
: reports require me to take multiple selections from a listbox.  I have
: an invisible text box that my report input paramenters points to and
: that text box gets populated with the string I want to pass to the
: sproc.  In your case, since this is called from different forms, I think
: you'd have to go with Francisco's common form approach.
:
: --Susan
:
:
: -----Original Message-----
: From: Francisco H Tapia [mailto:my.lists at verizon.net]
: Sent: Monday, February 24, 2003 6:13 PM
: To: dba-sqlserver at databaseadvisors.com
: Subject: Re: [dba-SQLServer]Sending parameters to a report
:
:
: So I see not everything is so bright over on the XP side, This is a bug
: in ADP's one that I am hoping will be fixed for the next version of
: ADPs.  The best way to solve your problem is one of 2 things... EITHER
: a) set your rowsource through code... as me.Rowsource = "EXEC
: stp_MyProcedure " & VariableContainingOpenArgs1 & ", " &
: VariableContainingOpenArgs2 remember that the syntax is SQL so if you
: are passing date or string parameters you'll also need to include the '
: single quotes.
:
: b) create a generic form that contains the values to your parameters and
: set them prior to opening your report.  For some reason the sproc runs
: before the input paramters are set on the form or report...
:
: HTHs
: -Francisco
: http://rcm.netfirms.com
: ----- Original Message -----
: From: "David Emerson" <davide at dalyn.co.nz>
: To: <dba-sqlserver at databaseadvisors.com>
: Sent: Monday, February 24, 2003 3:53 PM
: Subject: RE: [dba-SQLServer]Sending parameters to a report
:
:
: : Thanks for the response.  Unfortunately there are two complications
: with
: : this report -
: : 1) It could be called from two different forms with different fields
: : that are used for the parameters
: : 2) It also is used in a situation where there might be several
: customers
: : selected from a list box and copies of the report are to be printed
: for
: : all of them.  In the A97 version it was easy by just including the
: where
: : clause in the openReport command but it doesn't seem as easy with SQL.
: :
: : David
: :
: : At 24/02/2003, you wrote:
: :
: :
: : David,
: :
: : I've never been successful in setting the input parameters through
: code.
: : What I do, is in the property box, under Input Parameters I reference
: : somethiung on an open form such as:
: :
: : @DeptID = Forms!frmWiz!subcrit!txtParam_Dept
: :
: : I usually set the record source for the report in the on_open of the
: : code such as:
: :
: : Me.RecordSource = "dbo.proc_DM_CCE_Phone_List_dyn"
: :
: : Seems to me that the way you describe below should work, but it's
: never
: : worked for me.
: :
: : --Susan
: :
: :
: :
: :
: : -----Original Message-----
: :
: :
: : From: David Emerson [ mailto:davide at dalyn.co.nz
: : <mailto:davide at dalyn.co.nz> ]
: :
: :
: : Sent: Monday, February 24, 2003 3:37 PM
: :
: :
: : To: dba-SQLServer at databaseadvisors.com
: :
: :
: : Subject: [dba-SQLServer]Sending parameters to a report
: :
: :
: :
: : I have a problem with a report in an AXP/SQL2K database.
: :
: :
: :
: : I have a button on a customer form which is supposed to open up a
: report
: : with just the current customers information on it.  In the OpenReport
: : statement I send the inputParameters via the OpenArgs to the report
: and
: : then in the report's Open event set me.InputParameters = me.OpenArgs.
: :
: :
: :  The main report sproc then uses the InputParameters to select the
: : correct record (theoretically).
: :
: :
: :
: : But I must be missing something because even though the inputparameter
: : property is being updated, the sproc is not using the information to
: : retrieve the correct data.  Here is the main parts of the sproc -
: :
: :
: :
: : ALTER PROCEDURE sprptAccounts
: :
: :
: :
: :         (
: :
: :
: :                 @txtCustID int,
: :
: :
: :                 @StatementNumber int
: :
: :
: :         )
: :
: :
: :
: : AS
: :
: :
: :         SET NOCOUNT ON
: :
: :
: :
: :
: :
: :         SELECT tblCustomers.CustomerID, tblCustStatement.StatementID,
: :
: :
: :                 case
: :
: :
: :                         when [Residential]=1
: :
: :
: :                                 then [CSurname] + [C1stName]
: :
: :
: :                         else [TradingName]
: :
: :
: :                 end
: :
: :
: :                 AS SortName, tblCustStatement.SMName,
: : tblCustStatement.SMAddress1, tblCustStatement.SMAddress2,
: :
: :
: :                 tblCustStatement.SMSuburb, tblCustStatement.SMCity,
: : tblCustStatement.SMPostCode, tblCustStatement.SAccountNo,
: :
: :
: :                 case
: :
: :
: :                         when Not ([PrevStatementDate] is null)
: :
: :
: :                                 then
: DateAdd("d",1,[PrevStatementDate])
: :
: :
: :                         else [PrevStatementDate]
: :
: :
: :                 end
: :
: :
: :                 AS StatFirstDate, tblCustStatement.StatementDate,
: : tblCustStatement.StatementNumber, tblCustStatement.CurrentMth,
: :
: :
: :                 [OneMonth]+[TwoMonths]+[ThreeMonths] AS Overdue,
: : tblCustStatement.OneMonth, tblCustStatement.TwoMonths,
: :
: :
: :                 tblCustStatement.ThreeMonths,
: : tblCustStatement.ComBondBal, tblCustStatement.Processed,
: : tblCustomers.AccStatus, tblCustomers.AccFreq,
: : tblCustStatement.DDRegistered
: :
: :
: :         FROM tblCustomers INNER JOIN tblCustStatement ON
: : tblCustomers.CustomerID = tblCustStatement.CustIDNo
: :
: :
: :         WHERE (tblCustomers.CustomerID = @txtCustID) and
: : (tblCustStatement.StatementNumber = @StatementNumber)
: :
: :
: :
: :
: : The call to open the report is -
: :
: :
: :  DoCmd.OpenReport "rptAccounts", acViewPreview, , , , "@CustID int = "
: &
: : txtCustIDNo & ", @StatementNumber int = " & txtStatementNumber
: :
: :
: :
: : An example of the openarg sent is -
: :
: :
: : @CustID int = 773500661, @StatementNumber int = 11
: :
: :
: :
: : The report's Open event is
: :
: :
: :
: : Private Sub Report_Open(Cancel As Integer)
: :
: :
: :
: :     Me.InputParameters = Me.OpenArgs
: :
: :
: :
: : End Sub
: :
: :
: :
: : Am I going about this all wrong?
: :
: :
: :
: : Regards
: :
: :
: :
: : David Emerson





More information about the dba-SQLServer mailing list