Майкрософт Access поддерживает динамический обмен данными (DDE) как целевое (клиентское) приложение или исходное (серверное) приложение. Например, такое приложение, как Майкрософт Word, выступая в качестве клиента, может запрашивать данные через DDE из базы данных Майкрософт Access, которая выступает в качестве сервера.
Если вам нужно управлять Майкрософт объектами Access из другого приложения, можно рассмотреть возможность использования службы автоматизации.
Беседа DDE между клиентом и сервером устанавливается по определенной теме. Раздел может быть файлом данных в формате, поддерживаемом серверным приложением, или системным разделом, который предоставляет сведения о самом серверном приложении. После начала беседы по определенной теме можно передать только элемент данных, связанный с этой темой.
Например, предположим, что вы используете Майкрософт Word и хотите вставить в документ данные из определенной базы данных Майкрософт Access. Вы начинаете беседу DDE с Майкрософт Access, открыв канал DDE с функцией DDEInitiate и указав имя файла базы данных в качестве раздела. Затем можно передать данные из этой базы данных в Майкрософт Word через этот канал.
Microsoft Access 365 Advanced — Introduction | Knowledgecity.com
Как сервер DDE, Майкрософт Access поддерживает следующие разделы:
- Системный раздел
- Имя базы данных (раздел базы данных )
- Имя таблицы (раздел tablename )
- Имя запроса (раздел queryname )
- Строка SQL Майкрософт Access (раздел sqlstring)
После создания беседы DDE можно использовать инструкцию DDEExecute для отправки команды от клиента в серверное приложение. При использовании в качестве сервера DDE Майкрософт Access распознает любую из следующих команд в качестве допустимой команды:
- Имя макроса в текущей базе данных.
- Любое действие, которое можно выполнить в Visual Basic с помощью одного из методов объекта DoCmd .
- Действия OpenDatabase и CloseDatabase, которые используются только для операций DDE. (Пример использования этих действий см. далее в этом разделе.)
При указании макрокоманды в качестве оператора DDEExecute действие и все аргументы следуют синтаксису объекта DoCmd и должны быть заключены в квадратные скобки ([ ]). Однако приложения, поддерживающие DDE, не распознают встроенные константы в операциях DDE. Кроме того, строковые аргументы должны быть заключены в кавычки (» «), если строка содержит запятую. В противном случае кавычки не требуются.
Клиентское приложение может использовать функцию DDERequest для запроса текстовых данных из серверного приложения через открытый канал DDE. Кроме того, клиент может использовать инструкцию DDEPoke для отправки данных в серверное приложение. После завершения передачи данных клиент может использовать инструкцию DDETerminate для закрытия канала DDE или инструкцию DDETerminateAll , чтобы закрыть все открытые каналы.
Когда клиентское приложение завершит прием данных по каналу DDE, оно должно закрыть этот канал, чтобы сэкономить ресурсы памяти.
HOW TO OPEN M.S ACCESS
В следующем примере показано, как создать Майкрософт процедуру Word с помощью Visual Basic, которая использует Майкрософт Access в качестве сервера DDE. (Чтобы этот пример работал, должен быть запущен Майкрософт Access.)
Sub AccessDDE() Dim intChan1 As Integer, intChan2 As Integer Dim strQueryData As String ‘ Use System topic to open Northwind sample database. ‘ Database must be open before using other DDE topics. intChan1 = DDEInitiate(«MSAccess», «System») ‘ You may need to change this path to point to actual location ‘ of Northwind sample database. DDEExecute intChan1, «[OpenDatabase C:AccessSamplesNorthwind.mdb]» ‘ Get all data from Ten Most Expensive Products query. intChan2 = DDEInitiate(«MSAccess», «Northwind.mdb;» _ QUERY Ten Most Expensive Products») strQueryData = DDERequest(intChan2, «All») DDETerminate intChan2 ‘ Close database. DDEExecute intChan1, «[CloseDatabase]» DDETerminate intChan1 ‘ Print retrieved data to Debug Window. Debug.Print strQueryData End Sub
В следующих разделах содержатся сведения о допустимых разделах DDE, поддерживаемых Майкрософт Access.
Системный раздел
Системный раздел является стандартным для всех Майкрософт приложений windows. Он предоставляет сведения о других темах, поддерживаемых приложением. Чтобы получить доступ к этой информации, код должен сначала вызвать функцию DDEInitiate с аргументом topic , а затем выполнить инструкцию DDERequest с одним из указанных ниже данных для аргумента item .
Список элементов, поддерживаемых разделом System в Майкрософт Access.
Список форматов, Майкрософт Access может скопировать в буфер обмена.
Источник: learn.microsoft.com
Подключение базы данных Microsoft Access к приложению в Microsoft Visual Studio
Необходимо осуществить подключение базы данных к Windows -приложению на языке C# средствами Microsoft Visual Studio 2010 . Приложение должно быть реализовано как Windows Forms Application .
⇑
Выполнение
1. Создание приложения типа Windows Forms Application .
⇑
2. Вызов мастера подключения.
Для доступа к файлу базы данных необходимо сделать его подключение к приложению. Это осуществляется путем вызова команды « Add New Data Source… » из меню « Data » (рис. 1) либо кликом на крайней левой кнопке с панели инструментов Data Source .
Рисунок. 1. Вызов мастера подключения к файлу базы данных
⇑
3. Выбор типа источника данных.
В результате откроется окно мастера для подключения к источнику данных которое изображено на рис. 2.
Рисунок. 2. Выбор типа подключения из которого приложение будет получать данные
В окне необходимо выбрать один из четырех возможных вариантов подключения к источнику данных. В MS Visual Studio существует четыре типа подключения к источникам данных:
- Database – подключение к базе данных и выбор объектов базы данных;
- Service – открывает диалоговое окно Add Service Reference позволяющее создать соединение с сервисом, который возвращает данные для вашей программы;
- Object – позволяет выбрать объекты нашего приложения, которые в дальнейшем могут быть использованы для создания элементов управления ( controls ) с привязкой к данным;
- Share Point – позволяет подключиться к сайту SharePoint и выбрать объекты для вашей программы.
В нашем случае выбираем элемент Database и продолжаем нажатием на кнопке Next .
⇑
4. Выбор модели подключения к базе данных.
Следующий шаг – выбор модели подключения к базе данных (рис. 3).
Рис. 3. Выбор модели подключения к базе данных
Система предлагает выбор одного из двух вариантов:
- модели данных на основе набора данных ( Dataset );
- модели данных Entity , что означает, что система может сгенерировать модель данных из базы данных которой могут выступать сервера баз данных Microsoft SQL Server , Microsoftt SQL Server Compact 3.5 или Microsoft SQL Server Database File , либо создать пустую модель как отправную точку для визуального проектирования концептуальной модели с помощью панели инструментов.
В нашем случае выбираем тип модели данных DataSet .
⇑
5. Задание соединения с БД.
Следующим шагом мастера (рис. 4) есть выбор соединения данных которое должно использоваться приложением для соединения с базой данных.
Рис. 4. Выбор соединения с базой данных
Для создания нового соединения необходимо выбрать кнопку « New Connection… «. В результате откроется окно « Add Connection » (рис. 5) в котором нужно добавить новое соединение Microsoft Access и выбрать маршрут к файлу базы данных.
В нашем случае поле « Data source » уже содержит нужный нам тип соединения « Microsoft Access Database File (OLE DB) «.
Рис. 5. Добавление нового соединения и выбор файла базы данных
Если нужно выбрать другую базу данных, то для этого используется кнопка « Change… «, которая открывает окно, изображенное на рисунке 6.
Рис. 6. Смена источника данных
В окне на рисунке 6 системой Microsoft Visual Studio будет предложено следующие виды источников данных:
- Microsoft Access Database File – база данных Microsoft Access ;
- Microsoft ODBC Data Source – доступ к базе данных с помощью программного интерфейса ODBC ( Open Database Connectivity );
- Microsoft SQL Server ;
- Microsoft SQL Server Compact 3.5 ;
- Microsoft SQL Server Database File ;
- Oracle Database – база данных Oracle .
Нажимаем кнопку « Browse… » и в открывшемся окне (рис. 7) « Add Connection » выбираем маршрут к файлу базы данных « db1.mdb «. Целесообразно размещать файл базы данных в каталоге содержащим исполняемый модуль приложения.
Для проверки правильности установленного соединения можно воспользоваться кнопкой « Test Connection «.
Рисунок 7. Окно « Add Connection » с выбранной базой данных « db1.mdb «
После нажатия на кнопке ОК система сгенерирует строку « Connection string » (рис. 8) который в дальнейшем будет использован для программного подключения к базе данных.
Кликаем на « Next » для продолжения работы мастера.
Рис. 8. Строка Connection string
После выбора Next система выдаст информационное окно следующего вида (рис. 9). Если выбрать «Да», то файл базы данных « db1.mdb » будет копироваться в выходной каталог приложения каждый раз при его запуске в среде MS Visual Studio . Как правило, это каталог, содержащий основные модули приложения. В нашем случае каталог
Е:ProgramsC_SharpWindowsFormsApplication1WindowsFormsApplication1
В этом каталоге размещаются все основные исходные модули проекта, например Program.cs (модуль, содержащий основную функцию WinMain() ) , Form1.cs (содержит исходный код обработки главной формы приложения) и другие.
Рисунок 9. Окно добавления файла базы данных в проект
⇑
6. Формирование конфигурационного файла приложения.
После выбора кнопки « Next » мастера откроется следующее окно, в котором предлагается сохранить строку соединения в конфигурационный файл приложения (рис. 10).
Рисунок 10. Предложение записи строки подключения к базе данных в конфигурационный файл приложения
Ничего не изменяем, оставляем все как есть (кликаем на Next ).
⇑
7. Выбор объектов базы данных для использования в программе
Последнее окно мастера (рисунок 11) предлагает выбрать список объектов (таблиц, запросов, макросов, форм и т.д.), которые будут использоваться в наборе данных. Как правило выбираем все таблицы базы данных. В нашем примере база данных содержит всего одну таблицу с именем Tovar .
Рисунок 11. Выбор объектов базы данных, которые будут использоваться в данном наборе данных
После выбора кнопки « Finish » заканчиваем работу с мастером подключения. Теперь база данных подключена к приложению и будет автоматически подключаться при его запуске или при его проектировании в MS Visual Studio .
⇑
8. Что же изменилось в программе после выполнения мастера?
Если выбрать панель Data Source (рисунок 12), то можно увидеть, как подключен набор данных с именем db1Dataset в котором есть таблица с именем Tovar .
Рисунок 12. Окно DataSources содержит подключение к базе данных
Точно также можно увидеть изменентия в панели Server Explorer (рисунок 13), где появилась база данных « db1.mdb » с таблицей Tovar и ее полями. Приложение может подключать не только одну, но и несколько баз данных.
Рис. 13. Окно приложения с изменениями в панели Server Explorer
⇑
9. Подключение методов оперирования базой данных.
Для того, чтобы использовать методы, которые будут работать с базой данных MS Access (и не только MS Access ), необходимо подключить пространство имен System.Data.OleDb .
Для этого в основной форме ( Form1.cs ) в Solution Explorer выбираем режим просмотра кода (View Code) из контекстного меню (рис. 14) и вначале файла добавляем следующую строку:
using System.Data.OleDb;
Рисунок 14. Вызов программного кода главной формы приложения ( Form1.cs ) с помощью Solution Explorer
Общий вид верхней части файла Form1.cs будет следующим:
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Data.OleDb;
На этом этапе подключение к базе данных db1.mdb выполнено. Дальнейшими шагами есть создание программного кода для оперирования данными в базе данных.
⇑
Связанные темы
- Вывод таблицы базы данных Microsoft Access в компоненте dataGridView
- Разработка приложения автоматизации диспетчера касс автовокзала
- Перевод базы данных Microsoft Access в формат MS SQL Server
- Пример разработки программы демонстрации основных операций над данными таблицы базы данных MS SQL Server
Источник: www.bestprog.net
Насколько востребован MS Access?
Очень много учебных заведений учит проектировать информационные системы на базе MS Access.
А какое значение для рынка имеет специалист с этим инструментом?
- Вопрос задан более года назад
- 1816 просмотров
Комментировать
Решения вопроса 4
Senior .NET developer
Да можно сказать что никак.
Снизу эксель, сверху взрослые БД.
Что то хранить у клиента используется Sqlite
Ответ написан более года назад
Комментировать
Нравится 3 Комментировать
Очень много учебных заведений учит проектировать информационные системы на базе MS Access.
Это прекрасный маркер, что учебное заведение двадцать лет не обновляло учебный план и НИЧЕМУ в IT научить просто физически не может.
Изучение этих резных костылей из копролита сейчас может только привить дурные привычки и создать неверное представление о том, как в современном мире решаются типовые задачи.
Ответ написан более года назад
Комментировать
Нравится 2 Комментировать
С педагогической точки зрения изучение ms access примерно то же самое что изучать бейсик на примере консольного qbasic который одно время даже входил в поставку windows (до xp) — программированию и работе с базами данных научить сможет но с практической точки зрения навыки малополезны, очень мало кому сейчас может понадобиться.
Может я перебарщиваю, но ms access в развитии застыло где то на уровне 2000 года, в то время это был мегапрорывный продукт, сочетающий в себе возможности как базы данных так и среды разработки приложений, а наличие драйверов odbs для доступа к .mdb базам предоставляло возможности серверных баз данных клиентам.. на сколько я помню некоторые приложения mdb файлы использовали как базовый формат хранения (например ergis).
Сейчас, если разработчик желает использовать майкрософт инфраструктуры, лучше использовать visual studio с библиотеками windows forms, те же DataSource и DataBinding позволяют пользуясь исключительно средой разработки и графическим интерфейсом (мышкой накликать) создать сложное приложение, работающее с базой данных (для которой есть .net драйвер, а это считай для любой). Плюс существуют отдельные среды по работе с базами данных и построению sql запросов (dbforge studio например). нет нужды искать универсальный инструмент, позволяющий как разрабатывать интерфейс так и запросы к базе, лучше использовать узкоспециализированные.
Источник: qna.habr.com