在Access中,我有几个不同的表达式(因为代码太长而无法放入一个表达式字段)。以下是表达式的示例:
ConsultativeSellingScore:(IIf(Eval([CallControl] In (10,5,0)),10,0)+ IIf(Eval([QualifiedCallerEligibility] In (10,5,0)),10,0)+ IIf(Eval([NextSteps] In (8,4,0)),8,0)+ IIf(Eval([NeedsAssessment] In (14,7,0)),14,0)+ IIf(Eval([PlanRecommendation] In (14,7,0)),14,0)+ IIf(Eval([AskedForSale] In (18,9,0)),18,0)+ IIf(Eval([OvercameObjections] In(10,5,0)),10,0))
我曾尝试阅读有关Access的数据类型不匹配错误的文章,但无法弄清楚我做错了什么。在表中,该字段是数字,我将表达式的字段标准作为一般数字。正如您在代码中看到的那样,我也从数字周围删除了引用,因此它不应该将表达式视为文本。如果有人知道问题是什么,我非常感谢你的帮助。
IIF(ISNULL([UtilizedScript]),0,6)+ IIF(ISNULL([GatheredInfo]),0,14)+ IIF(ISNULL([保持]),0,6)+ IIF(ISNULL([ CallDisposition]),0,10)+ IIF(ISNULL([BuiltRapport]),0,10)+ IIF(ISNULL([EffectiveCommunication]),0,6)+ IIF(ISNULL([PhoneEtiquette]),0,10) + IIF(ISNULL([所有权]),0,8)+ IIF(ISNULL([UsedResources]),0,8)+ IIF(ISNULL([ProfessionalConduct]),0,20)+ IIF(ISNULL([AccurateInformation] ),0,18)+ IIF(ISNULL([呼叫控制]),0,10)+ IIF(ISNULL([QualifiedCallerEligibility]),0,10)+ IIF(ISNULL([NextSteps]),0,8)+ I如果(ISNULL([NeedsAssessment]),0,14)+ IIF(ISNULL([PlanRecommendation]),0,14)+ IIF(ISNULL([AskedForSale]),0,18)+ IIF(ISNULL([OvercameObjections]), 0,10)
解决了我的问题 - 利用了这个和问题的另一半,然后做了一个单独的查询来计算百分比。