|
|
|
| У меня есть функция расчёта текущего квартала Public Function kvartal() As Variant
Как мне её использовать в статическом запросе? Так не получаеться =kvartal([Forms]![Форма1]![Поле29]). [Forms]![Форма1]![Поле29] это поле с датой. Заранее благодарен. | |
|
| |
|
|
|
| а форма открыта?
а зачем ее в запрос если в ней данные из запроса не используются?
Покажите весь текст запроса | |
|
| |
|
|
|
| форма открыта.
SELECT TAB.KV, TAB.*
FROM TAB
WHERE (((TAB.KV)=kvartal([Forms]![Форма1]![Поле29]))); | |
|
| |
|
|
|
|
| Неверное число аргументов функции в выражении запроса | |
|
| |
|
|
|
| Судя, по тому какое объявление функции Вы привели, то функция вообще не принимает аргументов. Отсюда и сообщение ;-) | |
|
| |
|
|
|
| У вас функция определена так
Public Function kvartal() As Variant
|
А используете ее так
SELECT TAB.KV, TAB.*
FROM TAB
WHERE (((TAB.KV)=kvartal([Forms]![Форма1]![Поле29])));
|
У вас же ф-ция без входных параметров, а вы пытаетесь ей передать параметры. Потому и ругается | |
|
| |
|
|
|
| Как мне исправить функцию?
Public Function kvartal() As Variant
Dim TheDate As Date
TheDate = now()
Dim MSG
Dim Y, Y1, Q, q1 As Integer
Y = Year(TheDate)
Q = DatePart("q", TheDate)
If Q > 1 Then
q1 = Q - 1
Y1 = Y
Else
q1 = 4
Y1 = Y - 1
End If
kvartal = q1 | |
|
| |
|
|
|
| Public Function kvartal(Dat As Date) As Variant
kvartal = DatePart("q", Dat)
End Function | |
|
| |
|