Bfsoft.ru

Программы, сервисы, полезные советы о компьютере и интернете
1 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Как работать с базами данных Microsoft Access

Как работать с базами данных Microsoft Access

Приложение Microsoft Access – это настольная система управления реляционными базами данных (СУБД), предназначенная для работы на автономном персональном компьютере (ПК) или локальной вычислительной сети под управлением семейства операционных систем Microsoft Windows (Windows 2000, Windows XP и Windows Server 2003).

СУБД Microsoft Access обладает мощными, удобными и гибкими средствами визуального проектирования объектов с помощью Мастеров, что позволяет пользователю при минимальной предварительной подготовке довольно быстро создать полноценную информационную систему на уровне таблиц, запросов, форм и отчетов.

Пользовательский интерфейс MS Access 2003

Интерфейс пользователя MS Access – это комплекс программ, который реализует диалог в процессе работы пользователя с приложением Access.

После загрузки MS Access на экране появится главное окно, в котором размещается окно базы данных. При первом запуске Access в главном окне выводится область задач в режиме «Приступая к работе», с помощью которой можно открыть существующие БД и «Создать файл».

При выборе команды «Создать файл» в области задач изменится режим на «Создание файла».

При выборе команды «Новая база данных» откроется окно диалога «Файл новой базы данных», в котором необходимо выбрать имя диска и директории для хранения БД, а также имя БД (тип файла устанавливается по умолчанию «Базы данных Microsoft Office Access») и щелкнуть на кнопке «Создать», будет сохранен файл с расширением .mdb.

В главном окне появится окно БД с назначенным именем, например «Деканат: база данных (формат Access 2000). В Access2003 для новых баз данных по умолчанию используется формат файла Access 2000, необходимый для обеспечения совместимости с базами данных предыдущих версий. Для того чтобы изменить формат файлов Access 2000, необходимо в меню главного окна выбрать команду «Сервис / Служебные программы / Преобразовать базу данных» и указать нужный формат.

Для изменения используемого по умолчанию формата файлов при создании новой базы данных необходимо выбрать команду Сервис / Параметры, активизировать вкладку «Другие» и в списке «Формат файла по умолчанию» выбрать из списка Access 2002—2003.

Главное окно приложения Microsoft Access состоит из следующих областей:

1) В строке заголовка находится системное меню в виде пиктограммы, расположенной слева от названия главного окна: «Microsoft Access».

2) Строка меню содержит группы команд объединенные по функциональному признаку: Файл, Правка, Вид, Вставка, Сервис, Окно, Справка. Команды, содержащие в меню аналогичны командам в редакторах Word, Excel и в других приложениях Office.

3) Панель инструментов. При запуске Access по умолчанию активизируется одна панель инструментов. На панели инструментов расположены наиболее часто используемые команды. Перед созданием БД необходимо ознакомиться с главным меню и панелью инструментов.

5) Строка состояния находится внизу главного окна и предназначена для вывода краткой информации о текущем режиме работы.

Рассмотри более подробнее окно БД.

В строке заголовка окна базы данных отображается ее имя.

Команды панели инструментов окна БД:
Панель «Объекты»:
Область со списком возможных режимов создания объектов.

В этой области кроме списка режимов создания объектов отображаются созданные объекты (например, таблицы, формы и т.д.), которые можно просматривать или редактировать. Для этого необходимо выделить требуемый объект, например, таблицу и нажать кнопку «Открыть» или «Конструктор».

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

СУБД Microsoft Office Access

Система Microsoft Access является одним из основных компонентов Microsoft Office и предназначена для работы с реляционными базами данных. Особенность данной СУБД : вся информация базы данных хранится в одном файле (*.mdb). Кроме информации таблиц, в этом же файле сохраняются компоненты приложения для работы с базой данных — экранные формы, отчеты, запросы, программные модули.

Читайте так же:
Лучшие расширения переводчики для браузеров

Для работы с базой данных система использует Microsoft Jet database engine — систему управления базами данных, извлекающую и сохраняющую данные в пользовательских и системных задачах. Ядро базы данных Microsoft Jet можно рассматривать как компонент диспетчера данных, с помощью которого строятся остальные системы доступа к данным, такие как Microsoft Access и Microsoft Visual Basic .

Язык написания программных модулей для работы с базой данных — Microsoft Visual Basic for Applications ( VBA ).

Основные возможности системы при работе с базами данных приведены в табл. 7.1.

Таблица 7.1. Спецификации системы Microsoft Office Access 2003

