Курсовик по базам данных и СУБД. Для отдыхающих и продавцов всякой всячины Создание таблицы Access
![]()
|
© Маслянкин В.И. Для отдыхающих и продавцов всякой всячины Создание таблицы Access После создания базы Вы попадаете в режим конструктора таблицы: ![]() ![]() Перейдите в режим конструктора - кнопка «Режимы»: При этом будет предложено задать (поменять) имя таблицы. Можно оставить «Таблица1», можно поменять, например «Студенты». Не стоит называть таблицу «table» (это имя использует Embarcadero) или включать в имя пробел, используйте подчеркивание. Вместо «Студенты прогульщики» назовите таблицу «Студенты_прогульщики». ![]() Задайте имя поля (столбец) и тип данных, хранящихся в этом столбце: ![]() ![]() Замечание, для текстовых полей измените размер поля. По умолчанию 255, задайте поменьше, например 25. Это значение будет использовано для задания ширины столбца в Embarcadero Задайте имена (без пробелов) и типы всех нужных полей. Например: ![]() Повторно нажмите кнопку «Режим» и вернитесь в режим таблицы (заполнение): Потребуется подтвердить сохранение структуры таблицы. Заполните нужное количество записей, например: ![]() Сохраните - «Save As…» в формате Access 2000 или 2002-2003 (тип файла .mdb). Тип файла accdb не понимает не только Embarcadero, но и родное MICROSOFT Visual Studio !!! Напоминание: В названии таблицы и именах столбцов не допускайте пробелов Работа с локальной базой данных В Embarcadero предусмотрены различные способы подключения к базам данных различных типов и, соответственно, множество компонентов, поддерживающих подобные операции. Ниже рассматривается один из самых простых способов, рассчитанный на категории граждан, указанных в заголовке. Создайте стандартный проект типа vcl Forms Application. На форму поместим не визуальный компонент ADOTable из группы dbGo. Не визуальные компоненты применяются для добавления соответствующих объектов в класс формы (что автоматически происходит при помещении любого компонента мышкой на форму), но не отображаются во время исполнения программы. На этапе проектирования можно задать только их место на форме, что, в общем-то, не важно. При этом они отображаются на форме в виде пиктограммы стандартного размера. Подключение требуется проводить при закрытой БД Accesss Прежде задайте строку подключения, используя свойство компонента Connection String; ![]() ![]() Для этого нажмите значок вызова мастера Впрочем, особо продвинутые граждане могут ввести эту строку непосредственно в поле. 1-й шаг: ![]() Выберите «Использовать строку подключения» и нажмите кнопку «Build». 2-й шаг: Выберите необходимого провайдера - Microsoft Jet 4.0 OLE DB Provider и нажмите кнопку «Далее»: ![]() 3-й шаг: ![]() В ![]() Выберите нужный файл - нажмите кнопку . Нажмите кнопку «Проверить подключение». Модальное окно ![]() Означает, что соединение корректно. Подключение требуется проводить при закрытой БД Accesss Нажмите OK - OK - OK и вернитесь в режим проектирования. После создания строки подключения нужно выбрать требуемую таблицу. Для этого раскройте список свойства Table Name компонента ADOTable и выберите одну из доступных таблиц. Далее задайте свойство Active равным значению true. Таким образом, требуется задать три свойства компонента ADOTable в указанном порядке: Connection String Table Name Active Теперь подключите не визуальный компонент Data Source из группы Data Access и задайте его свойство Data Set, выбрав из списка наш компонент ADOTable1. Теперь поместите на форму еще два компонента: DBGrid (таблица) и DBNavigator (из группы Data Control) и подключите их - задайте для них свойства Data Source из списка равным доступному источнику данных - DataSource1. Если все предыдущие этапы были выполнены правильно и подключение активно, в компоненте будут отображаться все ваши записи из выбранной таблицы Accesss. Настройте DBNavigator - уберите лишние кнопки, поскольку при активном подключении вы работаете непосредственно с базой данных, а не с ее копией и все изменения заносятся непосредственно в файл: ![]() В результате получим работоспособную программу. Обратите внимание, что при добавлении новой записи (кнопка «плюс») запись не будет создана до тех пор, рока не заполонено хотя бы одно поле. ![]() Добавьте кнопку «Сортировать». Создайте функцию, обрабатывающую нажатие на эту кнопку и введите код: ADOTable1 -> Sort = "имя_поля DESC"; // или ASC где DESC означает сортировку по убыванию, ASC - по возрастанию. Например: ADOTable1 -> Sort = "ФИО DESC"; Добавьте кнопку «Фильтр», создайте функцию и напишите код: ADOTable1 -> Filter = "имя_поля условие значение"; Например, если значение берется из редактируемого поля Edit1: AnsiString s = Edit1-> Text; ADOTable1 -> Filter = "Оценка > " + s; // знак операции окаймлен пробелами ADOTable1 -> Filtered = true; // включить или, можно из модального окна InputBox (создавать не требуется, как и ShowMessage): AnsiString s = InputBox("заголовок","оценка больше","1"); где параметр «значение» задается символьной строкой и значение функции InputBox так же является строкой. Модальное окно имеет вид: ![]() Отмена фильтра не требует задавать пустое свойство Filter. Требуется задать: ADOTable1 -> Filtered = false; // отключить Замечание: При фильтрации по текстовому полю значение фильтрации необходимо взять в кавычки, например с помощью функции QuotedStr: ADOTable1 -> Filter = "ФИО = " + QuotedStr( s ); |