Letysite.ru

IT Новости с интернет пространства
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Как открыть sql в access

Доступ к БД mySQL из Microsoft Access

Материал из 1GbWiki.

Пошаговая иллюстрация процесса представлена для русской версии Microsoft Access 2007. Пробная 60-дневная версия продукта доступна на сайте производителя trymicrosoftoffice.com

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

[править] Общий вид

Microsoft Access умеет подключаться к внешним источникам данных через ODBC, что бы соедениться с mySQL необходимо установить ODBC-коннектор (драйвер) mySQL и указать его в параметрах соедининя для нового источника данных.

[править] Инструкция

1. Вам потребуется установить mySQL ODBC-коннектор, взять его можно с сайта производителя mySQL тут — http://dev.mysql.com/downloads/connector/odbc/3.51.html. Устанавливать какие-нибудь специфические параметры при установке не требуется, можно установить с параметрами по умолчанию.

2. В группе «Импорт» раздела ленты «Внешние данные» программы Access 2007 выберите пункт «Дополнительно» и «База данных ODBC».

3. Выберите вариант, в котором вы будете работать. Первый пункт позволит сделать копию баз данных mySQL в проекте Access, второй пункт (выбран на картинке) позволит вам вносить изменения в БД mySQL из Access.

4. Далее вам будет показан диалог выбора источника данных. Этот диалог не является частью программ Microsoft Office, но частью Windows. Нажмите кнопку «New» — создать новый источник данных ODBC.

5. Выберите в списке ODBC-драйвер mySQL и нажмите кнопку «Advanced» («Дополнительно»).

6. Вам нужно вставить строку соединения с дополнительными параметрами. Параметры базы данных (логин, пароль и т.п.) возьмите со страницы «пароли на ресурсы» личного кабинета, пример строки соединения возьмите из базы знаний хостинга — mySQL из .NET/ASP (ODBC клиент). Для корректной работы с русским языком бязательно добавьте параметр определяющий язык строковых переменных, например stmt=SET NAMES ‘cp1251’. Получившееся сочитание данных может представлять собой как одну строку (длинную) так и несколько строк разделённых символом ; (как на картинке). После формирования строки соединения нажмите Ok и Next («Дальше»). В ходе работы мастера вас могут несколько раз спрашивать пароль к БД в диалоге драйвера mySQL — вводите пароль и нажимайте «Ok», дополнительные параметры не указывайте.

7. Введите имя создаваемого вами соединения. Вы можете использовать любое произвольное имя.

8. Выберите созданное вами соединение и нажмите кнопку «Ok»

9. Вам будет предложено ввести пароль к БД. Введите пароль и нажмите «Ok». Не смущайтесь, что вас спрашивают пароль несмотря на то, что вы его уже, может быть, вводили — это нормально. Дополнительные параметры в этом окне лучше не изменять.

10. Выберите таблицы, с которыми вы хотите работать.

11. Всё, работа по соединению Access и mySQL завершена. Вы можете открыть таблицы представленные в поле «Все таблицы» приложения и .

12. . начать работать непосредственно с данными.

Выполнение SQL запросов к текущей базе данных в среде VBA (Access)

В Microsoft Office Access поддерживается выполнение SQL запросов к текущей базе данных из программного кода на VBA. Рассмотрим, как это можно использовать при разработке приложений баз данных.

Так как запрос выполняется к той же самой базе данный в которой выполняется модуль VBA, для выполнения SQL запроса нет необходимости работать со стандартными в подобных случаях интерфейсами ADO, ODBC и т.д. Всё можно сделать при помощи объектной модели Access.

Как известно SQL запросы можно условно разделить на две большие группы:

  • Запросы, не возвращающие данных (INSERT, UPDATE, DELETE и т.д.);
  • Запросы возвращающие данные (запросы на выборку (SELECT)).
Запросы, не возвращающие данных

Для выполнения запросов к текущей базе данных служит метод Execute объекта CurrentDb. Этот метод принимает в качестве параметра строку с SQL запросом, который необходимо выполнить.

Читать еще:  Как удалить колонтитул в либре офис

Это простейший запрос. Но, как быть с запросами, которые манипулируют теми или иными данными?

Такие запросы тоже можно выполнить. Для этого нужно просто сформировать соответствующую строку.

Так, например, может быть реализовано добавление записей в таблицу:

А, так их обновление:

Выполнение другие типов запросов не возвращающих данных осуществляется по аналогичным принципам.

Запросы на выборку

Метод Execute объекта CurrentDb не поддерживает выполнение запросов на выборку. Поэтому для них нужен другой подход.

Чтобы работать с выборкой данных необходимо воспользоваться объектом RecordSet, который можно создать при помощи метода OpenRecordSet объекта CurrentDb. Этот метод также принимает в качестве параметра строку с SQL запросом.

После создания RecordSet мы можем перебрать все записи, как это показано ниже.

Помимо простого перебора доступны несколько видов поиска. Но в основном используются два.