АтрибутМаксимальное значение
База данных
Размер файла базы данных (*.mdb)2 Гбайт за вычетом места, необходимого системным объектам
Число объектов в базе данных32 768
Модули (включая формы и отчеты), свойство Наличие модуля (HasModule) которых имеет значение True)1 000
Число знаков в имени объекта64
Число знаков в пароле14
Число знаков в имени пользователя или имени группы20
Число одновременно работающих пользователей255
Таблица
Число знаков в имени таблицы64
Число знаков в имени поля64
Число полей в таблице255
Число открытых таблиц2048 (фактическое число может быть меньше из-за внутренних таблиц, открываемых Microsoft Access)
Размер таблицы2 Гбайт за вычетом места, необходимого системным объектам
Число знаков в текстовом поле255
Число знаков в поле MEMO65 535 при вводе данных через интерфейс пользователя;1 Гбайт для хранения знаков при программном вводе данных
Размер поля объекта OLE1 Гбайт
Число индексов в таблице32
Число полей в индексе10
Число знаков в сообщении об ошибке255
Число знаков в условии на значение записи2048
Число знаков в описании таблицы или поля255
Число знаков в записи (кроме полей MEMO и полей объектов OLE)2000
Число знаков в значении свойства поля255
Запрос
Число установленных связей32 на одну таблицу за вычетом числа индексов, находящихся в таблице для полей или сочетаний полей, которые не участвуют в связях
Число таблиц в запросе32
Число полей в наборе записей255
Размер набора записей1 Гбайт
Предел сортировки255 знаков в одном или нескольких полях
Число уровней вложения запросов50
Число знаков в ячейке на бланке запроса1024
Число знаков для параметра в запросе с параметрами255
Число операторов AND в предложении WHERE или HAVING99
Число знаков в инструкции SQLприблизительно 64000
Форма и отчет
Число знаков в надписи2048
Число знаков в поле65535
Ширина формы или отчета22 дюйма (55,87 см)
Высота раздела22 дюйма (55,87 см)
Высота всех разделов плюс заголовки разделов (в режиме конструктора)200 дюймов (508 см)
Число уровней вложения форм или отчетов7
Число полей или выражений, которые можно отсортировать или сгруппировать в отчете10
Число заголовков и примечаний в отчете1 заголовок/примечание отчета; 1 заголовок/примечание страницы; 10 заголовков/примечаний групп
Число печатных страниц в отчете65536
Число элементов управления и разделов, которые можно добавить за время существования формы или отчета754
Число знаков в инструкции SQL, работающей в качестве свойства Источник записей (RecordSource) или Источник строк (RowSource) формы, отчета или элемента управления (оба .mdb и . adp )32750
Макрос
Число макрокоманд в макросе999
Число знаков в условии255
Число знаков в комментарии255
Число знаков в аргументе макрокоманды255
Читайте так же:
True Key – что это за программа и как её удалить

В табл. 7.2. приведены сведения о типах данных, которые могут иметь поля в таблицах.

Таблица 7.2. Типы данных системы

Тип данных полейТип данных в VBAИспользованиеРазмер
ТекстовыйStringТекст, состоящий из любых символов в кодировке Unicode (2 байта на символ)До 255 символов
Поле МЕМОStringТекст в кодировке UnicodeДо 64000 символов
Числовой(Байт, Целое, Длинное целое, Одинарное с плавающей точкой, Двойное с плавающей точкой, Код репликации, Действительное)Byte, Integer,Long,Single,DoubleЧисловые данные1, 2, 4 или 8 байтов. 16 байтов только для кодов репликации (GUID)
Дата/времяПолный формат даты. Длинный формат даты. Средний формат даты. Краткий формат даты. Длинный формат времени. Средний формат времени. Краткий формат времениDateДаты и время. 31.12.04 23:55:5931 декабря 2004 г.31-дек-0431.12.0423:55:5911:5523:558 байтов(при активации поля всегда показывает полный формат даты)
ДенежныйCurrencyЗначения валют. Денежный тип используется для предотвращения округлений во время вычислений. Предполагает до 15 символов в целой части числа и 4 — в дробной8 байтов
СчетчикАвтоматическая вставка последовательных (увеличивающихся на 1) или случайных чисел при добавлении записи.4 байта. 16 байтов только для кодов репликации (GUID)
ЛогическийBooleanПоля, содержащие только одно из двух возможных значений, таких как Да/Нет, Истина/Ложь, Вкл/Выкл.1 бит
Поле объекта OLEStringОбъекты (например, документы Microsoft Word, электронные таблицы Microsoft Excel, рисунки, звуки и другие двоичные данные), созданные в программах, использующих протокол OLE. Объекты могут быть связанными или внедренными.До 1 гигабайта (ограничено объемом диска)
ГиперссылкаStringПоле, в котором хранятся гиперссылки. Гиперссылка может иметь вид пути UNC, либо URL-адресаДо 64000 символов
Мастер подстановокСоздает поле, позволяющее выбрать значение из другой таблицы или из списка значений, используя поле со списком. При выборе данного типа запускается Мастер для определения этого поляТот же размер, который имеет первичный ключ, являющийся полем подстановок

