2014-11-17 4 views
1

Я не очень хорошо знаком с MS Access, но пользователь хотел бы, чтобы мы создали ссылку на базу данных SQL Server, чтобы он мог подключиться через MS Access для предоставления отчетов. Я попробовал на своей машине, используя MS Access 2013, для подключения к базе данных. Я попробовал оба варианта, которые мне предоставляются при подключении к внешнему источнику данных (база данных ODBC). Импортируйте исходные данные, а также привяжите источник данных через связанную таблицу.ms access linked table missing primary key

Обе опции импортируют таблицу, которую я хочу, через учетную запись Readonly, нашу настройку DBA, но когда я смотрю на таблицу, я заметил, что первичный ключ (имя столбца = идентификатор) отсутствует при просмотре в MS Access. Также поле бит, которое у нас есть, которое заполняется в БД SQL Server с 0 или 1, в MS Access имеет строки с -1 вместо.

Я попытался подключиться к базе данных с помощью Sql Server Management Studio, используя учетную запись только для чтения, и я могу видеть как первичный ключ, так и поле бит.

Любые идеи, что я могу сделать неправильно, чтобы иметь возможность видеть первичный ключ и поле бит правильно в MS Access.

ответ

1

Вопрос о том, почему TRUE представлен как -1, был задан раньше. Это та же конвенция, что и в BASIC. TRUE равно NOT FALSE. Если FALSE представляется с нулем в 16 бит, а если NOT является поразрядным дополнением, TRUE представляется 16 битами, установленными в единицу.

16 бит, установленный в единицу, в двухзначном дополнении, равен минус один.

1

Что такое тип данных столбца ID, если он является Int (Integer), тогда он должен работать нормально, но если он не может быть несовместим с Microsoft Access.

В столбце бит можно установить флажок, если вы входите в дизайн таблицы. Выберите поле и нажмите вкладку «Поиск» в нижней панели. Этот параметр не будет сохраняться, если вы повторно привязываете таблицу.

+0

Фактически используется User Defined Type, который сопоставляется с int. Может быть, это отбрасывает его. – Paritosh

+0

Мне удалось найти исправление для проблемы с определяемым пользователем типом: http://stackoverflow.com/questions/6870320/the-execute-permission-is-denied-on-the-user-defined-table-types и https : //fishandgame.idaho.gov/ifwis/portal/blog/sql-server-user-defined-data-types-not-visible-ms-access-linked-table-refresh – Paritosh

Смежные вопросы