Первый вид поиска реализован в виде методов FindFirst, FindLast, FindNext и FindPrevious объекта RecordSet.

Первые два устанавливают курсор на соответственно первую и последнюю записи, соответствующие условию поиска. Условие поиска передаётся в качестве параметра в виде строки. Само условие задаётся по аналогии с предложением WHERE в обычном SQL запросе.

Методы FindNext и FindPrevious устанавливают курсор на следующую и предыдущую записи в соответствии с условием поиска, если такие записи существуют. Условие поиска для этих методов задаётся также, как и для FindFirst и FindLast.

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

В следующем примере перебор записей начнётся с записи, у которой id равен 234, так как курсор был перемещён к ней до начала обхода набора записей в цикле.

Иллюстрированный самоучитель по SQL для начинающих

Создание и поддержка простой базы данных

Создание таблицы Power Design с помощью DDL

Все действия по определению базы данных, которые можно выполнять с помощью RAD-инструмента, такого как Access, можно также выполнять и с помощью SQL. В этом случае вместо щелчков мышью на элементах меню выполняется ввод команд с помощью клавиатуры. Те, кто предпочитает манипулировать графическими объектами, считают, что RAD-инструменты являются легкими и естественными для понимания и изучения. Другие же, кому больше нравится складывать слова в предложения, имеющие определенную логику, считают, что более легкими и естественными являются все-таки команды SQL. Так как некоторые вещи легко представить, используя объектную парадигму, а с другими легко справляться с помощью SQL, то полезно хорошо знать оба метода.

В следующих разделах будет применяться SQL, чтобы выполнять те же действия по созданию, изменению и удалению таблицы, для которых в предыдущем разделе использовался RAD-инструмент.

Использование языка SQL с приложением Microsoft Access

Приложение Access было разработано как инструмент быстрой разработки приложений (RAD), не требующий программирования. Несмотря на то что можно писать и выполнять команды на языке SQL непосредственно в Access, чтобы сделать это, можно зайти также с «черного хода». Для того чтобы открыть основной редактор, который используется для ввода SQL-кода, выполните следующие действия.

  1. Откройте базу данных, а затем выберите из списка Объекты опцию Запросы.
  2. В области задач, расположенной в правой части окна, выберите опцию Создание запроса в режиме конструктора. Отобразится диалоговое окно Добавить таблицу.
  3. Выберите любую из таблиц, щелкните на кнопках Добавить и Закрыть. Не обращайте внимание на курсор, который мигает в только что созданном окне Запрос.
  4. В главном меню Access выберите команду Вид Режим SQL. Отобразится окно редактора со стартовым оператором языка SQL SELECT.
  5. Удалите оператор SELECT, а затем введите необходимый оператор SQL.
  6. Закончив работу, щелкните на пиктограмме Сохранить. Access предложит ввести имя для только что созданного запроса.
  7. Введите имя запроса и щелкните на кнопке ОК.
Читать еще:  Скачать ключи для офис 2020

Только что созданная команда будет сохранена и выполнена позже как запрос. К сожалению, Access не выполняет весь диапазон команд SQL. К примеру, оно не выполняет команду CREATE TABLE. Однако после создания таблицы можно выполнять практически любое необходимое преобразование с находящимися в ней данными.

Создание таблицы

При работе с полнофункциональной СУБД, например, такой, как Microsoft SQL Server, Oracle 9i или IBM DB2, в процессе создания таблицы с помощью SQL необходимо вводить ту же информацию, что и при создании таблицы с помощью какого-либо RAD-инструмента. Разница здесь в том, что RAD-инструмент помогает это делать, предоставив в ваше распоряжение диалоговое окно создания таблицы (или какую-либо подобную структуру) и не позволяя вводить неправильные имена полей, типы или размеры. SQL столько внимания вам не уделит. Работая с SQL, следует точно знать с самого начала, что именно надо делать. Необходимо ввести целый оператор CREATE TABLE, прежде чем SQL обратит на него внимание, не говоря уже о том, чтобы сообщить, нет ли в операторе каких-либо ошибок.

Следующая команда создает таблицу, идентичную созданной ранее:

Как послать запрос к базе на VBA Access

Данный урок посвящен SQL запросам к базе данных на VBA Access. Мы рассмотрим, как на VBA осуществляется запросы INSERT, UPDATE, DELETE к базе данных, а также научимся получать конкретное значение из запроса SELECT.

Те, кто программируют на VBA Access и работая при этом с базой данных SQL сервера, очень часто сталкиваются с такой простой и нужной задачей как посыл SQL запроса к базе данных, будь то INSERT, UPDATE или простой SQL запрос SELECT. А так как мы начинающие программисты мы тоже должны уметь это делать, поэтому сегодня займемся именно этим.

Мы уже затрагивали тему получения данных с SQL сервера, где как раз на VBA писали код для получения этих данных, например в статье про Выгрузку данных в текстовый файл из MSSql 2008 или также немного затрагивали в материале Выгрузка данных из Access в шаблон Word и Excel, но так или иначе там мы рассматривали это поверхностно, а сегодня предлагаю поговорить об этом чуть более подробней.

