Доступ к SQL Cant выберите на ID / PK - PullRequest
0 голосов
/ 31 октября 2018

ОБНОВЛЕНО в нижней части вопроса:

У меня есть база данных в Access 2010. Таблицы выложены списками SharePoint. Пользователь добавляет данные в форму пользователя и отправляет это. Данные хранятся в локальной таблице на рабочем столе - столбцу ID (Autonumber) автоматически присваивается отрицательное значение, которое обновляется, когда пользователь подключен к сети и синхронизируется с SharePoint.

Я пытаюсь работать с этими данными, которые требуют выбора данных с использованием этого уникального идентификатора, прежде чем они будут синхронизированы с SharePoint. Один и тот же запрос иногда будет работать, но не другие.

В конечном итоге мои вопросы: Почему SQL-запрос работает после синхронизации записи с SharePoint, и идентификатор является положительным числом, но не работает, если идентификатор является отрицательным числом до синхронизации с SharePoint?

SQL-запрос создается на лету с использованием VBA. Пример запроса:

insert into [Outcome Testing] ( [Key Findings].Value ) Values (15) Where [Outcome Testing].[Reference] = 'Reference1' and [Outcome Testing].[File Reference] = 'FileRef1' and ID = '-6'

Если я запускаю это, как показано ниже, то все работает нормально

    insert into [Outcome Testing] ( [Key Findings].Value ) Values (15) Where [Outcome Testing].[Reference] = 'Reference1' and [Outcome Testing].[File Reference] = 'FileRef1'

Я играл с этим - я также не могу выполнить запрос на выборку по идентификатору после отправки данных из формы в таблицу. Форма может (используя кнопки, установленные с помощью мастера) перемещаться вперед и назад между записями, и я вижу запись в таблице. Я вижу (например), что идентификатор имеет значение -8.

Однако запрос, подобный приведенному ниже, ничего не возвращает.

Select * from [Outcome Table] where ID = -8

Если я дал той же записи FileReference для File1, я могу выполнить запрос, приведенный ниже, и он вернет искомую запись, и он покажет идентификатор -8

Select * from [Outcome Table] where [File Reference] = 'File1'

Если я сохраню и закрою базу данных, затем снова открою ее и выполню запрос по идентификационному номеру (-8), тогда он вернет запись. Я по жизни не могу понять, почему это происходит. Любые советы и рекомендации приветствуются.

ПРИМЕЧАНИЕ. - Запрос вставки предназначен для вставки в многозначное поле. Вставка не является проблемой в данный момент, когда она может быть выбрана по значению идентификатора.

...