If you should try to run a portion of the code, the Date is in the form
ddMMMyyyy.
The code give the correct answers until expression 26 is added, so I'm
not quite sure what I did not give, expression 26 is complete, but the
query
is:
SELECT DISTINCT CONSUMP_MDDTL.BUS_UNIT, CONSUMP_MDDTL.ROADMAP_BUS_UNIT,
CONSUMP_MDDTL.APP_NAME,
CONSUMP_MDDTL.HOST_ID,
CONSUMP_MDDTL.REGIONAL_NAME,
CONSUMP_MDDTL.BR_NUMBER,
CONSUMP_MDDTL.ARC,
CONSUMP_MDDTL.CNTRCT_CD,
CONSUMP_MDDTL.USAGE_DT,
Str$([CONSUMP_MDDTL]![TOTAL_SU])+" -
"+Str$([CONSUMP_MDDTL_HIST]![TOTAL_SU])
AS Expr12,
[CONSUMP_MDDTL]![TOTAL_SU]-[CONSUMP_MDDTL_HIST]![TOTAL_SU]
AS Expr25,
IIf([CONSUMP_MDDTL]![FBGIG]<>[CONSUMP_MDDTL_HIST]![FBGIG],([CONSUMP_MDDTL]![FBGIG])-([CONSUMP_MDDTL_HIST]![FBGIG]),Null)
AS Expr1,
IIf([CONSUMP_MDDTL]![STORGIG]<>[CONSUMP_MDDTL_HIST]![STORGIG],([CONSUMP_MDDTL]![STORGIG])-([CONSUMP_MDDTL_HIST]![STORGIG]),Null)
AS Expr2,
IIf([CONSUMP_MDDTL]![SOFTWARE_CURRENCY]<>[CONSUMP_MDDTL_HIST]![SOFTWARE_CURRENCY],LCase$([CONSUMP_MDDTL]![SOFTWARE_CURRENCY])+Space$(2)+LCase$([CONSUMP_MDDTL_HIST]![SOFTWARE_CURRENCY]),Null)
AS Expr3,
IIf([CONSUMP_MDDTL]![STORAGE_MGMT]<>[CONSUMP_MDDTL_HIST]![STORAGE_MGMT],LCase$([CONSUMP_MDDTL]![STORAGE_MGMT])+Space$(1)+LCase$([CONSUMP_MDDTL_HIST]![STORAGE_MGMT]),Null)
AS Expr4,
IIf([CONSUMP_MDDTL]![FBMGMT]<>[CONSUMP_MDDTL_HIST]![FBMGMT],LCase$([CONSUMP_MDDTL]![FBMGMT])+Space$(1)+LCase$([CONSUMP_MDDTL_HIST]![FBMGMT]),Null)
AS Expr5,
IIf([CONSUMP_MDDTL]![DATABASE_ENGINEERING]<>[CONSUMP_MDDTL_HIST]![DATABASE_ENGINEERING],([CONSUMP_MDDTL]![DATABASE_ENGINEERING])-([CONSUMP_MDDTL_HIST]![DATABASE_ENGINEERING]),Null)
AS Expr6,
IIf([CONSUMP_MDDTL]![MWARE_TYPE1]<>[CONSUMP_MDDTL_HIST]![MWARE_TYPE1],([CONSUMP_MDDTL]![MWARE_TYPE1])-([CONSUMP_MDDTL_HIST]![MWARE_TYPE1]),Null)
AS Expr7,
IIf([CONSUMP_MDDTL]![MWARE_NBR_INSTNCS_TYPE1]<>[CONSUMP_MDDTL_HIST]![MWARE_NBR_INSTNCS_TYPE1],([CONSUMP_MDDTL]![MWARE_NBR_INSTNCS_TYPE1])-([CONSUMP_MDDTL_HIST]![MWARE_NBR_INSTNCS_TYPE1]),Null)
AS Expr8,
IIf([CONSUMP_MDDTL]![MWARE_NBR_INSTNCS_TYPE2]<>[CONSUMP_MDDTL_HIST]![MWARE_NBR_INSTNCS_TYPE2],([CONSUMP_MDDTL]![MWARE_NBR_INSTNCS_TYPE2])-([CONSUMP_MDDTL_HIST]![MWARE_NBR_INSTNCS_TYPE2]),Null)
AS Expr9,
IIf([CONSUMP_MDDTL]![MWARE_TYPE1]<>[CONSUMP_MDDTL_HIST]![MWARE_TYPE1],([CONSUMP_MDDTL]![MWARE_TYPE1])-([CONSUMP_MDDTL_HIST]![MWARE_TYPE1]),Null)
AS Expr10,
IIf([CONSUMP_MDDTL]![MWARE_TYPE2]<>[CONSUMP_MDDTL_HIST]![MWARE_TYPE2],([CONSUMP_MDDTL]![MWARE_TYPE2])-([CONSUMP_MDDTL_HIST]![MWARE_TYPE2]),Null)
AS Expr11,
IIf([CONSUMP_MDDTL]![BATCH_MGMT]<>[CONSUMP_MDDTL_HIST]![BATCH_MGMT],([CONSUMP_MDDTL]![BATCH_MGMT])-([CONSUMP_MDDTL_HIST]![BATCH_MGMT]),Null)
AS Expr13,
IIf([CONSUMP_MDDTL]![CAPACITY_PLANNING]<>[CONSUMP_MDDTL_HIST]![CAPACITY_PLANNING],LCase$([CONSUMP_MDDTL]![CAPACITY_PLANNING])+Space$(1)+LCase$([CONSUMP_MDDTL_HIST]![CAPACITY_PLANNING]),Null)
AS Expr14,
IIf([CONSUMP_MDDTL]![STRATEGIC_LEVERAGE]<>[CONSUMP_MDDTL_HIST]![STRATEGIC_LEVERAGE],LCase$([CONSUMP_MDDTL]![STRATEGIC_LEVERAGE])+Space$(1)+LCase$([CONSUMP_MDDTL_HIST]![STRATEGIC_LEVERAGE]),Null)
AS Expr15,
IIf([CONSUMP_MDDTL]![SUPPORT_LEVEL]<>[CONSUMP_MDDTL_HIST]![SUPPORT_LEVEL],LCase$([CONSUMP_MDDTL]![SUPPORT_LEVEL])+Space$(2)+LCase$([CONSUMP_MDDTL_HIST]![SUPPORT_LEVEL]),Null)
AS Expr16,
IIf([CONSUMP_MDDTL]![DATABASE_ENGINEERING]<>[CONSUMP_MDDTL_HIST]![DATABASE_ENGINEERING],([CONSUMP_MDDTL]![DATABASE_ENGINEERING])-([CONSUMP_MDDTL_HIST]![DATABASE_ENGINEERING]),Null)
AS Expr17,
IIf([CONSUMP_MDDTL]![DATABASE_ADMINISTRATION]<>[CONSUMP_MDDTL_HIST]![DATABASE_ADMINISTRATION],([CONSUMP_MDDTL]![DATABASE_ADMINISTRATION])-([CONSUMP_MDDTL_HIST]![DATABASE_ADMINISTRATION]),Null)
AS Expr18,
IIf([CONSUMP_MDDTL]![DATABASE_MANAGEMENT]<>[CONSUMP_MDDTL_HIST]![DATABASE_MANAGEMENT],([CONSUMP_MDDTL]![DATABASE_MANAGEMENT])-([CONSUMP_MDDTL_HIST]![DATABASE_MANAGEMENT]),Null)
AS Expr19,
IIf([CONSUMP_MDDTL]![DB_SCHEMAS]<>[CONSUMP_MDDTL_HIST]![DB_SCHEMAS],([CONSUMP_MDDTL]![DB_SCHEMAS])-([CONSUMP_MDDTL_HIST]![DB_SCHEMAS]),Null)
AS Expr20,
IIf([CONSUMP_MDDTL]![DB_GIG]<>[CONSUMP_MDDTL_HIST]![DB_GIG],([CONSUMP_MDDTL]![DB_GIG])-([CONSUMP_MDDTL_HIST]![DB_GIG]),Null)
AS Expr21,
IIf([CONSUMP_MDDTL]![DB_OBJECTS]<>[CONSUMP_MDDTL_HIST]![DB_OBJECTS],([CONSUMP_MDDTL]![DB_OBJECTS])-([CONSUMP_MDDTL_HIST]![DB_OBJECTS]),Null)
AS Expr22,
IIf([CONSUMP_MDDTL]![OS_PLATFORM_TYPE]<>[CONSUMP_MDDTL_HIST]![OS_PLATFORM_TYPE],LCase$([CONSUMP_MDDTL]![OS_PLATFORM_TYPE])+Space$(2)+LCase$([CONSUMP_MDDTL_HIST]![OS_PLATFORM_TYPE]),Null)
AS Expr23,
IIf([CONSUMP_MDDTL]![MWARE_SUPPORT_TYPE1]<>[CONSUMP_MDDTL_HIST]![MWARE_SUPPORT_TYPE1],LCase$([CONSUMP_MDDTL]![MWARE_SUPPORT_TYPE1])+Space$(2)+LCase$([CONSUMP_MDDTL_HIST]![MWARE_SUPPORT_TYPE1]),Null)
AS Expr24,
Switch([CONSUMP_MDDTL_HIST]![OS_PLATFORM_TYPE]=[Service Unit Conversion
table]![SERVICE LEVEL],[Service Unit Conversion table]![SERVICE UNITS]) AS
Expr26,
CONSUMP_MDDTL.OS_PLATFORM_TYPE
FROM
[Service Unit Conversion table],
CONSUMP_MDDTL INNER JOIN CONSUMP_MDDTL_HIST ON CONSUMP_MDDTL.HOST_ID =
CONSUMP_MDDTL_HIST.HOST_ID
WHERE
(((CONSUMP_MDDTL.CNTRCT_CD)="AFF")
AND
((CONSUMP_MDDTL.USAGE_DT)=(CDate("01-"+Mid(DateAdd("m",-1,Now()),4,8))))
AND ((CONSUMP_MDDTL.BILLABLE)="Y")
AND (([CONSUMP_MDDTL]![TOTAL_SU])<>[CONSUMP_MDDTL_HIST]![TOTAL_SU])
AND
((CONSUMP_MDDTL_HIST.USAGE_DT)=(CDate("01-"+Mid(DateAdd("m",-2,Now()),4,8)))))
OR (((CONSUMP_MDDTL.CNTRCT_CD)="AFF")
AND
((CONSUMP_MDDTL.USAGE_DT)=(CDate("01-"+Mid(DateAdd("m",-1,Now()),4,8))))
AND ((CONSUMP_MDDTL.BILLABLE)="Y")
AND
((CONSUMP_MDDTL_HIST.USAGE_DT)=(CDate("01-"+Mid(DateAdd("m",-2,Now()),4,8))))
AND (([CONSUMP_MDDTL]![FBGIG])<>[CONSUMP_MDDTL_HIST]![FBGIG]))
OR (((CONSUMP_MDDTL.CNTRCT_CD)="AFF")
AND
((CONSUMP_MDDTL.USAGE_DT)=(CDate("01-"+Mid(DateAdd("m",-1,Now()),4,8))))
AND ((CONSUMP_MDDTL.BILLABLE)="Y")
AND
((CONSUMP_MDDTL_HIST.USAGE_DT)=(CDate("01-"+Mid(DateAdd("m",-2,Now()),4,8))))
AND ((CONSUMP_MDDTL.STORGIG)<>[CONSUMP_MDDTL_HIST]![STORGIG]))
OR (((CONSUMP_MDDTL.CNTRCT_CD)="AFF")
AND
((CONSUMP_MDDTL.USAGE_DT)=(CDate("01-"+Mid(DateAdd("m",-1,Now()),4,8))))
AND ((CONSUMP_MDDTL.BILLABLE)="Y")
AND
((CONSUMP_MDDTL_HIST.USAGE_DT)=(CDate("01-"+Mid(DateAdd("m",-2,Now()),4,8))))
AND
((CONSUMP_MDDTL.SOFTWARE_CURRENCY)<>[CONSUMP_MDDTL_HIST]![SOFTWARE_CURRENCY]))
OR (((CONSUMP_MDDTL.CNTRCT_CD)="AFF")
AND
((CONSUMP_MDDTL.USAGE_DT)=(CDate("01-"+Mid(DateAdd("m",-1,Now()),4,8))))
AND ((CONSUMP_MDDTL.BILLABLE)="Y")
AND
((CONSUMP_MDDTL_HIST.USAGE_DT)=(CDate("01-"+Mid(DateAdd("m",-2,Now()),4,8))))
AND ((CONSUMP_MDDTL.STORAGE_MGMT)<>[CONSUMP_MDDTL_HIST]![STORAGE_MGMT]))
OR (((CONSUMP_MDDTL.CNTRCT_CD)="AFF")
AND
((CONSUMP_MDDTL.USAGE_DT)=(CDate("01-"+Mid(DateAdd("m",-1,Now()),4,8))))
AND ((CONSUMP_MDDTL.BILLABLE)="Y")
AND
((CONSUMP_MDDTL_HIST.USAGE_DT)=(CDate("01-"+Mid(DateAdd("m",-2,Now()),4,8))))
AND ((CONSUMP_MDDTL.FBMGMT)<>[CONSUMP_MDDTL_HIST]![FBMGMT]))
OR (((CONSUMP_MDDTL.CNTRCT_CD)="AFF")
AND
((CONSUMP_MDDTL.USAGE_DT)=(CDate("01-"+Mid(DateAdd("m",-1,Now()),4,8))))
AND ((CONSUMP_MDDTL.BILLABLE)="Y")
AND
((CONSUMP_MDDTL_HIST.USAGE_DT)=(CDate("01-"+Mid(DateAdd("m",-2,Now()),4,8))))
AND ((CONSUMP_MDDTL.MWARE_TYPE1)<>[CONSUMP_MDDTL_HIST]![MWARE_TYPE1]))
OR (((CONSUMP_MDDTL.CNTRCT_CD)="AFF")
AND
((CONSUMP_MDDTL.USAGE_DT)=(CDate("01-"+Mid(DateAdd("m",-1,Now()),4,8))))
AND ((CONSUMP_MDDTL.BILLABLE)="Y")
AND
((CONSUMP_MDDTL_HIST.USAGE_DT)=(CDate("01-"+Mid(DateAdd("m",-2,Now()),4,8))))
AND ((CONSUMP_MDDTL.BATCH_MGMT)<>[CONSUMP_MDDTL_HIST]![BATCH_MGMT]))
OR (((CONSUMP_MDDTL.CNTRCT_CD)="AFF")
AND
((CONSUMP_MDDTL.USAGE_DT)=(CDate("01-"+Mid(DateAdd("m",-1,Now()),4,8))))
AND ((CONSUMP_MDDTL.BILLABLE)="Y")
AND
((CONSUMP_MDDTL_HIST.USAGE_DT)=(CDate("01-"+Mid(DateAdd("m",-2,Now()),4,8))))
AND
((CONSUMP_MDDTL_HIST.CAPACITY_PLANNING)<>[CONSUMP_MDDTL_HIST]![CAPACITY_PLANNING]))
OR (((CONSUMP_MDDTL.CNTRCT_CD)="AFF")
AND
((CONSUMP_MDDTL.USAGE_DT)=(CDate("01-"+Mid(DateAdd("m",-1,Now()),4,8))))
AND ((CONSUMP_MDDTL.BILLABLE)="Y")
AND
((CONSUMP_MDDTL_HIST.USAGE_DT)=(CDate("01-"+Mid(DateAdd("m",-2,Now()),4,8))))
AND
((CONSUMP_MDDTL.STRATEGIC_LEVERAGE)<>[CONSUMP_MDDTL_HIST]![STRATEGIC_LEVERAGE]))
OR (((CONSUMP_MDDTL.CNTRCT_CD)="AFF")
AND
((CONSUMP_MDDTL.USAGE_DT)=(CDate("01-"+Mid(DateAdd("m",-1,Now()),4,8))))
AND ((CONSUMP_MDDTL.BILLABLE)="Y")
AND
((CONSUMP_MDDTL_HIST.USAGE_DT)=(CDate("01-"+Mid(DateAdd("m",-2,Now()),4,8))))
AND ((CONSUMP_MDDTL.SUPPORT_LEVEL)<>[CONSUMP_MDDTL_HIST]![SUPPORT_LEVEL]))
OR (((CONSUMP_MDDTL.CNTRCT_CD)="AFF")
AND
((CONSUMP_MDDTL.USAGE_DT)=(CDate("01-"+Mid(DateAdd("m",-1,Now()),4,8))))
AND ((CONSUMP_MDDTL.BILLABLE)="Y")
AND
((CONSUMP_MDDTL_HIST.USAGE_DT)=(CDate("01-"+Mid(DateAdd("m",-2,Now()),4,8))))
AND
((CONSUMP_MDDTL.DATABASE_ENGINEERING)<>[CONSUMP_MDDTL_HIST]![DATABASE_ENGINEERING]))
OR (((CONSUMP_MDDTL.CNTRCT_CD)="AFF")
AND
((CONSUMP_MDDTL.USAGE_DT)=(CDate("01-"+Mid(DateAdd("m",-1,Now()),4,8))))
AND ((CONSUMP_MDDTL.BILLABLE)="Y")
AND
((CONSUMP_MDDTL_HIST.USAGE_DT)=(CDate("01-"+Mid(DateAdd("m",-2,Now()),4,8))))
AND
((CONSUMP_MDDTL.DATABASE_ADMINISTRATION)<>[CONSUMP_MDDTL_HIST]![DATABASE_ADMINISTRATION]))
OR (((CONSUMP_MDDTL.CNTRCT_CD)="AFF")
AND
((CONSUMP_MDDTL.USAGE_DT)=(CDate("01-"+Mid(DateAdd("m",-1,Now()),4,8))))
AND ((CONSUMP_MDDTL.BILLABLE)="Y")
AND
((CONSUMP_MDDTL_HIST.USAGE_DT)=(CDate("01-"+Mid(DateAdd("m",-2,Now()),4,8))))
AND
((CONSUMP_MDDTL.DATABASE_MANAGEMENT)<>[CONSUMP_MDDTL_HIST]![DATABASE_MANAGEMENT]))
OR (((CONSUMP_MDDTL.CNTRCT_CD)="AFF")
AND
((CONSUMP_MDDTL.USAGE_DT)=(CDate("01-"+Mid(DateAdd("m",-1,Now()),4,8))))
AND ((CONSUMP_MDDTL.BILLABLE)="Y")
AND
((CONSUMP_MDDTL_HIST.USAGE_DT)=(CDate("01-"+Mid(DateAdd("m",-2,Now()),4,8))))
AND ((CONSUMP_MDDTL.DB_SCHEMAS)<>[CONSUMP_MDDTL_HIST]![DB_SCHEMAS])) OR
(((CONSUMP_MDDTL.CNTRCT_CD)="AFF")
AND
((CONSUMP_MDDTL.USAGE_DT)=(CDate("01-"+Mid(DateAdd("m",-1,Now()),4,8))))
AND ((CONSUMP_MDDTL.BILLABLE)="Y")
AND
((CONSUMP_MDDTL_HIST.USAGE_DT)=(CDate("01-"+Mid(DateAdd("m",-2,Now()),4,8))))
AND ((CONSUMP_MDDTL.DB_GIG)<>[CONSUMP_MDDTL_HIST]![DB_GIG]))
OR (((CONSUMP_MDDTL.CNTRCT_CD)="AFF")
AND
((CONSUMP_MDDTL.USAGE_DT)=(CDate("01-"+Mid(DateAdd("m",-1,Now()),4,8))))
AND ((CONSUMP_MDDTL.BILLABLE)="Y")
AND
((CONSUMP_MDDTL_HIST.USAGE_DT)=(CDate("01-"+Mid(DateAdd("m",-2,Now()),4,8))))
AND ((CONSUMP_MDDTL.DB_OBJECTS)<>[CONSUMP_MDDTL_HIST]![DB_OBJECTS]))
OR (((CONSUMP_MDDTL.CNTRCT_CD)="AFF")
AND
((CONSUMP_MDDTL.USAGE_DT)=(CDate("01-"+Mid(DateAdd("m",-1,Now()),4,8))))
AND
((CONSUMP_MDDTL.OS_PLATFORM_TYPE)<>[CONSUMP_MDDTL_HIST]![OS_PLATFORM_TYPE])
AND ((CONSUMP_MDDTL.BILLABLE)="Y")
AND
((CONSUMP_MDDTL_HIST.USAGE_DT)=(CDate("01-"+Mid(DateAdd("m",-2,Now()),4,8)))))
OR (((CONSUMP_MDDTL.CNTRCT_CD)="AFF")
AND
((CONSUMP_MDDTL.USAGE_DT)=(CDate("01-"+Mid(DateAdd("m",-1,Now()),4,8))))
AND ((CONSUMP_MDDTL.BILLABLE)="Y")
AND
((CONSUMP_MDDTL_HIST.USAGE_DT)=(CDate("01-"+Mid(DateAdd("m",-2,Now()),4,8))))
AND
((CONSUMP_MDDTL.MWARE_SUPPORT_TYPE1)<>[CONSUMP_MDDTL_HIST]![MWARE_SUPPORT_TYPE1]));
Ken Snell said:
What is the full SQL statement of the query that you're using? An IIf
statement by itself will not create two records in a query.
--
Ken Snell
<MS ACCESS MVP>
rhoisy said:
If I use this line:
Expr26: IIF([CONSUMP_MDDTL_HIST]![OS_PLATFORM_TYPE]=[Service Unit
Conversion
table]![SERVICE LEVEL],[Service Unit Conversion table]![SERVICE UNITS])
I get two duplicate line in my out put. One with this expression with
the
correct data (the data I expect) then I also get an exact duplicate
line
with
this expression and a null in this column.
That made sense to me as the if clause goes: IIF( expression, true,
false)
and the false may appear as a Null in the data.
SO i converted to a Switch statment:
Expr26: Switch([CONSUMP_MDDTL_HIST]![OS_PLATFORM_TYPE]=[Service Unit
Conversion table]![SERVICE LEVEL],[Service Unit Conversion
table]![SERVICE
UNITS])
I got the same results and that does not make sense to me as the
expression
is:
Switch( expression, expression)
Can anyone explain what i am mission or at least a way to do this so I
get
an answer only when the expression is satisfied?
I requested this same thing last week and now I can't find the question
let
alone the answers, so I home this one stays.