Система Microsoft Access имеет собственные средства для разграничения прав доступа пользователей к базе данных.

Простейшим способом ограничения доступа к базе данных является установка пароля для открытия базы данных (*.mdb). После установки пароля при каждом открытии базы данных будет появляться диалоговое окно , в которое требуется ввести пароль . Этот способ достаточно надежен (Microsoft Access шифрует пароль , поэтому к нему нет доступа при непосредственном чтении файла базы данных ), но он действует только при открытии базы данных . После открытия базы все объекты становятся доступными для пользователя (пока не определены другие типы защиты, описанные ниже в этом разделе). Для базы данных , которая совместно используется небольшой группой пользователей или на автономном компьютере, обычно оказывается достаточно установки пароля.

База данных может быть зашифрована. При шифровании базы данных ее файл сжимается и становится недоступным для чтения служебными программами или текстовыми редакторами. Дешифрование базы данных отменяет результаты операции шифрования.

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

Защита на уровне пользователей имеет большие возможности по разграничению прав. Этот способ подобен способам, используемым в большинстве сетевых систем.

При запуске Microsoft Access от пользователя требуется идентифицировать себя и ввести пароль . Microsoft Access по умолчанию создает две группы: администраторы ( группа Admins ) и простые пользователи ( группа Users ). Допускается определение других групп и пользователей.

Члены группы Admins имеют разрешения на доступ ко всем объектам базы данных . Другим группам и пользователям могут предоставляться разрешения на доступ только к отдельным объектам базы данных . Типовые разрешения на доступ для группы Users могут включать » Чтение данных » и » Обновление данных » для таблиц и запросов, а также » Открытие/запуск » для форм и отчетов.

Читайте так же:
Как и чем открыть файл с расширением M4A

Знакомство с Microsoft Access.

Microsoft Access – это интерактивная реляционная СУБД (relational database management system – RDBMS) для WINDOWS.

Это программа, которую можно использовать для хранения и извлечения данных в зависимости от отношений, которые установлены. Работа с ней упрощена посредством манипулятора мыши.

Access также предоставляет в распоряжение пользователя механизмы работы с базами данных различных форматов. К примеру, можно прямо обращаться к базам данных dBASE, Paradox или Btrieve без конвертирования их в формат, используемый Access.

В отличие от других настольных СУБД, Access хранит все данные в одном файле, хотя и распределяет их по разным таблицам, как и положено реляционной СУБД.

СУБД – система управления базами данных.

Функции СУБД
1. Определения данных

СУБД должна допускать определения данных (внешние схемы, концептуальную схему, внутреннюю схему, а также все связанные отображения) в исходной форме и преобразовывать эти определения в форму соответствующих объектов.

2. Обработка данных

СУБД должна уметь обрабатывать запросы пользователя на выборку, изменение или удаление соответствующих данных в базе данных или на добавление новых данных в базу данных.

3. Безопасность и целостность данных

СУБД должна контролировать пользовательские запросы и пресекать попытки нарушения правил безопасности и целостности, определенных АБД.

4. Восстановление данных и дублирование

Восстановление и дублирование данных осуществляется СУБД или администратором.

5. Введение словаря данных

Словарь данных – это исчерпывающий набор таблиц или файлов, представляющий собой каталог всех описаний данных.

6. Производительность

СУБД должна выполнять все указанные функции с максимально возможной эффективностью.

Характеристика СУБД Microsoft Access

