[AccessD] Stored Procedure as Rowsource for Chart

Stuart McLachlan stuart at lexacorp.com.pg
Wed Oct 7 19:38:05 CDT 2015


Don't use a temp query.  Used a stored query.

Create a Passthrough query as qryChartData which calls your SP with some date.
Save that query.
Set that query as the row source.

Assuming that you open the report from a button click somewhere and you have the desired 
date available then in your code modify and save the  qryDef.SQL of qryChartData  before 
opening the report.



On 8 Oct 2015 at 13:24, David Emerson wrote:

> Thanks Stuart,  I looked at the article but I don't think it quite
> fits my problem.
> 
> I already have code to get the results from a passthrough query.  My
> problem is how and where I can set the Chart rowsource so that the
> data from the stored procedure is used.
> 
> Here is the code (simplified) for the passthrough query:
> 
> Public grst1 As DAO.Recordset
> 
> Public Sub basReportPassThroughQuery(strSproc As String)
> ' Sample Call (Report and 1 sub report)
> 'strSproc = "EXEC dbo.spsrpClientQualitySurvey " & Nz(Me!txtID, 0)
> 'Call basReportPassThroughQuery(strSproc)
> 
>     Dim strTempQueryName As String, qdefTemp As DAO.QueryDef
> 
>     strTempQueryName = "qryTempQuery" 
>     CurrentDb.QueryDefs.Delete strTempQueryName 'In case exists
>     Set qdefTemp = CurrentDb.CreateQueryDef(strTempQueryName)
>     qdefTemp.ReturnsRecords = True
>     qdefTemp.ODBCTimeout = 120
>     qdefTemp.Connect = "ODBC;DRIVER=SQL
> Server;SERVER=Servername;DATABASE=database;Trusted_Connection=Yes"
> 
>     qdefTemp.SQL = strSproc
> 
>     Set grst1 = qdefTemp.OpenRecordset
> 
> End Sub
> 
> Now that I have the recordset how do I get the chart to use it?
> 
> Regards
> 
> David
> 
> -----Original Message-----
> From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf
> Of Stuart McLachlan Sent: Thursday, 8 October 2015 12:51 p.m. To:
> Access Developers discussion and problem solving Subject: Re:
> [AccessD] Stored Procedure as Rowsource for Chart
> 
> Use a  Passthrough query as the source.
> 
> You can generate the querydef for the PT query programmatically if 
> you need to pass parameters to your procedure. 
> 
> A good howto with appropriate examples is here:
> 
> http://www.databasejournal.com/features/msaccess/article.php/3407531/H
> ow-to- Execute-SQL-Stored-Procedures-from-Microsoft-Access.htm
> 
> --
> Stuart
> 
> On 8 Oct 2015 at 12:34, David Emerson wrote:
> 
> > Hi Listers,
> >  
> > I have a simpler report with a single chart.  I want to use a stored
> > procedure as the rowsource.  How do I do this?  I have tried putting
> > the procedure name in the rowsource field but this doesn't work
> > (which doesn't surprise me).
> > 
> > Here is the procedure call: EXEC dbo.sprptReferralTypeValueMonth
> > '2015-06-01'
> > 
> > I am guessing that I need to set a ADODB.Recordset when the report
> > is loaded but I am not sure what to do with the recordset once I
> > have it.
> > 
> > Regards
> > 
> > David Emerson
> > Dalyn Software Ltd
> > Wellington, New Zealand
> 
> 
> -- 
> AccessD mailing list
> AccessD at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/accessd
> Website: http://www.databaseadvisors.com
> 




More information about the AccessD mailing list