MS Access - данные исчезают, когда я удаляю критерии и запрашиваю таблицу - PullRequest
0 голосов
/ 18 февраля 2012

Я хочу выбрать две записи с идентификатором 1 и 2. Обе появляются через SQL-запрос, если я жестко закодирую его в столбце критериев.Однако, когда я удаляю критерии и выбираю те же данные в SQL с помощью предложения WHERE, появляется только 1 запись.Что случилось с другой записью?Все фильтры отключены.

РАБОТАЕТ:

id

Criteria: 1 or 2

sql:

select * from mytable where mytable.id=1 or mytable.id= 2 
 //2 records appear. Success.

НЕ РАБОТАЕТ <- но мне нужно кодировать это следующим образом. </strong>

id

No Criteria:

sql:

select * from mytable where mytable.id=1 or mytable.id= 2  
//only record 1 appears. Failure. 

Почему не появляется вторая запись?

1 Ответ

3 голосов
/ 18 февраля 2012

Проблема здесь в том, что когда вы строите запрос с использованием построителя запросов, когда вы указываете на простое условие, такое как это, прекрасно работает:

1 or 2

Так что, если вы введете выше в построителе запросов, вы увидитеэто и работает:

enter image description here

Однако, если вы перейдете в представление SQL, вы увидите, что Access фактически выдает, что вы ДОЛЖНЫ включить имя столбца.

enter image description here

Например, вам нужно это:

[id] = 1 or [id] = 2

Таким образом, вы должны включить имя столбца.И если вы переключите конструктор запросов в режим просмотра SQL, вы увидите, что access написал для вас следующее:

Итак, для таких условий, которые вы пишете вручную или в коде, вам нужно включить имя столбца.Вы также, я полагаю, могли бы написать это:

[id] in (1,2)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...