powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Условие отбора без значения)
14 сообщений из 14, страница 1 из 1
Условие отбора без значения)
    #39456665
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Имеется запрос на выборку из таблицы.
В таблице одно, числовое, поле является условием отбора для запроса.
В запросе отбор производится подстановкой в функцию FUN_ZNACHENIE() - условия отбора.

Код: vbnet
1.
2.
3.
SELECT Tabl.*
FROM Tabl
WHERE (Tabl.Vibor)=FUN_ZNACHENIE())



например
FUN_ZNACHENIE - 1
запрос отображает все записи, где в данном поле стоит 1

FUN_ZNACHENIE - 3
запрос отображает все записи, где в данном поле стоит 3
=======================================
А какое задать значение для отображения всех записей?
------------------------------------------------------------------------
СПС
...
Рейтинг: 0 / 0
Условие отбора без значения)
    #39456669
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уточнение.
В данном числовом поле значений может быть только два
Код: vbnet
1.
0  и -1


час58,
...
Рейтинг: 0 / 0
Условие отбора без значения)
    #39456680
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну и в чём проблема?
Напиши условие
Код: vbnet
1.
WHERE (Tabl.Vibor) >= FUN_ZNACHENIE())


час58,
...
Рейтинг: 0 / 0
Условие отбора без значения)
    #39456691
Игортан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58,

так если будет значение -1,
и при >= покажет и те и другие
а все записи это уже третье состояние

А так нет?

Код: vbnet
1.
2.
3.
SELECT Tabl.*
FROM Tabl
WHERE (((IIf(FUN_ZNACHENIE()=3,3,Tabl.Vibor))=FUN_ZNACHENIE()));
...
Рейтинг: 0 / 0
Условие отбора без значения)
    #39456693
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игортан,

>= -1

Вполне нормально отображает все записи
...
Рейтинг: 0 / 0
Условие отбора без значения)
    #39456694
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игортан,
Я наверное не верно написал свой вопрос.
Туплю по полной...
...
Рейтинг: 0 / 0
Условие отбора без значения)
    #39456695
Игортан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58,

вариант 1
Код: vbnet
1.
WHERE (Tabl.Vibor) >= 0) 'FUN_ZNACHENIE()


покажет только с "0"

вариант 2
Код: vbnet
1.
WHERE (Tabl.Vibor) >= -1) 'FUN_ZNACHENIE()


покажет записи и 0 и -1 (все).
Как я понял, должен с -1

должен быть вариант 3
показать все записи и с -1 и с 0.

Как я понял вопрос, запрос я прислал. Он должен обработать 3 варианта выборки
...
Рейтинг: 0 / 0
Условие отбора без значения)
    #39456696
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игортан,

Там именно два варианта значений.
http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1260659&msg=20498636
...
Рейтинг: 0 / 0
Условие отбора без значения)
    #39456699
Игортан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58,

ни в коем случае не навязываюсь.
у вас Tabl.Vibor имеет 2 значения(0 и -1)

вариант 1
Код: vbnet
1.
WHERE (Tabl.Vibor) = 0)


покажет только с "0"

вариант 2
Код: vbnet
1.
WHERE (Tabl.Vibor) = -1)


покажет только с "-1"

ваш вариант
Код: vbnet
1.
WHERE (Tabl.Vibor) >= -1)


покажет все строки.

Если у вас запрос собирается в vba, то можно собрать как хочешь
если запрос сохраненный, то
В вашем варианте выборки будет только 2 варианта выборки
выборка по "0" и показ всех строк
отдельной выборки по "-1" не будет

Может я чего то не так понял и не в ту сторону углубился.
таки умолкаю.

С уважением.
...
Рейтинг: 0 / 0
Условие отбора без значения)
    #39456700
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игортан,

Совершенно верно
Вариант -1 не нужен.
...
Рейтинг: 0 / 0
Условие отбора без значения)
    #39457015
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
все не читал, может было

час58, получай значение в функцию свою, внутри сравнивай, в запрос возвращай уже булево значение.
Код: vbnet
1.
2.
3.
SELECT Tabl.*
FROM Tabl
WHERE FUN_ZNACHENIE(Tabl.Vibor)
...
Рейтинг: 0 / 0
Условие отбора без значения)
    #39457052
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панург,

Спасибо.
...
Рейтинг: 0 / 0
Условие отбора без значения)
    #39457083
Еще вариант:
Код: vbnet
1.
2.
SELECT Tabl.* FROM Tabl
WHERE (Tabl.Vibor=FUN_ZNACHENIE()) OR (FUN_ZNACHENIE() > 0)
...
Рейтинг: 0 / 0
Условие отбора без значения)
    #39457094
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Анатолий ( Киев ),

Да, :-) Спасибо.
Я остановился на варианте
Код: vbnet
1.
2.
3.
SELECT Tabl.*
FROM Tabl
WHERE  (Tabl.Vibor) >= FUN_FLAG_VSE_ZNACHENIE()
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Условие отбора без значения)
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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