Admin Sparky
dba.email at gmail.com
Fri Apr 29 12:02:27 CDT 2005
Thank you Charlotte, that worked, but I'm still not getting past line
5...I'm now getting "Type mismatch (Error 13)".
1. Set db = CurrentDb
2. Set qdfMetrics = db.QueryDefs("qryMyQuery")
3. qdfMetrics.Parameters(0) = Forms!frmDatePicker!Text14
4. qdfMetrics.Parameters(1) = Forms!frmDatePicker!Text16
5. Set rstMetrics = qdfMetrics.OpenRecordset(dbReadOnly)
6. varResults = rstMetrics.GetRows(rstMetrics.RecordCount)
7. Set objXLBook = GetObject(cXLPath & cXLFile)
8. Set objXLApp = objXLBook.Parent
9. Set objQuerySheet = objXLBook.Worksheets("ProductMetrics")
10. objXLApp.Visible = True
11. objXLBook.Windows(1).Visible = True
12. Set objXLRange = objQuerySheet.Range("B1:G4")
13. objXLRange.FormulaArray = varResults
Mark Mitsules
On 4/29/05, Charlotte Foust <cfoust at infostatsystems.com> wrote:
> Wen you handle a querydef like that in code, you have to pass the
> parameter values in the code. You can't rely on a form, even if it is
> open. So in your code, pass the value of Text14 and the value of Text16
> into the parameters like this:
>
> qdfMetrics.Parameters(0) = Forms!frmDatePicker!Text14
> qdfMetrics.Parameters(1) = Forms!frmDatePicker!Text16
>
> Then open your recordset.
>
> Charlotte Foust
>
>
> -----Original Message-----
> From: Admin Sparky [mailto:dba.email at gmail.com]
> Sent: Friday, April 29, 2005 8:35 AM
> To: accessd at databaseadvisors.com
> Subject: [AccessD] Parameter Queries via Code
>
> Group,
>
> I have a stored parameter query where the parameters are taken from 2
> controls on a form...this part works great. The query field is a date
> field and the form controls contain the "Start Date" and "End Date" with
> the parameter for that field listed as:
>
> Between [Forms]![frmDatePicker]![Text14] And
> [Forms]![frmDatePicker]![Text16]
>
> I have a report based on this query which I can run directly from this
> form...this part also works great.
>
> Now the question. From that same form I want to press a button which
> will take the results of that parameter query and put it into an Excel
> spreadsheet. Can someone point me in the right direction to fill in the
> missing syntax at or around line 4?
>
> 1. Set db = CurrentDb
> 2. Set qdfMetrics = db.QueryDefs("qryMyQuery")
> 3. ==> ?
> 4. Set rstMetrics = qdfMetrics.OpenRecordset(dbReadOnly)
> 5. ==> ?
> 6. varResults = rstMetrics.GetRows(rstMetrics.RecordCount)
> 7. Set objXLBook = GetObject(cXLPath & cXLFile)
> 8. Set objXLApp = objXLBook.Parent
> 9. Set objQuerySheet = objXLBook.Worksheets("ProductMetrics")
> 10. objXLApp.Visible = True
> 11. objXLBook.Windows(1).Visible = True
> 12. Set objXLRange = objQuerySheet.Range("B1:G4")
> 13. objXLRange.FormulaArray = varResults
>
> At the moment I am getting error 3061 on line 4: "Too few parameters.
> Expected 2." Could this be a problem with scope? The code above is in
> a separate module and is called by the Form code...is this a problem?
>
> Thank you for any suggestions,
>
> Mark Mitsules
> --
> AccessD mailing list
> AccessD at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/accessd
> Website: http://www.databaseadvisors.com
> --
> AccessD mailing list
> AccessD at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/accessd
> Website: http://www.databaseadvisors.com
>