powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как отформатировать запрос в VBA?
7 сообщений из 32, страница 2 из 2
Как отформатировать запрос в VBA?
    #39274566
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MrShin,

Ай, простите, там ведь прямо противоположное...
Не "не слушайте", а не слушаете".
Видимо, капли приберегу для себя, пригодятся.)))
...
Рейтинг: 0 / 0
Как отформатировать запрос в VBA?
    #39274574
MrShin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
__Michelle,

Уфф, я уже испугался, что описАлся :) Никогда не призывал кого-то не слушать
...
Рейтинг: 0 / 0
Как отформатировать запрос в VBA?
    #39274588
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-SWAN-,
намного более удобный и практичный код с выборкой по любому сочетанию параметров
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
Dim s, s1, s2
Set RS = New ADODB.Recordset
RS.ActiveConnection = CurrentProject.Connection

s1 = "SELECT Наряды.* FROM Наряды "
s = ""
If Len(Me.fi_isp & "") > 0 Then

s = s & " and Наряды!Исполнитель = '" & Me.fi_isp & "'"
End If

If Len(Me.fi_SN & "") > 0 Then
s = s & " and Наряды![SN устройства] = '" & Me.fi_SN & "'"
End If

If Len(Me.fi_ID & "") > 0 Then
s = s & " and Наряды![ID устройства] = '" & Me.fi_ID & "'"
End If

If Len(Me.fi_date1 & "") > 0 Then
s = s & " and Наряды.Дата >= #" & Format(Me.fi_date1, "dd\/mm\/yyyy") & "# "
End If

If Len(Me.fi_date2 & "") > 0 Then
s = s & " and Наряды.Дата <= #" & Format(Me.fi_date2, "dd\/mm\/yyyy") & "# "
End If
If Len(s) > 0 Then
s2 = s1 & " where " & Mid(s, 5)
Else
s2 = s1
End If

RS.Source = s2
...
Рейтинг: 0 / 0
Как отформатировать запрос в VBA?
    #39274612
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-SWAN-__Michelle-SWAN-,

А что такое здесь Source? К какому объекту Вы это применяете?

на какие вопросы я не ответил?
У меня теперь запрос выглядит так (поля дата1 и дата2 теперь обязательно имеют какое-нибудь значение отличное от пустого и НУЛЛ)
Код: sql
1.
2.
3.
4.
Set RS = New ADODB.Recordset
RS.ActiveConnection = CurrentProject.Connection

RS.Source = ....

Просто Вы где-то раньше писали, что это источник данных подчиненной формы...

А вопрос, который меня действительно интересует, был такой:
"Кто учит писать такие конструкции в WHERE?".
IIf(.....)=True
Дело в том, что именно такое впервые увидела позавчера у одной из спрашивающих участниц.
И вот снова такое. Уже система. Значит, где-то именно такому учат.
Интересно, откуда это взялось.
...
Рейтинг: 0 / 0
Как отформатировать запрос в VBA?
    #39274657
-SWAN-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__Michelle,
Вообще у меня задача стояла следующая:
Форма с подчиненной формочкой + 5 полей-фильтров
После выбора необходимых данных надо было отправить в Outlook письма по каждой строке выборки - т.е одна строка - одно письмо.
Может и можно было бы решить эту задачку по-другому.

ПС: Где меня научили составлять такие запросы - вопрос сложный, уже не помню, но первый раз такое у меня появилось году в 2006, наверно где-то здесь на форуме увидел, Access'у учился сам по книгам и сайтам, ну и этот форум конечно.
И вот теперь я снова столкнулся с программированием в access, вот и брал из старых своих прог.
...
Рейтинг: 0 / 0
Как отформатировать запрос в VBA?
    #39274669
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-SWAN-,

Да я не про составление запросов. Неужели Вы до сих пор не видите,
насколько избыточная, ненужная и просто неверная конструкция в Where?
...
Рейтинг: 0 / 0
Как отформатировать запрос в VBA?
    #39276156
-SWAN-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ПЕНСИОНЕРКА-SWAN-,
намного более удобный и практичный код с выборкой по любому сочетанию параметров
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
Dim s, s1, s2
Set RS = New ADODB.Recordset
RS.ActiveConnection = CurrentProject.Connection

s1 = "SELECT Наряды.* FROM Наряды "
s = ""
If Len(Me.fi_isp & "") > 0 Then

s = s & " and Наряды!Исполнитель = '" & Me.fi_isp & "'"
End If

If Len(Me.fi_SN & "") > 0 Then
s = s & " and Наряды![SN устройства] = '" & Me.fi_SN & "'"
End If

If Len(Me.fi_ID & "") > 0 Then
s = s & " and Наряды![ID устройства] = '" & Me.fi_ID & "'"
End If

If Len(Me.fi_date1 & "") > 0 Then
s = s & " and Наряды.Дата >= #" & Format(Me.fi_date1, "dd\/mm\/yyyy") & "# "
End If

If Len(Me.fi_date2 & "") > 0 Then
s = s & " and Наряды.Дата <= #" & Format(Me.fi_date2, "dd\/mm\/yyyy") & "# "
End If
If Len(s) > 0 Then
s2 = s1 & " where " & Mid(s, 5)
Else
s2 = s1
End If

RS.Source = s2



Спасибо большое, обязательно приму на вооружение такой вариант!
...
Рейтинг: 0 / 0
7 сообщений из 32, страница 2 из 2
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как отформатировать запрос в VBA?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]