georgesOne
Technical User
Good afternoon,
I need to run the VBA command line
and this produces an error:
Run-time error: '3061'. Too few parameters.Expected 0.(that is correct: zero!)
Surprsingly, when I run the command line in the same module/procedure
the correct result is produced.
The query "sqrySummary" is based on three crosstab queries as follows. The parameter [Forms]!frm_PPTReports![tbxCut] gives a date.
1. For month 'sqryDTmonth'
2. For quarter 'sqryDTQuart':
3. For year 'sqryDTYear':
4. Now I want to combine some of these data in 'sqrySummary'
I am getting crazy... How do I get a parameter which is not needed ... any help would be highly appreciated.
Thankz in advance, Georges
I need to run the VBA command line
Code:
Set rst = Currentdb.Openrecordset("sqrySummary", dbOpendynaset)
Run-time error: '3061'. Too few parameters.Expected 0.(that is correct: zero!)
Surprsingly, when I run the command line in the same module/procedure
Code:
DoCmd.OpenQuery("sqrySummary")
The query "sqrySummary" is based on three crosstab queries as follows. The parameter [Forms]!frm_PPTReports![tbxCut] gives a date.
1. For month 'sqryDTmonth'
Code:
PARAMETERS [Forms]!frm_PPTReports![tbxCut] DateTime;
TRANSFORM nz(Count(tbl_Incidents.UpStart),0) AS DT
SELECT tbl_Tools.Tool, tbl_Tools.Active, tbl_Tools.KeyTool, tbl_Tools.ToolRank
FROM tbl_Tools INNER JOIN tbl_Incidents ON tbl_Tools.ToolID = tbl_Incidents.Tool
WHERE (((Year([tbl_Incidents].[Upstart]))>Year([Forms]![frm_PPTReports]![tbxCut])-3) AND tbl_Incidents.Upstart < [Forms]!frm_PPTReports![tbxCut] AND ((tbl_Tools.Active)=True))
GROUP BY tbl_Tools.Tool, tbl_Tools.Active, tbl_Tools.KeyTool, tbl_Tools.KeyTool, tbl_Tools.ToolRank
PIVOT "M" & DateDiff("m",[DownStart],[Forms]![frm_PPTReports]![tbxCut]);
2. For quarter 'sqryDTQuart':
Code:
PARAMETERS [Forms]!frm_PPTReports![tbxCut] DateTime;
TRANSFORM nz(Count(tbl_Incidents.UpStart),0) AS DT
SELECT tbl_Tools.Tool, tbl_Tools.Active, tbl_Tools.KeyTool, tbl_Tools.ToolRank
FROM tbl_Tools INNER JOIN tbl_Incidents ON tbl_Tools.ToolID = tbl_Incidents.Tool
WHERE (((Year([tbl_Incidents].[Upstart]))>Year([Forms]![frm_PPTReports]![tbxCut])-3) AND tbl_Incidents.Upstart < [Forms]!frm_PPTReports![tbxCut] AND ((tbl_Tools.Active)=True))
GROUP BY tbl_Tools.Tool, tbl_Tools.Active, tbl_Tools.KeyTool, tbl_Tools.KeyTool, tbl_Tools.ToolRank
PIVOT "Q" & DateDiff("Q",[DownStart],[Forms]![frm_PPTReports]![tbxCut]);
3. For year 'sqryDTYear':
Code:
PARAMETERS [Forms]!frm_PPTReports![tbxCut] DateTime;
TRANSFORM nz(Count(tbl_Incidents.UpStart),0) AS DT
SELECT tbl_Tools.Tool, tbl_Tools.Active, tbl_Tools.KeyTool, tbl_Tools.ToolRank
FROM tbl_Tools INNER JOIN tbl_Incidents ON tbl_Tools.ToolID = tbl_Incidents.Tool
WHERE (((Year([tbl_Incidents].[Upstart]))>Year([Forms]![frm_PPTReports]![tbxCut])-3) AND ((tbl_Incidents.UpStart)<[Forms]![frm_PPTReports]![tbxCut]) AND ((tbl_Tools.Active)=True))
GROUP BY tbl_Tools.Tool, tbl_Tools.Active, tbl_Tools.KeyTool, tbl_Tools.KeyTool, tbl_Tools.ToolRank
PIVOT "Y" & DateDiff("yyyy",[DownStart],[Forms]![frm_PPTReports]![tbxCut]) in ("Y0", "Y1", "Y2");
4. Now I want to combine some of these data in 'sqrySummary'
Code:
PARAMETERS Forms!frm_PPTReports!tbxCut DateTime;
SELECT sqryDTMonth.Tool AS xVal, Cint(sqryDTMonth.M1) AS yVal1, IIf(Month([Forms]![frm_PPTReports].[tbxCut]) = 1, Format(sqryDTYear.Y1/bss_fMonth(), "0.00"), Format(sqryDTYear.Y0/bss_fMonth(), "0.00")) AS yVal2, IIf(Month([Forms]![frm_PPTReports].[tbxCut]) = 1, Cint(sqryDTYear.Y1), Cint(sqryDTYear.Y0)) AS yVal3, sqryDTMonth.ToolRank As yVal4
FROM (sqryDTMonth INNER JOIN sqryDTQuart ON sqryDTMonth.Tool = sqryDTQuart.Tool) INNER JOIN sqryDTYear ON sqryDTQuart.Tool = sqryDTYear.Tool
WHERE (((sqryDTMonth.KeyTool)=True))
UNION SELECT tbl_Tools.Tool AS xVal, 0 AS yVal1, 0 AS yVal2, 0 AS yVal3, 0 As Val4
FROM tbl_Tools LEFT JOIN sqryDTMonth ON tbl_Tools.Tool = sqryDTMonth.Tool
WHERE (((tbl_Tools.KeyTool)=True) AND ((tbl_Tools.Active)=True) AND ((sqryDTMonth.Tool) Is Null));
I am getting crazy... How do I get a parameter which is not needed ... any help would be highly appreciated.
Thankz in advance, Georges