Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
 Выборка  [new]
F_Sergey
Member

Откуда:
Сообщений: 42
Добрый день форумчане! Прошу Вашей помощи, но не судите строго, я не программист. В Access в одном из запросов на выборку, в условиях отбора пытаюсь вставить функцию типа: Proc = IIf(IsNull([Forms]![Общая]![ПолеСоСписком116]), "*", [Forms]![Общая]![ПолеСоСписком116]). Запрос связан с формой, на которой есть поле со списком и в зависимости от того, что в этом поле есть делается выборка. Если там указан какой-то конкретный Поставщик, то выводится вся информация по нему, если же там ничего нет, то должна выводиться информация по всем Поставщикам. Когда информация в поле есть, все работает, но когда поле пустое, то звездочка "*" не работает. Подскажите, что вставить вместо нее, что бы функция возвращала в запрос пустое поле...
С уважением
Сергей
6 июн 19, 09:41    [21903170]     Ответить | Цитировать Сообщить модератору
 Re: Выборка  [new]
Shocker.Pro
Member

Откуда: ->|<- :адуктО
Сообщений: 20656
Так правильно, он же звёздочку пытается искать и не находит.
вместо "=" напиши Like

Модератор: Тема перенесена из форума "Visual Basic".
6 июн 19, 09:47    [21903184]     Ответить | Цитировать Сообщить модератору
 Re: Выборка  [new]
F_Sergey
Member

Откуда:
Сообщений: 42
Shocker.Pro, Куда прописать Like? Вместо звездочки? Так не работает..
6 июн 19, 09:53    [21903191]     Ответить | Цитировать Сообщить модератору
 Re: Выборка  [new]
F_Sergey
Member

Откуда:
Сообщений: 42
Shocker.Pro, Я и написал на форум VBA, чтобы подсказали как это сделать...
6 июн 19, 09:55    [21903195]     Ответить | Цитировать Сообщить модератору
 Re: Выборка  [new]
Shocker.Pro
Member

Откуда: ->|<- :адуктО
Сообщений: 20656
F_Sergey
Вместо звездочки?
Shocker.Pro
вместо "="

В определенных случаях вместо звездочки нужно будет использовать "%". Так как код ты не приводишь, подробнее сказать сложнее


F_Sergey
Я и написал на форум VBA, чтобы подсказали как это сделать...
а) тебе подсказали, просто ты прочитал не все слова в ответе )
б) ПРАВИЛА ФОРУМА. Прочтите перед тем как задавать вопрос!
6 июн 19, 11:05    [21903264]     Ответить | Цитировать Сообщить модератору
 Re: Выборка  [new]
Кривцов Анатолий
Member

Откуда:
Сообщений: 330
Лучше так:
WHERE (Proc = [Forms]![Общая]![ПолеСоСписком116]) OR ([Forms]![Общая]![ПолеСоСписком116] Is Null)
6 июн 19, 11:10    [21903268]     Ответить | Цитировать Сообщить модератору
 Re: Выборка  [new]
F_Sergey
Member

Откуда:
Сообщений: 42
Кривцов Анатолий,
Вот все варианты, которые я перепробовал, последний с %, но пустое значение не возвращается...

