Доступ к кросс-таблице Несоответствие типов данных в выражении критериев

Запрос выбора работает отлично (доступ 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

1 ответ

Решение

Вместо VBA я предлагаю вам встроить эту функцию в запрос. Это было бы моим предпочтительным решением в любом случае; Вызовы VBA из запроса часто неэффективны, и их может быть сложнее устранить.

Другие вопросы по тегам