Примечание! Все примеры ниже рассмотрены с использованием ADP проекта Access 2003 и базы данных MSSql 2008. Если Вы не знаете что вообще такое ADP проект то это мы рассматривали в материале Как создать и настроить ADP проект Access

Исходные данные для примеров

Допустим, у нас есть таблица test_table, которая будет содержать номера и названия месяцев в году (запросы выполнены с использованием Management Studio)

Как я уже сказал, мы будем использовать ADP проект, настроенный на работу с MS SQL 2008, в котором я создал тестовую форму и добавил кнопку start с подписью «Выполнить», которая нам понадобится для тестирования нашего кода, т.е. весь код мы будем писать в обработчике события «Нажатие кнопки».

Запросы к базе INSERT, UPDATE, DELETE на VBA

Чтобы долго не тянуть сразу приступим, допустим, нам нужно добавить строку в нашу тестовую таблицу (код прокомментирован)/

В данном случае запрос выполняется с использованием текущих параметров подключения к базе данных. Можем проверить, данные добавились или нет.

Как видим, данные вставились.

Для того чтобы удалить одну строку пишем вот такой код.

Если мы проверим, то увидим, что нужная строка удалилась.

Для обновления данных записываем в переменную sql_query запрос update, надеюсь, смысл понятен.

Запрос SELECT к базе на VBA

Здесь дела обстоят чуть интересней, чем с остальными конструкциями SQL.

Читать еще:  Не устанавливается майкрософт офис 2020

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

Здесь мы уже используем циклы VBA Access для того чтобы перебрать все значения в нашем наборе записей.

Но, достаточно часто бывает необходимо получить не все значения из набора записей, а всего лишь одно, например, название месяца по его коду. И для этого использовать цикл как-то накладно, поэтому мы можем просто написать запрос, который вернет всего одно значение и обращаться именно к нему, например, получим название месяца по коду 5

Для универсальности здесь мы уже обратились не по имени ячейки, а по ее индексу, т.е. 0, а это самое первое значение в Recordset, в итоге мы получили значение «Май».

Как видите, все достаточно просто. Если Вам достаточно часто требуется получать конкретное значение из базы (как в последнем примере), то рекомендую вывести весь код в отдельную функцию (Как написать функцию на VBA Access 2003) с одним входящим параметром, например, код месяца (если рассматривать наш пример) и просто, где необходимо вывести это значение, вызывать нужную нам функцию с нужным параметром и все, этим мы значительно уменьшим код VBA и улучшим восприятие нашей программы.

Заметка! Если Вас интересует SQL и T-SQL, рекомендую пройти наши курсы по T-SQL, с помощью которых Вы «с нуля» научитесь работать с SQL и программировать с использованием языка T-SQL в Microsoft SQL Server.

Как открыть sql в access

Для того чтобы перенести базу данных из Access 2016 в MS SQL Server необходимо выполнить ряд действий.

Перенос производится отдельными таблицами. Перенос связей не проверялся. Задача состоит в переносе данных на сервер MS SQL Server, для последующей обработки скриптами.

Открываем вашу базу Access. Выделяем нужную нам таблицу для переноса. (Если необходимо переносить несколько таблиц из Access, то потребуется несколько раз выполнить инструкцию). Переходим на вкладку Внешние данные, в разделе экспорт ищем Дополнительно.

Щелкаем по кнопке Дополнительно, откроется меню выбора , выбираем База данных ODBC

Откроется окно. Таблица, которую переносим из Access, называется test. В поле ввода необходимо написать название таблицы, которая будет создана на SQL Server

Откроется окно , Переходим на вкладку как на скрине

Если настройка выполняется первый раз то, Нажимаем Создать и выбираем подходящую вам настройку. Если вы переносите вторую и последующие таблицы, то выбираем подключение и жмем ОК.

Жмем далее и выбираем нужный нам драйвер

Жмем далее и Готово.

Откроется настройка подключения к серверу. Заполняем поля Имя – оно будет отображаться в списке выбора (удобное для вас) и жмем на галочку для выбора сервера. Будет долго думать, потом в выпадающем списке выбираем название экземпляра. Скорее всего у вас будет один.

Жмем Далее. Выбираем проверку подлинности, такую же как на сервере. Хотя может быть и так и так.

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

Готово, делаем проверку источника данных. ТЕСТ УСПЕШЕН! Жмем везде ОК

Дальше, выбираем наш источник данных Жмем ОК

Открывается окно, вводим пароль и жмем Параметры

На этом шаге мы выбираем базу данных, в которую необходимо перенести данные (создастся новая таблица , которую мы указывали в начале — Tablenew) Жмем ОК Вылезет окно, шаги можно сохранить , а лучше не стоит.

На сервере создалась наша таблица со всеми данными.

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

Ссылка на основную публикацию
Adblock
detector