Function Proc() As String
'Proc = IIf(IsNull([Forms]![Îáùàÿ]![ÏîëåÑîÑïèñêîì116]), "NA", [Forms]![Îáùàÿ]![ÏîëåÑîÑïèñêîì116])
'Proc = IIf(IsNull([Forms]![Îáùàÿ]![ÏîëåÑîÑïèñêîì116]), "Empty", [Forms]![Îáùàÿ]![ÏîëåÑîÑïèñêîì116])
'Proc = IIf(IsNull([Forms]![Îáùàÿ]![ÏîëåÑîÑïèñêîì116]), "Null", [Forms]![Îáùàÿ]![ÏîëåÑîÑïèñêîì116])
'Proc = IIf(IsNull([Forms]![Îáùàÿ]![ÏîëåÑîÑïèñêîì116]), "*", [Forms]![Îáùàÿ]![ÏîëåÑîÑïèñêîì116])
'Proc = IIf(IsNull([Forms]![Îáùàÿ]![ÏîëåÑîÑïèñêîì116]), "", [Forms]![Îáùàÿ]![ÏîëåÑîÑïèñêîì116])
'Proc = IIf(IsNull([Forms]![Îáùàÿ]![ÏîëåÑîÑïèñêîì116]), "Is Nothing", [Forms]![Îáùàÿ]![ÏîëåÑîÑïèñêîì116])
'Proc = IIf(IsNull([Forms]![Îáùàÿ]![ÏîëåÑîÑïèñêîì116]), length = 0, [Forms]![Îáùàÿ]![ÏîëåÑîÑïèñêîì116])
'Proc = IIf(IsNull([Forms]![Îáùàÿ]![ÏîëåÑîÑïèñêîì116]), "Not", [Forms]![Îáùàÿ]![ÏîëåÑîÑïèñêîì116])
'Proc = IIf(IsNull([Forms]![Îáùàÿ]![ÏîëåÑîÑïèñêîì116]), "No value", [Forms]![Îáùàÿ]![ÏîëåÑîÑïèñêîì116])
'Proc = IIf(IsNull([Forms]![Îáùàÿ]![ÏîëåÑîÑïèñêîì116]), "0", [Forms]![Îáùàÿ]![ÏîëåÑîÑïèñêîì116])
'Proc = IIf(IsNull([Forms]![Îáùàÿ]![ÏîëåÑîÑïèñêîì116]), "value is null", [Forms]![Îáùàÿ]![ÏîëåÑîÑïèñêîì116])
'Proc = IIf(IsNull([Forms]![Îáùàÿ]![ÏîëåÑîÑïèñêîì116]), "Proc=Null", [Forms]![Îáùàÿ]![ÏîëåÑîÑïèñêîì116])
'Proc = IIf(IsNull([Forms]![Îáùàÿ]![ÏîëåÑîÑïèñêîì116]), "MyVar = Null", [Forms]![Îáùàÿ]![ÏîëåÑîÑïèñêîì116])
'Proc = IIf(IsNull([Forms]![Îáùàÿ]![ÏîëåÑîÑïèñêîì116]), "N/A", [Forms]![Îáùàÿ]![ÏîëåÑîÑïèñêîì116])
'Proc = IIf(IsNull([Forms]![Îáùàÿ]![ÏîëåÑîÑïèñêîì116]), "Proc ="" ", [Forms]![Îáùàÿ]![ÏîëåÑîÑïèñêîì116])
'Proc = IIf(IsNull([Forms]![Îáùàÿ]![ÏîëåÑîÑïèñêîì116]), "Proc.value = vbNullString", [Forms]![Îáùàÿ]![ÏîëåÑîÑïèñêîì116])
'Proc = IIf(IsNull([Forms]![Îáùàÿ]![ÏîëåÑîÑïèñêîì116]), "Clear", [Forms]![Îáùàÿ]![ÏîëåÑîÑïèñêîì116])

Proc = IIf(IsNull([Forms]![Îáùàÿ]![ÏîëåÑîÑïèñêîì116]), "%", [Forms]![Îáùàÿ]![ÏîëåÑîÑïèñêîì116])

End Function
6 июн 19, 12:28    [21903363]     Ответить | Цитировать Сообщить модератору
 Re: Выборка  [new]
ПЕНСИОНЕРКА
Member

Откуда: Владимирская обл
Сообщений: 4599
F_Sergey
Вот все варианты, которые я перепробовал, последний с %,

перед копированием кода переключайтесь на русскую раскладку клавиатуры
6 июн 19, 13:15    [21903427]     Ответить | Цитировать Сообщить модератору
 Re: Выборка  [new]
F_Sergey
Member

Откуда:
Сообщений: 42
ПЕНСИОНЕРКА,
Там везде [Forms]![Общая]![ПолеСоСписком116])
6 июн 19, 13:24    [21903439]     Ответить | Цитировать Сообщить модератору
 Re: Выборка  [new]
Кривцов Анатолий
Member

Откуда:
Сообщений: 330
F_Sergey, забудьте об этой функции.
Мы с коллегой Swa111 показали вам пример, как выглядит в запросе условие "указанное или все". Только слово Proc замените на [Имя вашего поля].
6 июн 19, 13:25    [21903445]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Access Ответить