powered by simpleCommunicator - 2.0.41     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Поиск сразу по нескольким значениям в ListBox
4 сообщений из 29, страница 2 из 2
Поиск сразу по нескольким значениям в ListBox
    #38994031
MrDrJOKER
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__Michelle,

Код: vbnet
1.
2.
3.
For Each i In Me.Ausw_Datum.ItemsSelected
        strLabel = strLabel & "," & Format(Me.Ausw_Datum.ItemData(i), "\#mm\/dd\/yyyy\#")
Next i



Код: vbnet
1.
#01/19/2015#,#04/14/2015#,#06/25/2015#



я тут немного с ф-циями запутался. написал ф-цию в одном из общих модулей.
а как из общего модуля обратится к полю в какой-то форме?
...
Рейтинг: 0 / 0
Поиск сразу по нескольким значениям в ListBox
    #38994047
MrDrJOKER
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
написал ф-цию:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Public Function getDate() As String
    Dim strLabel As String, i As Variant
    strLabel = ""
    For Each i In Form_Ver!Ausw_Datum.ItemsSelected
        strLabel = strLabel & "," & Format(Form_Ver!Ausw_Datum.ItemData(i), "\#mm\/dd\/yyyy\#")
    Next i
    If Len(strLabel) > 0 Then strLabel = Mid(strLabel, 2)
    getDate = strLabel
    Debug.Print "getDate: " & strLabel
End Function



в SQL при вызове:
Код: sql
1.
AND (Tbl_Ver.Select_Date IN ( getDate() ) )


компилятор снова ругается на сложность.
...
Рейтинг: 0 / 0
Поиск сразу по нескольким значениям в ListBox
    #38994136
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MrDrJOKERнаписал ф-цию:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Public Function getDate() As String
    Dim strLabel As String, i As Variant
    strLabel = ""
    For Each i In Form_Ver!Ausw_Datum.ItemsSelected
        strLabel = strLabel & "," & Format(Form_Ver!Ausw_Datum.ItemData(i), "\#mm\/dd\/yyyy\#")
    Next i
    If Len(strLabel) > 0 Then strLabel = Mid(strLabel, 2)
    getDate = strLabel
    Debug.Print "getDate: " & strLabel
End Function



в SQL при вызове:
Код: sql
1.
AND (Tbl_Ver.Select_Date IN ( getDate() ) )


компилятор снова ругается на сложность.1. Почему компилятор?
2. Функция вроде нормальная.
3. Не знаю, откуда выполняется запрос (по нажатию кнопки?), но можно сделать немножко иначе:
- не встраивать функцию в запрос;
- перед запуском запроса программно изменить его текст
Код: vbnet
1.
CurrentDb.QueryDefs!<имя запроса>.Sql = "SELECT ... FROM ... WHERE ... AND Tbl_Verf.Select_Date In (" & getDate() & ")"
...
Рейтинг: 0 / 0
Поиск сразу по нескольким значениям в ListBox
    #38995045
MrDrJOKER
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__Michelle, спасибо вам за помощь и ваше безграничное терпение ))

запустить ф-цию getDate:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
Public Function getDate() As String
    Dim selectedDates As String, i As Variant
    For Each i In Form_Verfuegbarkeit!Ausw_Datum.ItemsSelected
        selectedDates = selectedDates & "," & Format(Form_Verfuegbarkeit!Ausw_Datum.ItemData(i), "\#mm\/dd\/yyyy\#")
    Next i
    If Len(selectedDates) > 0 Then selectedDates = Mid(selectedDates, 2)
    getDate = selectedDates
    Debug.Print "getDate: " & selectedDates
End Function



из общего модуля в SQL-запросе у меня получилось в таком виде, если Like меняю на IN, то access сразу ругается на сложность SQL:
Код: sql
1.
... AND ((Tbl_Ver.Select_Date) Like (getDate())) ...


но и при таких запросах, SQL не выдает искомый результат, хотя должна бы.

сейчас попробую другим способом, который вы подсказали.
...
Рейтинг: 0 / 0
4 сообщений из 29, страница 2 из 2
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Поиск сразу по нескольким значениям в ListBox
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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