M
Matt Lockamy
I've written some code that changes the sql of several queries. The first
set runs fine, but after that, I get an error that says "Query Input must
contain at least one table or query". I set up the code in the second query
exactly like I did in the first. I double and triple checked that I spelled
everything correctly. I'm not sure what's wrong. Please help:
Private Sub cmdCalcAdjustment_click()
' This function runs all queries necessary to update tables from which the
' Warehouse Scorecard Report is generated. The order the queries will run
in is
' as follows:
'
' 1. qryAdjustmentsMonthly
' 2. qryWareHousePOTotals
' 3. qryFrieght
' 4. qryFreightUpdate
' 5. qryShipment
' 6. qryLabor
' 7. qryLaborUpdate
' 8. qryFillKillAppend
' 9. qryCalcUnfill
Dim sMonth As String
Dim sSQL As String
Dim sPOSQL As String
Dim sFrieghtSQL As String
Dim sShipmentSQL As String
Dim sLaborSQL As String
Dim sFillKillSQL As String
Dim datMonthBegin As Date
Dim datMonthEnd As Date
DoCmd.SetWarnings (0)
' 1. Adjusts SQL of qryAdjustmentsMonthly to choose the appropriate fields
for tabulation
' and executes the query.
datMonthBegin = InputBox("Enter 1st day of the period in mm/dd/yyyy format.")
datMonthEnd = InputBox("Enter last day of the period in mm/dd/yyyy format.")
sMonth = Month(datMonthBegin)
sSQL = "INSERT INTO tblAdjustments ( Period, FISCAL_YEAR, ADJ_IN_QTY,
ADJ_OUT_QTY, ADJ_ABS_QTY, ADJ_TOTAL_QTY, ADJ_IN_COST, ADJ_OUT_COST,
ADJ_ABS_COST, ADJ_TOTAL_COST, MonthBegin) " & _
"SELECT " & sMonth & " AS Period, LAWSON_GLAMOUNTS.FISCAL_YEAR,
Sum([LAWSON_ICHISTORY]![ADJ_IN_QTY_" & sMonth & "]) AS ADJ_IN_QTY,
Sum([LAWSON_ICHISTORY]![ADJ_OUT_QTY_" & sMonth & "]) AS ADJ_OUT_QTY,
Sum([LAWSON_ICHISTORY]![ADJ_IN_QTY_" & sMonth &
"]+[LAWSON_ICHISTORY]![ADJ_OUT_QTY_" & sMonth & "]) AS ADJ_ABS_QTY,
Sum([LAWSON_ICHISTORY]![ADJ_IN_QTY_" & sMonth &
"]-[LAWSON_ICHISTORY]![ADJ_OUT_QTY_" & sMonth & "]) AS ADJ_TOTAL_QTY,
[LAWSON_GLAMOUNTS]![CR_AMOUNT_" & sMonth & "] AS ADJ_IN_COST,
[LAWSON_GLAMOUNTS]![DB_AMOUNT_" & sMonth & "] AS ADJ_OUT_COST,
([LAWSON_GLAMOUNTS]![CR_AMOUNT_" & sMonth &
"]*-1)+[LAWSON_GLAMOUNTS]![DB_AMOUNT_" & sMonth & "] AS ADJ_ABS_COST,
[LAWSON_GLAMOUNTS]![DB_AMOUNT_" & sMonth & "]+[LAWSON_GLAMOUNTS]![CR_AMOUNT_"
& sMonth & "] AS ADJ_TOTAL_COST, " & datMonthBegin & " as MonthBegin " & _
"FROM LAWSON_ICHISTORY INNER JOIN LAWSON_GLAMOUNTS ON
(LAWSON_ICHISTORY.COMPANY = LAWSON_GLAMOUNTS.COMPANY) AND
(LAWSON_ICHISTORY.R_YEAR = LAWSON_GLAMOUNTS.FISCAL_YEAR) " & _
"WHERE (((LAWSON_ICHISTORY.COMPANY) = 1) And
((LAWSON_ICHISTORY.LOCATION) = ""CHOA"") And ((LAWSON_GLAMOUNTS.ACCT_UNIT) =
""20342"") And ((LAWSON_GLAMOUNTS.ACCOUNT) = 63120)) " & _
"GROUP BY LAWSON_GLAMOUNTS.FISCAL_YEAR,
[LAWSON_GLAMOUNTS]![CR_AMOUNT_" & sMonth & "],
[LAWSON_GLAMOUNTS]![DB_AMOUNT_" & sMonth & "],
([LAWSON_GLAMOUNTS]![CR_AMOUNT_" & sMonth &
"]*-1)+[LAWSON_GLAMOUNTS]![DB_AMOUNT_" & sMonth & "],
[LAWSON_GLAMOUNTS]![DB_AMOUNT_" & sMonth & "]+[LAWSON_GLAMOUNTS]![CR_AMOUNT_"
& sMonth & "] " & _
"HAVING (((LAWSON_GLAMOUNTS.FISCAL_YEAR)=2006));"
CurrentDb.QueryDefs("qryAdjustmentsMonthly").SQL = sSQL
DoCmd.OpenQuery "qryAdjustmentsMonthly"
' 2.
sPOSQL = "INSERT INTO tblPOTotals ( LOCATION, PO_CODE, CountOfPO_NUMBER,
SumOfNBR_LINES, SumOfPO_PRINT_TOTAL, MonthBegin, MonthEnd ) " & _
"SELECT LAWSON_PURCHORDER.LOCATION, LAWSON_PURCHORDER.PO_CODE,
Count(LAWSON_PURCHORDER.PO_NUMBER) AS CountOfPO_NUMBER,
Sum(LAWSON_PURCHORDER.NBR_LINES) AS SumOfNBR_LINES,
Sum(LAWSON_PURCHORDER.PO_PRINT_TOTAL) AS SumOfPO_PRINT_TOTAL, CDate(" &
datMonthBegin & ") AS MonthBegin, CDate(" & datMonthEnd & ") AS " &
datMonthBegin & " " & _
"FROM LAWSON_PURCHORDER " & _
"WHERE (((LAWSON_PURCHORDER.PO_DATE) Between " & datMonthBegin & "
And " & datMonthEnd & ")) " & _
"GROUP BY LAWSON_PURCHORDER.LOCATION, LAWSON_PURCHORDER.PO_CODE " & _
"HAVING (((LAWSON_PURCHORDER.LOCATION)=""CHOA"") AND
((LAWSON_PURCHORDER.PO_CODE)=""W""));"
CurrentDb.QueryDefs("qryWareHousePOTotals").SQL = sPOSQL
DoCmd.OpenQuery "qryWareHousePOTotals"
Any help anyone could give would be VERRY much appriciated.
set runs fine, but after that, I get an error that says "Query Input must
contain at least one table or query". I set up the code in the second query
exactly like I did in the first. I double and triple checked that I spelled
everything correctly. I'm not sure what's wrong. Please help:
Private Sub cmdCalcAdjustment_click()
' This function runs all queries necessary to update tables from which the
' Warehouse Scorecard Report is generated. The order the queries will run
in is
' as follows:
'
' 1. qryAdjustmentsMonthly
' 2. qryWareHousePOTotals
' 3. qryFrieght
' 4. qryFreightUpdate
' 5. qryShipment
' 6. qryLabor
' 7. qryLaborUpdate
' 8. qryFillKillAppend
' 9. qryCalcUnfill
Dim sMonth As String
Dim sSQL As String
Dim sPOSQL As String
Dim sFrieghtSQL As String
Dim sShipmentSQL As String
Dim sLaborSQL As String
Dim sFillKillSQL As String
Dim datMonthBegin As Date
Dim datMonthEnd As Date
DoCmd.SetWarnings (0)
' 1. Adjusts SQL of qryAdjustmentsMonthly to choose the appropriate fields
for tabulation
' and executes the query.
datMonthBegin = InputBox("Enter 1st day of the period in mm/dd/yyyy format.")
datMonthEnd = InputBox("Enter last day of the period in mm/dd/yyyy format.")
sMonth = Month(datMonthBegin)
sSQL = "INSERT INTO tblAdjustments ( Period, FISCAL_YEAR, ADJ_IN_QTY,
ADJ_OUT_QTY, ADJ_ABS_QTY, ADJ_TOTAL_QTY, ADJ_IN_COST, ADJ_OUT_COST,
ADJ_ABS_COST, ADJ_TOTAL_COST, MonthBegin) " & _
"SELECT " & sMonth & " AS Period, LAWSON_GLAMOUNTS.FISCAL_YEAR,
Sum([LAWSON_ICHISTORY]![ADJ_IN_QTY_" & sMonth & "]) AS ADJ_IN_QTY,
Sum([LAWSON_ICHISTORY]![ADJ_OUT_QTY_" & sMonth & "]) AS ADJ_OUT_QTY,
Sum([LAWSON_ICHISTORY]![ADJ_IN_QTY_" & sMonth &
"]+[LAWSON_ICHISTORY]![ADJ_OUT_QTY_" & sMonth & "]) AS ADJ_ABS_QTY,
Sum([LAWSON_ICHISTORY]![ADJ_IN_QTY_" & sMonth &
"]-[LAWSON_ICHISTORY]![ADJ_OUT_QTY_" & sMonth & "]) AS ADJ_TOTAL_QTY,
[LAWSON_GLAMOUNTS]![CR_AMOUNT_" & sMonth & "] AS ADJ_IN_COST,
[LAWSON_GLAMOUNTS]![DB_AMOUNT_" & sMonth & "] AS ADJ_OUT_COST,
([LAWSON_GLAMOUNTS]![CR_AMOUNT_" & sMonth &
"]*-1)+[LAWSON_GLAMOUNTS]![DB_AMOUNT_" & sMonth & "] AS ADJ_ABS_COST,
[LAWSON_GLAMOUNTS]![DB_AMOUNT_" & sMonth & "]+[LAWSON_GLAMOUNTS]![CR_AMOUNT_"
& sMonth & "] AS ADJ_TOTAL_COST, " & datMonthBegin & " as MonthBegin " & _
"FROM LAWSON_ICHISTORY INNER JOIN LAWSON_GLAMOUNTS ON
(LAWSON_ICHISTORY.COMPANY = LAWSON_GLAMOUNTS.COMPANY) AND
(LAWSON_ICHISTORY.R_YEAR = LAWSON_GLAMOUNTS.FISCAL_YEAR) " & _
"WHERE (((LAWSON_ICHISTORY.COMPANY) = 1) And
((LAWSON_ICHISTORY.LOCATION) = ""CHOA"") And ((LAWSON_GLAMOUNTS.ACCT_UNIT) =
""20342"") And ((LAWSON_GLAMOUNTS.ACCOUNT) = 63120)) " & _
"GROUP BY LAWSON_GLAMOUNTS.FISCAL_YEAR,
[LAWSON_GLAMOUNTS]![CR_AMOUNT_" & sMonth & "],
[LAWSON_GLAMOUNTS]![DB_AMOUNT_" & sMonth & "],
([LAWSON_GLAMOUNTS]![CR_AMOUNT_" & sMonth &
"]*-1)+[LAWSON_GLAMOUNTS]![DB_AMOUNT_" & sMonth & "],
[LAWSON_GLAMOUNTS]![DB_AMOUNT_" & sMonth & "]+[LAWSON_GLAMOUNTS]![CR_AMOUNT_"
& sMonth & "] " & _
"HAVING (((LAWSON_GLAMOUNTS.FISCAL_YEAR)=2006));"
CurrentDb.QueryDefs("qryAdjustmentsMonthly").SQL = sSQL
DoCmd.OpenQuery "qryAdjustmentsMonthly"
' 2.
sPOSQL = "INSERT INTO tblPOTotals ( LOCATION, PO_CODE, CountOfPO_NUMBER,
SumOfNBR_LINES, SumOfPO_PRINT_TOTAL, MonthBegin, MonthEnd ) " & _
"SELECT LAWSON_PURCHORDER.LOCATION, LAWSON_PURCHORDER.PO_CODE,
Count(LAWSON_PURCHORDER.PO_NUMBER) AS CountOfPO_NUMBER,
Sum(LAWSON_PURCHORDER.NBR_LINES) AS SumOfNBR_LINES,
Sum(LAWSON_PURCHORDER.PO_PRINT_TOTAL) AS SumOfPO_PRINT_TOTAL, CDate(" &
datMonthBegin & ") AS MonthBegin, CDate(" & datMonthEnd & ") AS " &
datMonthBegin & " " & _
"FROM LAWSON_PURCHORDER " & _
"WHERE (((LAWSON_PURCHORDER.PO_DATE) Between " & datMonthBegin & "
And " & datMonthEnd & ")) " & _
"GROUP BY LAWSON_PURCHORDER.LOCATION, LAWSON_PURCHORDER.PO_CODE " & _
"HAVING (((LAWSON_PURCHORDER.LOCATION)=""CHOA"") AND
((LAWSON_PURCHORDER.PO_CODE)=""W""));"
CurrentDb.QueryDefs("qryWareHousePOTotals").SQL = sPOSQL
DoCmd.OpenQuery "qryWareHousePOTotals"
Any help anyone could give would be VERRY much appriciated.