NetworkGhost
IS-IT--Management
I am trying to convert this query from access to MSSql I am having problems with this statement here:
IIf(([ORDER_CUSTOMERDETAIL]![LN_STA]="9" Or [ORDER_CUSTOMERDETAIL]![LN_STA]<"4"),"H"," ") AS HOLD, [ORDER_CUSTOMERDETAIL]![SRC_TYPE] AS HoldStatus, [ORDER_CUSTOMERDETAIL]![RQST_SHIP] AS RQST_DLVRY, [ORDER_CUSTOMERDETAIL]![REQD_DATE] AS PROM_DLVRY,
IIf(IsNull([CATALOG]![CAT_ITEM]),[ORDER_CUSTOMERDETAIL]![ITEM],[CATALOG]![CAT_ITEM]) AS [Inv Id], [ORDER_CUSTOMERDETAIL]![ORDER_QTY]-[ORDER_CUSTOMERDETAIL]![TOT_SHPPED] AS [Rem Qty], ORDER_CUSTOMERDETAIL.ORDER_QTY, [ORDER_CUSTOMERDETAIL]![ORDER_QTY]*[ORDER_CUSTOMERDETAIL]![UNIT_PRICE] AS [Book Value], ([ORDER_CUSTOMERDETAIL]![ORDER_QTY]-[ORDER_CUSTOMERDETAIL]![TOT_SHPPED])*[ORDER_CUSTOMERDETAIL]![UNIT_PRICE] AS [Total Value], Left([BODY],18) AS Rep, CATALOG.R_CLASS, [ITEM_ITEMCOST]![RL_MAT_CST]+[ITEM_ITEMCOST]![RL_LAB_CST]+[ITEM_ITEMCOST]![RL_VR_OVHD]+[ITEM_ITEMCOST]![RL_FX_OVHD]+[ITEM_ITEMCOST]![RL_OUT_CST] AS [Unit Cost], ORDER_CUSTOMERDETAIL.LN_STA
Im not to sure how to turn that part into a MSSQL friendly query. Im not really sure what the original person was accomplishing by it. Any help is appreciated.It is the IIF Statements and the fields separated by a ! that I really dont get.
The Whole Query below:
SELECT DISTINCT ORDER_CUSTOMERDETAIL.CO_NUMBER, ORDER_CUSTOMERDETAIL.CO_LN_NO, ORDER_CUSTOMERHEADER.CUST_NAME, Year([ORDER_CUSTOMERDETAIL]![REQD_DATE]) AS Year, Month([ORDER_CUSTOMERDETAIL]![REQD_DATE]) AS Month, ORDER_CUSTOMERHEADER.CUST_PO_NO, ORDER_CUSTOMERDETAIL.UNIT_PRICE,
IIf(([ORDER_CUSTOMERDETAIL]![LN_STA]="9" Or [ORDER_CUSTOMERDETAIL]![LN_STA]<"4"),"H"," ") AS HOLD, [ORDER_CUSTOMERDETAIL]![SRC_TYPE] AS HoldStatus, [ORDER_CUSTOMERDETAIL]![RQST_SHIP] AS RQST_DLVRY, [ORDER_CUSTOMERDETAIL]![REQD_DATE] AS PROM_DLVRY,
IIf(IsNull([CATALOG]![CAT_ITEM]),[ORDER_CUSTOMERDETAIL]![ITEM],[CATALOG]![CAT_ITEM]) AS [Inv Id], [ORDER_CUSTOMERDETAIL]![ORDER_QTY]-[ORDER_CUSTOMERDETAIL]![TOT_SHPPED] AS [Rem Qty], ORDER_CUSTOMERDETAIL.ORDER_QTY, [ORDER_CUSTOMERDETAIL]![ORDER_QTY]*[ORDER_CUSTOMERDETAIL]![UNIT_PRICE] AS [Book Value], ([ORDER_CUSTOMERDETAIL]![ORDER_QTY]-[ORDER_CUSTOMERDETAIL]![TOT_SHPPED])*[ORDER_CUSTOMERDETAIL]![UNIT_PRICE] AS [Total Value], Left([BODY],18) AS Rep, CATALOG.R_CLASS, [ITEM_ITEMCOST]![RL_MAT_CST]+[ITEM_ITEMCOST]![RL_LAB_CST]+[ITEM_ITEMCOST]![RL_VR_OVHD]+[ITEM_ITEMCOST]![RL_FX_OVHD]+[ITEM_ITEMCOST]![RL_OUT_CST] AS [Unit Cost], ORDER_CUSTOMERDETAIL.LN_STA
FROM (((ORDER_CUSTOMERDETAIL LEFT JOIN ORDER_CUSTOMERHEADER ON ORDER_CUSTOMERDETAIL.CO_NUMBER = ORDER_CUSTOMERHEADER.CO_NUMBER) LEFT JOIN [COMMISSION CODE TABLE] ON ORDER_CUSTOMERDETAIL.COM_CODE = [COMMISSION CODE TABLE].ID) LEFT JOIN CATALOG ON ORDER_CUSTOMERDETAIL.ITEM = CATALOG.ITEM) LEFT JOIN ITEM_ITEMCOST ON ORDER_CUSTOMERDETAIL.ITEM = ITEM_ITEMCOST.ITEM
WHERE ((Not (ORDER_CUSTOMERHEADER.CUST_NAME) Is Null) AND ((ITEM_ITEMCOST.COST_TYPE)="0") AND ((ORDER_CUSTOMERDETAIL.ORDER_TYPE)="C") AND ((ITEM_ITEMCOST.ITEM_DESC) Not Like "DO NOT *"));
IIf(([ORDER_CUSTOMERDETAIL]![LN_STA]="9" Or [ORDER_CUSTOMERDETAIL]![LN_STA]<"4"),"H"," ") AS HOLD, [ORDER_CUSTOMERDETAIL]![SRC_TYPE] AS HoldStatus, [ORDER_CUSTOMERDETAIL]![RQST_SHIP] AS RQST_DLVRY, [ORDER_CUSTOMERDETAIL]![REQD_DATE] AS PROM_DLVRY,
IIf(IsNull([CATALOG]![CAT_ITEM]),[ORDER_CUSTOMERDETAIL]![ITEM],[CATALOG]![CAT_ITEM]) AS [Inv Id], [ORDER_CUSTOMERDETAIL]![ORDER_QTY]-[ORDER_CUSTOMERDETAIL]![TOT_SHPPED] AS [Rem Qty], ORDER_CUSTOMERDETAIL.ORDER_QTY, [ORDER_CUSTOMERDETAIL]![ORDER_QTY]*[ORDER_CUSTOMERDETAIL]![UNIT_PRICE] AS [Book Value], ([ORDER_CUSTOMERDETAIL]![ORDER_QTY]-[ORDER_CUSTOMERDETAIL]![TOT_SHPPED])*[ORDER_CUSTOMERDETAIL]![UNIT_PRICE] AS [Total Value], Left([BODY],18) AS Rep, CATALOG.R_CLASS, [ITEM_ITEMCOST]![RL_MAT_CST]+[ITEM_ITEMCOST]![RL_LAB_CST]+[ITEM_ITEMCOST]![RL_VR_OVHD]+[ITEM_ITEMCOST]![RL_FX_OVHD]+[ITEM_ITEMCOST]![RL_OUT_CST] AS [Unit Cost], ORDER_CUSTOMERDETAIL.LN_STA
Im not to sure how to turn that part into a MSSQL friendly query. Im not really sure what the original person was accomplishing by it. Any help is appreciated.It is the IIF Statements and the fields separated by a ! that I really dont get.
The Whole Query below:
SELECT DISTINCT ORDER_CUSTOMERDETAIL.CO_NUMBER, ORDER_CUSTOMERDETAIL.CO_LN_NO, ORDER_CUSTOMERHEADER.CUST_NAME, Year([ORDER_CUSTOMERDETAIL]![REQD_DATE]) AS Year, Month([ORDER_CUSTOMERDETAIL]![REQD_DATE]) AS Month, ORDER_CUSTOMERHEADER.CUST_PO_NO, ORDER_CUSTOMERDETAIL.UNIT_PRICE,
IIf(([ORDER_CUSTOMERDETAIL]![LN_STA]="9" Or [ORDER_CUSTOMERDETAIL]![LN_STA]<"4"),"H"," ") AS HOLD, [ORDER_CUSTOMERDETAIL]![SRC_TYPE] AS HoldStatus, [ORDER_CUSTOMERDETAIL]![RQST_SHIP] AS RQST_DLVRY, [ORDER_CUSTOMERDETAIL]![REQD_DATE] AS PROM_DLVRY,
IIf(IsNull([CATALOG]![CAT_ITEM]),[ORDER_CUSTOMERDETAIL]![ITEM],[CATALOG]![CAT_ITEM]) AS [Inv Id], [ORDER_CUSTOMERDETAIL]![ORDER_QTY]-[ORDER_CUSTOMERDETAIL]![TOT_SHPPED] AS [Rem Qty], ORDER_CUSTOMERDETAIL.ORDER_QTY, [ORDER_CUSTOMERDETAIL]![ORDER_QTY]*[ORDER_CUSTOMERDETAIL]![UNIT_PRICE] AS [Book Value], ([ORDER_CUSTOMERDETAIL]![ORDER_QTY]-[ORDER_CUSTOMERDETAIL]![TOT_SHPPED])*[ORDER_CUSTOMERDETAIL]![UNIT_PRICE] AS [Total Value], Left([BODY],18) AS Rep, CATALOG.R_CLASS, [ITEM_ITEMCOST]![RL_MAT_CST]+[ITEM_ITEMCOST]![RL_LAB_CST]+[ITEM_ITEMCOST]![RL_VR_OVHD]+[ITEM_ITEMCOST]![RL_FX_OVHD]+[ITEM_ITEMCOST]![RL_OUT_CST] AS [Unit Cost], ORDER_CUSTOMERDETAIL.LN_STA
FROM (((ORDER_CUSTOMERDETAIL LEFT JOIN ORDER_CUSTOMERHEADER ON ORDER_CUSTOMERDETAIL.CO_NUMBER = ORDER_CUSTOMERHEADER.CO_NUMBER) LEFT JOIN [COMMISSION CODE TABLE] ON ORDER_CUSTOMERDETAIL.COM_CODE = [COMMISSION CODE TABLE].ID) LEFT JOIN CATALOG ON ORDER_CUSTOMERDETAIL.ITEM = CATALOG.ITEM) LEFT JOIN ITEM_ITEMCOST ON ORDER_CUSTOMERDETAIL.ITEM = ITEM_ITEMCOST.ITEM
WHERE ((Not (ORDER_CUSTOMERHEADER.CUST_NAME) Is Null) AND ((ITEM_ITEMCOST.COST_TYPE)="0") AND ((ORDER_CUSTOMERDETAIL.ORDER_TYPE)="C") AND ((ITEM_ITEMCOST.ITEM_DESC) Not Like "DO NOT *"));