Выбор запроса работает отлично (доступ к 2013 году). Как только я меняю его на кросс-таблицу, это дает мне ошибку «несоответствие типов данных в выражении критериев». Я использую функцию vba в значении кросс-таблицы как выражение. У меня нет нулевых значений в моей таблице, и я попытался использовать вариант в качестве моего типа данных.Доступ к Crosstab Несоответствие типа данных в выражении критериев
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 из запроса часто неэффективны, и сложнее справиться с проблемой. – Smandoli
Это сработало! Спасибо, Скандоли. – zachary