Prev: Retrieve all record if check box = 0 (Not checked)
Next: Update Query not updating selected table
From: AccessKay on 27 May 2010 15:53 Not sure if anyone knows the answer to this but I welcome any suggestions for things to try. I have a crosstab query layered off of a Union query. I also have a form with a text box for the user to choose the year and a command button that pulls the report. It works fine if I choose the year 2009 or earlier but if I choose 2010 I receive an error message, “…database engine does not recognize “ as a valid field name or expression. I have not a clue as to what is happening. Thanks for any suggestions. Here's my query…if this helps any. PARAMETERS [Forms]![frmQtr]![txtEnterYr] Text ( 255 ); TRANSFORM Sum(zqryforTotalsQTR.SumOfLbr_Total_Cost) AS SumOfSumOfLbr_Total_Cost SELECT zqryforTotalsQTR.Category, zqryforTotalsQTR.DGroup, Format([TransDate],"yyyy") AS DYear, Sum(zqryforTotalsQTR.SumOfLbr_Total_Cost) AS [Total Of SumOfLbr_Total_Cost] FROM zqryforTotalsQTR WHERE (((Format([TransDate],"yyyy"))=[Forms]![frmQtr]![txtEnterYr])) GROUP BY zqryforTotalsQTR.Category, zqryforTotalsQTR.DGroup, Format([TransDate],"yyyy") PIVOT "Qtr " & Format([TransDate],"q");
From: AccessKay on 27 May 2010 15:55 Thanks Karl. It didn't work(syntax errors) but I get your logic. "KARL DEWEY" wrote: > Try it this way -- > PARAMETERS [Forms]![frmQtr]![txtEnterYr] Long; > ......... > WHERE Year([TransDate]=[Forms]![frmQtr]![txtEnterYr] > > -- > Build a little, test a little. > > > "AccessKay" wrote: > > > Not sure if anyone knows the answer to this but I welcome any suggestions for > > things to try. I have a crosstab query layered off of a Union query. I also > > have a form with a text box for the user to choose the year and a command > > button that pulls the report. It works fine if I choose the year 2009 or > > earlier but if I choose 2010 I receive an error message, “…database engine > > does not recognize “ as a valid field name or expression. I have not a clue > > as to what is happening. > > > > Thanks for any suggestions. > > > > Here's my query…if this helps any. > > > > PARAMETERS [Forms]![frmQtr]![txtEnterYr] Text ( 255 ); > > > > TRANSFORM Sum(zqryforTotalsQTR.SumOfLbr_Total_Cost) AS > > SumOfSumOfLbr_Total_Cost > > > > SELECT zqryforTotalsQTR.Category, zqryforTotalsQTR.DGroup, > > Format([TransDate],"yyyy") AS DYear, > > Sum(zqryforTotalsQTR.SumOfLbr_Total_Cost) AS [Total Of SumOfLbr_Total_Cost] > > > > FROM zqryforTotalsQTR > > > > WHERE (((Format([TransDate],"yyyy"))=[Forms]![frmQtr]![txtEnterYr])) > > > > GROUP BY zqryforTotalsQTR.Category, zqryforTotalsQTR.DGroup, > > Format([TransDate],"yyyy") > > > > PIVOT "Qtr " & Format([TransDate],"q"); > >
From: Jerry Whittle on 27 May 2010 16:04 I've found it best to put any parameters and criteria in another query then base the crosstab on the first query. Also I'd have to wonder about using Text for the parameter data type. I'd rather have it a number and do something like this: WHERE (((Year([TransDate]))=[Forms]![frmQtr]![txtEnterYr])) Lastly does the form have a plain text box , combo box, or list box? Is it bound or something unbound where the user types in the value? You might need to use the .text or .value something like below expecially if it's a combo box. [Forms]![frmQtr]![txtEnterYr].text -- Jerry Whittle, Microsoft Access MVP Light. Strong. Cheap. Pick two. Keith Bontrager - Bicycle Builder. "AccessKay" wrote: > Not sure if anyone knows the answer to this but I welcome any suggestions for > things to try. I have a crosstab query layered off of a Union query. I also > have a form with a text box for the user to choose the year and a command > button that pulls the report. It works fine if I choose the year 2009 or > earlier but if I choose 2010 I receive an error message, “…database engine > does not recognize “ as a valid field name or expression. I have not a clue > as to what is happening. > > Thanks for any suggestions. > > Here's my query…if this helps any. > > PARAMETERS [Forms]![frmQtr]![txtEnterYr] Text ( 255 ); > > TRANSFORM Sum(zqryforTotalsQTR.SumOfLbr_Total_Cost) AS > SumOfSumOfLbr_Total_Cost > > SELECT zqryforTotalsQTR.Category, zqryforTotalsQTR.DGroup, > Format([TransDate],"yyyy") AS DYear, > Sum(zqryforTotalsQTR.SumOfLbr_Total_Cost) AS [Total Of SumOfLbr_Total_Cost] > > FROM zqryforTotalsQTR > > WHERE (((Format([TransDate],"yyyy"))=[Forms]![frmQtr]![txtEnterYr])) > > GROUP BY zqryforTotalsQTR.Category, zqryforTotalsQTR.DGroup, > Format([TransDate],"yyyy") > > PIVOT "Qtr " & Format([TransDate],"q"); >
From: AccessKay on 27 May 2010 16:07 Hi Jerry, I'm thinking about what you said about using the crosstab query's Column Heading to define the fields in my report. How could I do this? I tried to reference the form under the column heading but received an error message about it being too complicate to perform… I also now have some idea about why the year 2010 won't work with my form/report. It works with my query when I enter the year in the parameter (asking for form). But I'm thinking that because I only have data for one quarter in 2010, that my report doesn't know how to handle the missing fields for Q2,Q3,and Q4. Have you had any experience with this? Here is my SQL again: PARAMETERS [Forms]![frmQtr]![txtEnterYr] Long; TRANSFORM Sum(Nz([SumOfLbr_Total_Cost])) AS TotalCost SELECT qryforTotals.Category, qryforTotals.DGroup, Sum(Nz([SumOfLbr_Total_Cost])) AS [Total Of SumOfLbr_Total_Cost] FROM qryforTotals WHERE (((Year([TransDate]))=[Forms]![frmQtr]![txtEnterYr])) GROUP BY qryforTotals.Category, qryforTotals.DGroup PIVOT "Qtr " & Format([TransDate],"q"); Thanks again! "Jerry Whittle" wrote: > Forms and reports based on crosstab queries can be a problem. A crosstab > could produce many fields with different names and a form or report is > expecting just certain fields and names. > > If you know all the fields that you want on the form or report, you can use > the crosstab query's Column Headings property to define them. A form or > report will work then. > -- > Jerry Whittle, Microsoft Access MVP > Light. Strong. Cheap. Pick two. Keith Bontrager - Bicycle Builder. > > > "AccessKay" wrote: > > > Thanks for all the useful tips and suggestions. I built the select query and > > then based my crosstab on it but I was having problems with my form relating > > to the query. I think my brain is shot so I'm going to try again tomorrow. > > I appreciate your help. > > > > "Jerry Whittle" wrote: > > > > > I've found it best to put any parameters and criteria in another query then > > > base the crosstab on the first query. > > > > > > Also I'd have to wonder about using Text for the parameter data type. I'd > > > rather have it a number and do something like this: > > > > > > WHERE (((Year([TransDate]))=[Forms]![frmQtr]![txtEnterYr])) > > > > > > Lastly does the form have a plain text box , combo box, or list box? Is it > > > bound or something unbound where the user types in the value? You might need > > > to use the .text or .value something like below expecially if it's a combo > > > box. > > > > > > [Forms]![frmQtr]![txtEnterYr].text > > > -- > > > Jerry Whittle, Microsoft Access MVP > > > Light. Strong. Cheap. Pick two. Keith Bontrager - Bicycle Builder. > > > > > > > > > "AccessKay" wrote: > > > > > > > Not sure if anyone knows the answer to this but I welcome any suggestions for > > > > things to try. I have a crosstab query layered off of a Union query. I also > > > > have a form with a text box for the user to choose the year and a command > > > > button that pulls the report. It works fine if I choose the year 2009 or > > > > earlier but if I choose 2010 I receive an error message, “…database engine > > > > does not recognize “ as a valid field name or expression. I have not a clue > > > > as to what is happening. > > > > > > > > Thanks for any suggestions. > > > > > > > > Here's my query…if this helps any. > > > > > > > > PARAMETERS [Forms]![frmQtr]![txtEnterYr] Text ( 255 ); > > > > > > > > TRANSFORM Sum(zqryforTotalsQTR.SumOfLbr_Total_Cost) AS > > > > SumOfSumOfLbr_Total_Cost > > > > > > > > SELECT zqryforTotalsQTR.Category, zqryforTotalsQTR.DGroup, > > > > Format([TransDate],"yyyy") AS DYear, > > > > Sum(zqryforTotalsQTR.SumOfLbr_Total_Cost) AS [Total Of SumOfLbr_Total_Cost] > > > > > > > > FROM zqryforTotalsQTR > > > > > > > > WHERE (((Format([TransDate],"yyyy"))=[Forms]![frmQtr]![txtEnterYr])) > > > > > > > > GROUP BY zqryforTotalsQTR.Category, zqryforTotalsQTR.DGroup, > > > > Format([TransDate],"yyyy") > > > > > > > > PIVOT "Qtr " & Format([TransDate],"q"); > > > >
From: Jerry Whittle on 27 May 2010 16:13 Forms and reports based on crosstab queries can be a problem. A crosstab could produce many fields with different names and a form or report is expecting just certain fields and names. If you know all the fields that you want on the form or report, you can use the crosstab query's Column Headings property to define them. A form or report will work then. -- Jerry Whittle, Microsoft Access MVP Light. Strong. Cheap. Pick two. Keith Bontrager - Bicycle Builder. "AccessKay" wrote: > Thanks for all the useful tips and suggestions. I built the select query and > then based my crosstab on it but I was having problems with my form relating > to the query. I think my brain is shot so I'm going to try again tomorrow. > I appreciate your help. > > "Jerry Whittle" wrote: > > > I've found it best to put any parameters and criteria in another query then > > base the crosstab on the first query. > > > > Also I'd have to wonder about using Text for the parameter data type. I'd > > rather have it a number and do something like this: > > > > WHERE (((Year([TransDate]))=[Forms]![frmQtr]![txtEnterYr])) > > > > Lastly does the form have a plain text box , combo box, or list box? Is it > > bound or something unbound where the user types in the value? You might need > > to use the .text or .value something like below expecially if it's a combo > > box. > > > > [Forms]![frmQtr]![txtEnterYr].text > > -- > > Jerry Whittle, Microsoft Access MVP > > Light. Strong. Cheap. Pick two. Keith Bontrager - Bicycle Builder. > > > > > > "AccessKay" wrote: > > > > > Not sure if anyone knows the answer to this but I welcome any suggestions for > > > things to try. I have a crosstab query layered off of a Union query. I also > > > have a form with a text box for the user to choose the year and a command > > > button that pulls the report. It works fine if I choose the year 2009 or > > > earlier but if I choose 2010 I receive an error message, “…database engine > > > does not recognize “ as a valid field name or expression. I have not a clue > > > as to what is happening. > > > > > > Thanks for any suggestions. > > > > > > Here's my query…if this helps any. > > > > > > PARAMETERS [Forms]![frmQtr]![txtEnterYr] Text ( 255 ); > > > > > > TRANSFORM Sum(zqryforTotalsQTR.SumOfLbr_Total_Cost) AS > > > SumOfSumOfLbr_Total_Cost > > > > > > SELECT zqryforTotalsQTR.Category, zqryforTotalsQTR.DGroup, > > > Format([TransDate],"yyyy") AS DYear, > > > Sum(zqryforTotalsQTR.SumOfLbr_Total_Cost) AS [Total Of SumOfLbr_Total_Cost] > > > > > > FROM zqryforTotalsQTR > > > > > > WHERE (((Format([TransDate],"yyyy"))=[Forms]![frmQtr]![txtEnterYr])) > > > > > > GROUP BY zqryforTotalsQTR.Category, zqryforTotalsQTR.DGroup, > > > Format([TransDate],"yyyy") > > > > > > PIVOT "Qtr " & Format([TransDate],"q"); > > >
|
Next
|
Last
Pages: 1 2 Prev: Retrieve all record if check box = 0 (Not checked) Next: Update Query not updating selected table |