Дано: установленный на каком-нибудь сервере MS SQL Server (например, версии 2014), у пользователей имеется MS Access 2016 (все в локальной сети).
Задача: редактировать данные в таблицах MS SQL Server через Access.
Когда может возникнуть такая задача: например, необходимо быстро создать UI (визуальный интерфейс) для редактирования данных в таблицах с доменным доступом.
Этапы:
1) Создаем базу данных в SQL Server (если ее не существует).
2) Создаем необходимые таблицы.
На этом этапе важно задать ключевое поле таблицы (primary key):
Если этого не сделать, то при последующей линковке с Access вы потеряете возможность редактировать данные в таблице, она будет открываться только на чтение, а при попытке что-то изменить в строке состояния будет сообщение:
Объект Recordset не является обновляемым (This recordset is not updateable)
3) В Access создаем связь с таблицами.
Для этого на вкладке "Внешние данные" выбираем "База данных ODBC" (см. видео ниже).
В открывшемся окне выбираем "Создать связную таблицу".
В окне "Выбор источника" - вкладка "Источник данных компьютера".
Если SQL источник не создан, то нажимаем "Создать". Если появится сообщение об ошибке административных прав, игнорируем его, нажав Ок.
Далее выбираем драйвер SQL Server и традиционно создаем источник, указав наименование сервера, учетные данные для подключения и базу по умолчанию.
После выбора источника нам предложат выбрать таблицы - выбираем все какие нужно и по нажатию ОК они будут подключены к Access.
4) Проверка работы связи.
Открываем любую подключенную таблицу и пытаемся редактировать или вносить данные. Если не получается, возвращается к пункту 2.
Если данные отредактировались и сохранились, проверяем, что они также изменились и в SQL Server.
Небольшой видеофрагмент, демонстрирующий описанные выше действия (3Мб, щелкните, чтобы увеличить):
В итоге при просмотре таблицы в MS SQL Server Management Studio увидим внесенные через Access данные.
Если при редактировании данных в Access возникает ошибка: "Пока вы правили эту запись, она была изменена другим пользователем..." (This record has been changed by another user since you started editing it.), то смотрите решение здесь.
Задача: редактировать данные в таблицах MS SQL Server через Access.
Когда может возникнуть такая задача: например, необходимо быстро создать UI (визуальный интерфейс) для редактирования данных в таблицах с доменным доступом.
Этапы:
1) Создаем базу данных в SQL Server (если ее не существует).
2) Создаем необходимые таблицы.
На этом этапе важно задать ключевое поле таблицы (primary key):
Если этого не сделать, то при последующей линковке с Access вы потеряете возможность редактировать данные в таблице, она будет открываться только на чтение, а при попытке что-то изменить в строке состояния будет сообщение:
Объект Recordset не является обновляемым (This recordset is not updateable)
3) В Access создаем связь с таблицами.
Для этого на вкладке "Внешние данные" выбираем "База данных ODBC" (см. видео ниже).
В открывшемся окне выбираем "Создать связную таблицу".
В окне "Выбор источника" - вкладка "Источник данных компьютера".
Если SQL источник не создан, то нажимаем "Создать". Если появится сообщение об ошибке административных прав, игнорируем его, нажав Ок.
Далее выбираем драйвер SQL Server и традиционно создаем источник, указав наименование сервера, учетные данные для подключения и базу по умолчанию.
После выбора источника нам предложат выбрать таблицы - выбираем все какие нужно и по нажатию ОК они будут подключены к Access.
4) Проверка работы связи.
Открываем любую подключенную таблицу и пытаемся редактировать или вносить данные. Если не получается, возвращается к пункту 2.
Если данные отредактировались и сохранились, проверяем, что они также изменились и в SQL Server.
Небольшой видеофрагмент, демонстрирующий описанные выше действия (3Мб, щелкните, чтобы увеличить):
В итоге при просмотре таблицы в MS SQL Server Management Studio увидим внесенные через Access данные.
Если при редактировании данных в Access возникает ошибка: "Пока вы правили эту запись, она была изменена другим пользователем..." (This record has been changed by another user since you started editing it.), то смотрите решение здесь.
(с) Ella S.
Если Вам понравилась статья, пожалуйста, поставьте лайк, сделайте репост или оставьте комментарий. Если у Вас есть какие-либо замечания, также пишите комментарии.
видео на скорости х2 что ли? ничего не успеваю посмотреть)
ОтветитьУдалить