СУБД MS Access похожа по своему назначению и возможностям на программу электронных таблиц MS Excel. Однако между ними существуют принципиальные и существенные различия:

  • таблица в MS Access отличается от таблицы MS Excel тем, что в ней для каждого поля записи определен тип данных, т.е. нельзя в разные строки столбца таблицы заносить разнотипные данные;
  • MS Access позволяет не только вводить данные в таблицы, но и контролировать правильность вводимых данных. Для этого устанавливают правила проверки на уровне таблиц;
  • с таблицами MS Excel удобно работать, если они содержат ограниченное количество строк. Таблицы БД могут включать в себя огромное количество записей. СУБД обеспечивает удобные способы извлечения из этого множества необходимой информации;
  • MS Access позволяет хранить все данные в одном файле и осуществлять доступ к этим данным постранично;
  • создание связей между таблицами в MS Access позволяет совместно использовать данные из разных таблиц. При этом для пользователя они будут представляться одной таблицей;
  • взаимосвязи между таблицами MS Access позволяют избежать дублирования данных, сэкономить память компьютера, а также увеличить скорость обработки информации. Для этого таблицы, содержащие повторяющиеся данные, разбивают на несколько связанных таблиц;
  • MS Excel позволяет работать нескольким пользователям с одним документом, однако эти возможности ограничены. MS Access может поддерживать одновременную работу 50 – ти пользователей;
  • система защиты от несанкционированного доступа MS Access позволяет каждому пользователю или группе пользователей работать с теми объектами, на которые выданы права администратором системы. Возможен запрет на использование некоторых команд меню, открытие определенных форм, изменение данных в таблицах или формах.
Объекты СУБД MS Access

Знакомство с Microsoft Access.

Таблицы

Таблицы базы данных могут иметь различное назначение:

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

Таблицы переменной информации – это таблицы, информация об объектах в которых постоянно дополняется или изменяется пользователем.

Читайте так же:
Что такое анизотропная фильтрация и зачем её включать
Запросы

Запросы базы данных представляют собой некоторый набор команд, предназначенных для поиска и обработки информации в таблицах по заданным пользователем условиям. Современные СУБД позволяют формировать запросы:

– на выборку (поиск (выбора) информации в конкретной таблице).

– обновление (предназначены для автоматического обновления данных в отдельных ячейках).

– добавление (предназначены для автоматического добавления записей в таблицы).

– удаление (предназначены для автоматического удаления записей из таблиц БД).

– создание таблиц (создание новых таблиц на основе уже имеющихся).

Формы

Формы при разработке ИС предназначены для организации «дружественного» интерфейса между пользователем и компьютером. По назначению формы можно разделить на следующие группы:

  • формы для ввода данных в таблицы;
  • формы для ввода условий выполнения запросов;
  • формы для автоматического управления работой системы.
Отчеты

Отчеты – это виды документов для вывода результатов обработки информации. Как правило, отчеты могут соответствовать формам отчетности, принятым на предприятии. Это могут быть формы бухгалтерской отчетности или формы технологической документации.

Отчеты разрабатываются на основе информации, содержащейся в таблицах БД или формирующейся в результате выполнения запросов.

Страницы

Страница доступа к данным – предназначена для связи переданной Web – страницы с базой данных, которая находится на сервере. Web – страница, имеющая подключение к БД, позволяет просматривать, добавлять, изменять и обрабатывать сохраненные данные.

Модули

Модули – объекты, содержащие программы, созданные с помощью языка VBA, применяемые для настройки, оформления и расширения БД. Модули могут быть независимыми объектами или относиться к формам, отчетам.

Макрос

Макрос – программа, состоящая из последовательности макрокоманд. Макрокоманда – это инструкция, ориентированная на выполнение определенного действия над объектами Access и их элементами.

Программирование на C, C# и Java

Уроки программирования, алгоритмы, статьи, исходники, примеры программ и полезные советы

ОСТОРОЖНО МОШЕННИКИ! В последнее время в социальных сетях участились случаи предложения помощи в написании программ от лиц, прикрывающихся сайтом vscode.ru. Мы никогда не пишем первыми и не размещаем никакие материалы в посторонних группах ВК. Для связи с нами используйте исключительно эти контакты: vscoderu@yandex.ru, https://vk.com/vscode

MS Access и C# – работаем с базой данных из программы Windows Forms

Рассмотрим выполнение запросов SELECT, INSERT, UPDATE и DELETE к базе данных Microsoft Access из программы на языке C#, на примере проекта Windows Forms в Visual Studio. В конце статьи вы найдете исходники, а также видеоурок по данной теме.

Проектирование базы данных MS Access

Создадим в Microsoft Access базу данных Workers (рабочие) с одной таблицей Worker (рабочий).

Таблица содержит следующие столбцы:

  • w_id (идентификатор записи) – тип данных Счетчик;
  • w_name (имя) – тип данных Короткий текст;
  • w_position (должность) – тип данных Короткий текст;
  • w_salary (зарплата) – тип данных Числовой.

Схема базы данных MS Access для проекта на C#

Для корректной работы с базой данных MS Access с помощью языка C#, ее необходимо сохранить в формате с расширением .mdb

Сохранение БД MS Access в нужном формате для работы с ней на C#

Создание проекта Windows Forms в Visual Studio на языке C#

