Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
05.06.2019, 17:50
|
|||
---|---|---|---|
|
|||
Выборка |
|||
#18+
Добрый день всем! Прошу подскажите, возможен ли такой вариант: есть запрос на выборку, в качестве условий отбора хочу прописать функцию Proc, функция проверяет поле со списком и если там есть значение, то выборка идет по этому значению, а если там ничего нет, то должно выбираться все. Proc = IIf(IsNull([Forms]![Общая]![ПолеСоСписком116]), "*", [Forms]![Общая]![ПолеСоСписком116]) Если значение есть, то все работает, а вот если его нет...то и выборки нет... Или я хочу чего-то ненормального? С уважением Сергей ... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.06.2019, 18:05
|
|||
---|---|---|---|
|
|||
Выборка |
|||
#18+
F_Sergeyв качестве условий отбора хочу прописать функцию Proc как вы делаете все остальные действа с базой --только мастер и внедренные макросы --программирование тоже применяете F_Sergeyфункция проверяет поле со списком и если там есть значение непонятно , вы ищете Иванова --поле со списком,подстановка --как же вы занесли в поле фамилию Иванов, если ее нет в справочнике ... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.06.2019, 18:11
|
|||
---|---|---|---|
|
|||
Выборка |
|||
#18+
похоже, что меня заклинило --сама не поняла вторую часть предыдущего сообщения естественно Иванов может быть в справочнике и не быть в основной таблице а может его и в справочнике нет ... |
|||
:
Нравится:
Не нравится:
|
|||
|
06.06.2019, 00:13
|
|||
---|---|---|---|
Выборка |
|||
#18+
F_Sergey, в запросе отобразить все: ...WHERE True отбор: ....WHERE условие По моему лучше так (или ленточная форма-первая найденная запись выделится): ... |
|||
:
Нравится:
Не нравится:
|
|||
|
06.06.2019, 00:33
|
|||
---|---|---|---|
|
|||
Выборка |
|||
#18+
F_Sergey, Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
06.06.2019, 02:03
|
|||
---|---|---|---|
|
|||
Выборка |
|||
#18+
Перед функцией IIf(IsNull([Forms]![Общая]![ПолеСоСписком116]), "*", [Forms]![Общая]![ПолеСоСписком116]) поставьте оператор Like и получите то то надо. Именно выражение Like "*" означает показать всё, а у вас получается показать "*". А звёздочек то у вас и нет, вот и пусто. И написать всё это надо в условии в самом запросе = Like IIf(IsNull([Forms]![Общая]![ПолеСоСписком116]), "*", [Forms]![Общая]![ПолеСоСписком116]). ... |
|||
:
Нравится:
Не нравится:
|
|||
|
06.06.2019, 02:11
|
|||
---|---|---|---|
|
|||
Выборка |
|||
#18+
Да чуть не забыл, при моём варианте пустых (NUll) значений в выборке не окажется. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
06.06.2019, 09:23
|
|||
---|---|---|---|
|
|||
Выборка |
|||
#18+
Добрый день! Like я использовал в самом запросе в условиях отбора, но эта конструкция не работает при переходе на другую версию офиса, с 2013 на 2016. Вот я и задался целью вместо этого варианта написать функцию и в условиях отбора на нее сослаться. Функция срабатывает когда в поле со списком есть информация, а вот звездочка "*" не работает, может можно вместо нее задать какое-то другое условие когда в поле отсутствует что-либо? С уважением Сергей ... |
|||
:
Нравится:
Не нравится:
|
|||
|
06.06.2019, 12:02
|
|||
---|---|---|---|
Выборка |
|||
#18+
Geizer1Да чуть не забыл, при моём варианте пустых (NUll) значений в выборке не окажется. Код: vbnet 1.
а так окажется ... |
|||
:
Нравится:
Не нравится:
|
|||
|
06.06.2019, 12:34
|
|||
---|---|---|---|
|
|||
Выборка |
|||
#18+
sdku, нет True не возвращает "пустое" значение... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
06.06.2019, 14:32
|
|||
---|---|---|---|
Выборка |
|||
#18+
вот так это выглядит в конструкторе: ... |
|||
:
Нравится:
Не нравится:
|
|||
|
06.06.2019, 14:49
|
|||
---|---|---|---|
|
|||
Выборка |
|||
#18+
Вот пример 2-х вариантов решения. Надо отметить что вариант с которого начинали (с оператором Like) будет всегда переберать все строки-записи поочереди, и в результате работать медленнее чем с логикой. Посмотри запросы в режиме конструктора там всё понятно, работать будут оба варианта во всех офисах. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
06.06.2019, 15:09
|
|||
---|---|---|---|
|
|||
Выборка |
|||
#18+
Geizer1, Спасибо, этот вариант я знаю и использую, но мне нужен вариант именно через функцию, которая в условия выборки будет возвращать либо конкретного поставщика, либо ничего, чтобы выбрать всех... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
06.06.2019, 16:53
|
|||
---|---|---|---|
|
|||
Выборка |
|||
#18+
F_SergeyGeizer1, Спасибо, этот вариант я знаю и использую, но мне нужен вариант именно через функцию, которая в условия выборки будет возвращать либо конкретного поставщика, либо ничего, чтобы выбрать всех... Вот с возвращением значения (Null) у функций как раз и могут быть проблемы, лучше это логикой обходить. А вот значение на (Null) проверить и в условие (Null) вставить это можно. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
06.06.2019, 17:04
|
|||
---|---|---|---|
|
|||
Выборка |
|||
#18+
Я в базе зарезервировал символ "_" для замены им значения (Null). Конечно это не позволяет его использовать в работе как вводимое значение пользователем, но зато снимает все проблемы (Null). ... |
|||
:
Нравится:
Не нравится:
|
|||
|
06.06.2019, 18:48
|
|||
---|---|---|---|
Выборка |
|||
#18+
F_Sergeyфункция проверяет поле со списком и если там есть значение... А вариант с тысячами записей в которых фигурирует 200-500 фамилий(вполне реально)-в полеСоСписком окажется 200-500 строк и нужную надо будет искать в списке-не проще ли по начальным буквам,а затем в выборке при щелчке на нужной вывести подробности по ней (когда в базе будет 200-500 фамилий,то и поиск будет после поиска в списке Combo-или Ваша БД расчитана на количество фамилий которые поместятся на экран?) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=45&tablet=1&tid=1610663]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
31ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
others: | 10ms |
total: | 128ms |
0 / 0 |