【问题标题】:Access Crosstab Data type mismatch in criteria expression条件表达式中的访问交叉表数据类型不匹配
【发布时间】:2016-01-18 06:29:42
【问题描述】:

选择查询完美运行(访问 2013)。一旦我将它更改为交叉表,它就会给我错误“标准表达式中的数据类型不匹配”。我在交叉表值中使用 vba 函数作为表达式。我的表中没有空值,并尝试使用变体作为我的数据类型。

VBA

enter code here
'assumes that the rate is monthly
Public Function payFrequency(frequency As String, rate As Currency) As Currency
If frequency = "BI-WEEKLY" Then
    payFrequency = rate * 12 / 26
    Exit Function
ElseIf frequency = "SEMI-MONTHLY" Then
    payFrequency = rate * 12 / 24
    Exit Function
ElseIf frequency = "MONTHLY" Then
    payFrequency = rate
    Exit Function
Else
    payFrequency = 0
    Exit Function
End If
End Function

和 SQL

TRANSFORM 
  payfrequency([structurepayrollFrequency],
  Max([2015_PREMIUM]-[2015_EMPLOYER_CONTR])) AS 2015_EMPLOYEE_CONTR

【问题讨论】:

  • 我想知道如果您在查询中构建此函数而不是 VBA,会发生什么情况。无论如何,这将是我的首选解决方案;来自查询的 VBA 调用通常效率不高,而且更难排除故障。
  • 成功了!谢谢斯曼多利。

标签: ms-access vba ms-access-2013 crosstab


【解决方案1】:

我建议您在查询中构建此函数,而不是 VBA。无论如何,这将是我的首选解决方案;来自查询的 VBA 调用通常效率不高,而且更难排除故障。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-07
    • 2017-01-14
    • 1970-01-01
    • 2013-10-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多