|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
13.11.2011, 12:29 | #1 |
Пользователь
Регистрация: 11.01.2011
Сообщений: 13
|
Неправильное применение and / or
Код:
при запросе Код:
Как правильно применить оператор OR |
13.11.2011, 12:45 | #2 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Код:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
13.11.2011, 13:05 | #3 | |
Пользователь
Регистрация: 11.01.2011
Сообщений: 13
|
Цитата:
ctp.status это поле status таблицы ctp имеющее значения либо 1, либо 2. В ADOQuery указывается как ctp.status,т.к. имеет связанную таблицу. фильтр ранее не был установлен. без OR фильтр работает без проблем Зачем вы отвечаете с цитированием всего предыдущего поста ? Чтоб "простыня" подлиннее получилась ? Чтоб ваш "драгоценнейший" пост занимал весь экран ? Вы не видите кнопку справа от кнопки "Цитата" ? Или вам почему-то не видно пустое окно редактора под последним сообщением, куда можно просто ввести ответ ? За оверквотинг у нас штрафуют, имейте это ввиду. Дабы не нарушать правила раздела, внимательно их почитайте... Последний раз редактировалось mihali4; 13.11.2011 в 13:26. |
|
13.11.2011, 13:50 | #4 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
1. Прежде всего имелось ввиду, что Filtered:=True делается после изменения Filter, а не до.
2. Указание алиаса в условие фильтра (ctp.) не имеет ни какого смысла, ибо этот фильтр ни какого отношения к таблицам и базе не имеет, а только делает видимыми или нет записи уже выбранные из таблиц базы. Скорее всего его наличие даст ошибку, не проверял
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
14.11.2011, 09:48 | #5 |
Пользователь
Регистрация: 13.10.2010
Сообщений: 96
|
С точки зрения порядка выполнения операторов сначала выполняются булевы операции, а потом другие, т.е. в выражении (sposob=1 or sposob=2) первым будет
1 or sposob Чтоб все заработало попробуй сравнение взять в скобки: ((sposob=1) or (sposob=2))
Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете. (Стив Макконнелл)
|
14.11.2011, 10:40 | #6 |
Форумчанин
Регистрация: 30.01.2009
Сообщений: 418
|
предлагаю автору темы оттестировать условие запроса в базу сначала в самой базе (в SQL редакторе запросов), а потом переносить его в программу.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Неправильное отображение изображений | Ga-sergey | HTML и CSS | 8 | 10.05.2010 21:03 |
Строки неправильное выполнение программы | ArniLand | Общие вопросы C/C++ | 3 | 30.03.2010 01:23 |
Неправильное отображение Verdana в IE | go0dwin | HTML и CSS | 3 | 09.07.2009 16:41 |
Неправильное воспроизведение медиаплеером | XATAB | Мультимедиа в Delphi | 3 | 02.03.2009 09:07 |
Неправильное отображение шрифта | chingiz | Общие вопросы Delphi | 2 | 25.01.2008 18:47 |