Создадим проект Windows Forms на C# и поместим на форму следующие компоненты:

TextBox, ListBox и пять кнопок Button.

Расположение элементов управления на форме Windows Forms для выполнения запросов к MS Access на C#

На макете формы в Visual Studio выполним двойные щелчки левой кнопкой мыши на всех кнопках, создав тем самым обработчики событий нажатия для каждой кнопки.

Также в окне свойств формы с помощью двойного щелчка мыши создадим обработчик события FormClosing, выполняющегося при закрытии формы.

Обработчик события закрытия формы - в нем будем закрывать соединение с БД Access

Файл с БД поместим в каталог binDebug в папке с проектом.

Написание кода на C# для выполнения запросов к MS Access

Добавим в класс формы строковое поле string – строку подключения к БД. В строке подключения в значении параметра Data Source указывается путь к файлу с базой данных.

Читайте так же:
Как сделать коллаж из фотографий - лучшие программы и приложения

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

Далее добавим поле класса типа OleDbConnection. Экземпляр данного класса понадобится для установления соединения с базой данных MS Access.

В конструкторе класса создадим экземпляр OleDbConnection и установим соединение с БД. Т.е. при запуске программы будет устанавливаться соединение с Access.

В обработчике события закрытия формы добавим код, закрывающий соединение с базой данных. Таким образом при выходе из программы соединение с БД будет закрываться.

Напишем в обработчик события нажатия кнопки SELECT1 код, выполняющий запрос выборки данных одного столбца одной строки. Вывод данных производится в TextBox.

При нажатии кнопки SELECT2 будет выполняться запрос на получение многострочных данных из нескольких столбцов (по сути таблицы). Данные выводятся в ListBox.

Далее запрос вставки данных (INSERT) в MS Access на C#:

Метод ExecuteNonQuery() класса OleDbCommand выполняет запрос и возвращает целое число типа int – количество строк затронутых выполняемым запросом. Данный метод подходит для запросов вставки INSERT, обновления UPDATE и удаления DELETE. Т.е. для тех, которые не возвращают данные.

Запрос обновления данных UPDATE:

Пример SQL-запроса удаления данных (DELETE) из БД Access с помощью языка C#:

Скачать исходник программы из данного урока можно, нажав на кнопку ниже. Программа написана в среде разработки Visual Studio.

Более подробное объяснение темы выполнения запросов из программы на C# к базе данных Microsoft Access доступно в видеоуроке, представленном ниже.

Видеоурок по теме работы с БД MS Access из программы на языке C#

Поделиться в соц. сетях:

6 комментария(ев) к статье “ MS Access и C# – работаем с базой данных из программы Windows Forms ”

  1. Anton N 27.04.2019 в 22:42

Здравствуйте! Ваше видео мне очень помогло разобраться в некоторых вещах, спасибо большое!
Не могли бы вы подсказать такую вещь – у меня есть текстбокс из которого я беру значение и использую это значение в запросе
Пример:

private void btn_cl_del_Click(object sender, EventArgs e)
<

string query = “DELETE FROM Clients WHERE /> OleDbCommand command = new OleDbCommand(query, myConnection);

Проблема в том, что различается тип данных. Хоть в текстбокс и вводятся цифры, система воспринимает их как текст и поэтому не может произвести поиск по БД, чтобы выполнить запрос
Скажите, как с этим бороться?

  1. admin Автор статьи 28.04.2019 в 19:19

Здравствуйте! Чтобы получить значение из текстового поля, используйте: textbox.Text

Здравствуйте! а что делать в случае если у меня 4 связанных таблицы? как сделать так чтобы с помощью запросов все они обрабатывались и были задействованы

  1. admin Автор статьи 09.06.2019 в 22:28

Здравствуйте! Нужно использовать запросы JOIN.

Здравствуйте! Спасибо большое за видео, но есть один вопросик. Допустим есть таблица с полями Name (длинный текст) и Id ( короткий текст). Одну линейку из бд мы удаляем с помощью DELETE. У нас пускай были айди 1 2 3 4 5. Удалили третий. Теперь у нас 1 2 4 5. Как их обновить. Пробовал через UPDATE, но он разом проходит по всем линейкам БД. Таким образом получаем 1 1 1 1. Как решить эту проблему?

  1. admin Автор статьи 15.11.2019 в 11:19

Здравствуйте! Когда выполняете запрос UPDATE нужно с помощью ключевого слова where указать к какой строке относится запрос (UPDATE TableName SET where А без where запрос изменит все строки в таблице.

голоса
Рейтинг статьи
Ссылка на основную публикацию