2017-02-10 4 views
0

У меня есть таблица в SQL Server 2012 (Table1), и я создал базу данных MS Access 2016, а затем создал связанную таблицу в MS Access до Table1 в SQL Server 2012 с использованием системы DSN.MS Access связанная таблица с записью обновления SQL Server

Это прекрасно работает, я могу открыть связанную таблицу 1 в MS Access 2016, увидеть столбцы и обновить значения. Затем я создал форму в MS Access 2016, добавил столбцы из Таблицы 1 в форму, и я могу видеть данные в порядке.

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

Если я создаю стандартную (не связанную таблицу) в MS Access 2016 и добавляю столбцы в форму, а не столбцы из Связанной таблицы1, тогда появляется значок Add New Record.

Мой вопрос: возможно ли использовать форму в MS Access 2016, иметь источник данных в виде связанной таблицы с таблицей в SQL Server 2012 и добавлять к ней новые записи? (И если да, то как мне добиться этого, поскольку я был в этом сейчас часами и часами и не могу понять это).

Большое спасибо заранее.

+0

Спасибо за все ваши советы. Если я открою связанную таблицу, я могу добавить новую запись и она будет отображаться в связанной таблице MS Access и Sql Server. Когда я пытаюсь добавить новую запись в форме MS Access, добавлена ​​новая запись. Таблица Sql Server имеет первичный ключ и правильно настроена (я был разработчиком Sql Server/администратором баз данных в течение 15 лет, а также создал множество приложений MS Access на протяжении многих лет, просто не используя связанные таблицы). –

+0

У вас есть 'Allow Additions', который не установлен в свойствах формы? – GavinP

ответ

0

Это, безусловно, возможно; это очень распространенный подход. Похоже, что логин, который вы использовали в системном DSN для подключения к SQL Server, не имеет разрешений INSERT для таблицы. Можете ли вы просмотреть разрешения для проверки этого?

-2

Автоматическая вставка/обновление не работает для базы данных ссылок. Вам нужно написать код VBA за интерфейсом.

Ниже решение может дать вам основные и простые головы:

Inserting into SQL Server using MS Access

+1

Неверный - доступ работал без проблем в течение 20 лет, используя связанные таблицы и вставляя новые строки. Таким образом, да, автоматическая вставка в форме или редактирование связанной таблицы в Access работает просто отлично. –

1

Вы обратите внимание, что вы можете изменять значения при нажатии на присоединенной таблицы и просматривать строки.

Можете ли вы добавить строки при использовании этой связанной таблицы? И если вы не можете, тогда откройте таблицу с помощью SQL Management Studio и попробуйте добавить строки таким образом?

Если у вас нет правильных (или любых) настроек на SQL-сервере, который устанавливает или увеличивает первичный ключ, вы не можете добавлять строки (автоматически в этом контексте).

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

Я предлагаю вам создать первичный ключ в таблице SQL и сделать его столбцом идентификации с приращением 1.

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