| |
|
|
| | У меня есть функция расчёта текущего квартала 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 | |
| |
| |
|
|