В начало

Таблица «Кадры» через ADO

 

            Для начала открываем Access и создаем новую базу данных с именем «db8.mdb». В этой базе создаем таблицу «Кадры» с полями как на рисунке ниже. Далее закрываем «Access».

Рис. 1. Таблица «Кадры» в базе «db8.mdb»

 

            Затем переходим в «Дельфи 7», переходим на закладку «ADO» и перетаскиваем на проект компонент «ADOConnection». Открываем свойство «ConnectionString» и на закладке «Поставщик» выбираем там «Microsoft Jet 4.0 OLE DB Provider», а на закладке «Подключение» нашу БД «db8.mdb», жмем «Ок». Также свойство «LoginPromt»  можно установить как «False».

            Далее перетаскиваем из панели компонентов «ADOQuery», устанавливаем в нем свойство «Connection» как «ADOConnection1», типа подключились к подключателю. И устанавливаем свойство «Active» как «True».

            Потом заходим на закладку «Data Access» и перетаскиваем компонент «Data Source», устанавливаем в нем свойство «DataSet» в «ADOQuery1».

            Затем возвращаемся к компоненту «ADOQuery1» и в поле «SQL» записываем запрос «SELECT * FROM Кадры».

            После этого нужно с закладки «Data Controls» перетащить компонент «DBGrid» и установить ему свойство «DataSource». Установить в нем свойство «Option – dgRowSelect» как «True».

Рис. 2. Окно программы в «Дельфи 7» с логическими связями компонентов

 

            Далее размещаем на форме 3 кнопки и называем их «Добавить», «Изменить» и «Удалить».

            Для диалога добавления элементов в нашу БД нужно/можно создать новую форму, создаем ее в «Главное меню –> File –> New Form». На этой форме надо разместить 4 компонента «DBEdit» для ввода данных таблицы «Кадры» и 1 компонент «DBComboBox» для выбора статуса. Также размещаем пару кнопок, называем их просто «Ок» и «Отмена». Чтобы можно было связать компоненты, расположенные на «Form2» с компонентами на «Form1» необходимо в модуле второго модуля прописать после слова «implementation» строку «Uses Unit1;» После этого можно установить свойства компонентов «DBEdit».

Свойство

Значение

Примечание

DataSource

Form1.DataSource1

 

DataField

Имя

Для «DBEdit1»

 

Фамилия

Для «DBEdit2»

 

Отчество

Для «DBEdit3»

 

Телефон

Для «DBEdit4»

 

Статус

Для «DBComboBox1»

Items

Отличник труда

Хороший работник

Посредственный работник

Бездельник

Для «DBComboBox1»

            В кнопке «Ок» в обработчик событий запишем код.

  Form1.ADOQuery1.Post;

  Form2.Close;

            В обработчике кнопки «Добавить» на «Form1» пишем код.

  Form2.Show;

  ADOQuery1.Insert;

            Теперь можно добавить первую запись. Компилируем проект, запускаем, жмем кнопку «Добавить», появляется окно, в которое вводим данные для первого сотрудника. После ввода нажимаем кнопку «Ок», данные записываются в нашу таблицу «Кадры».

Рис. 3. Ввод данных на «Form

 

            Вводим еще нескольких сотрудников в базу данных.

Рис. 4. Некоторые сотрудники

 

            Чтобы удалять записи в таблице нужно в обработчике событий кнопки «Удалить» прописать следующий код «ADOQuery1.Delete;».

            А чтобы можно было изменять записи просто пропишем в кнопку «Изменить» строку «Form2.Show;».

            Чтобы организовать автоматический поиск по таблице кадров нужно положить на форму «Form1» компонент «StatusBar» для отображения вводимого значения.

            Затем создаем глобальную переменную «Stek» типа «AnsiString».

Переходим на  «Form1» и заходим на компонент «DBGrid1» в свойство «OnKeyPress», где записываем код.

   Stek:=Stek + Key; //Присваиваем набранный текст переменной

   DBGrid1.DataSource.DataSet.Locate('Имя', Stek, [LoPartialKey]); //Ищем по полю «Имя»

   StatusBar1.Panels[0].Text:=Stek; //Отображаем что ищем в строке статуса