Где пункт в поле «Индексированная дата» возвращает неправильные записи в MS Access - PullRequest
1 голос
/ 14 января 2012

У меня есть сервер AcuXDBC, который обеспечивает доступ ODBC к некоторым базам данных COBOL.Я не контролирую базы данных, ни настройку таблиц.

В одной конкретной таблице, если я использую SQL Server для запроса таблицы с предложением WHERE для указания конкретной даты, я получаю ожидаемые результаты.Однако, если я использую MS Access для запроса той же таблицы в столбце даты, Access возвращает все записи, а не только записи с этой датой.

Другие столбцы даты в этой таблице работают нормально.Единственное различие, которое я вижу, состоит в том, что этот конкретный столбец даты имеет индекс, который допускает дублирование.Принимая во внимание, что у работающих столбцов нет индексов.

Я не понимаю, почему наличие индекса приведет к сбою выбора.

При доступе следующий запрос работает какОжидается:

SELECT PUBLIC_ODH2DB.ORDER_NUMBER, PUBLIC_ODH2DB.POST_DATE, PUBLIC_ODH2DB.ENTRY_DATE
FROM PUBLIC_ODH2DB
WHERE (((PUBLIC_ODH2DB.ENTRY_DATE)=#2/3/2012#));

Но этого нет:

SELECT PUBLIC_ODH2DB.ORDER_NUMBER, PUBLIC_ODH2DB.POST_DATE, PUBLIC_ODH2DB.ENTRY_DATE
FROM PUBLIC_ODH2DB
WHERE (((PUBLIC_ODH2DB.POST_DATE)=#2/3/2012#));

И Entry_Date, и Post_Date определены как Date в COBOL, но выглядят как DateTime для ODBC.Единственное отличие, которое я вижу, заключается в том, что Access сообщает об индексировании Post_date (Dups OK).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...