
3.1. Структура приложения и взаимодействия форм.
Приложение должно состоять из одной главной формы, которая будет позволять пользователю выбирать нужную ему таблицу для просмотра, шести форм для отображения таблиц с данными, и одной формы с запросами.
На главной форме располагается восемь кнопок, нажатием которых пользователь вызывает нужную ему таблицу, форму с запросами или выходит из программы. Вид главной формы (до запуска приложения) изображен на рис. 3.1.1.
Рис. 3.1.1 Вид главной формы
Таблица свойств объектов главной формы:
Таблица 3.1.1
Объект |
Name |
Caption |
Visible |
Enabled |
Дополнительно |
Form1 |
frmMain |
Рекламное агентство – главная форма |
True |
True |
- |
Image1 |
Image1 |
- |
True |
True |
Stretch: True Picture: (Bitmap) |
Label1 |
Label1 |
Рекламное агентство |
True |
True |
BackColor: &H00C0FFC0& Font: MS Sans Serif |
Label2 |
Label2 |
Выберите объект для просмотра или команду |
True |
True |
BackColor: &H00C0FFC0& Font: MS Sans Serif |
Command Button1 |
Command1 |
Услуги |
True |
True |
Font: MS Sans Serif |
Command Button2 |
Command2 |
Заказы |
True |
True |
Font: MS Sans Serif |
Command Button3 |
Command3 |
Заказчики |
True |
True |
Font: MS Sans Serif |
Command Button4 |
Command4 |
Специалисты |
True |
True |
Font: MS Sans Serif |
Command Button5 |
Command5 |
Счёт |
True |
True |
Font: MS Sans Serif |
Command Button6 |
Command6 |
Материалы |
True |
True |
Font: MS Sans Serif |
Command Button7 |
Command7 |
Запросы |
True |
True |
Font: MS Sans Serif |
Command Button8 |
Command8 |
Выход |
True |
True |
Font: MS Sans Serif |
Программный код главной формы:
Private Sub Form_Load()
frmOrder.Hide
frmCust.Hide
frmSpec.Hide
frmServ.Hide
frmMater.Hide
frmBill.Hide
End Sub
Private Sub Command1_Click()
frmServ.Show
frmMain.Hide
End Sub
Private Sub Command2_Click()
frmOrder.Show
frmMain.Hide
End Sub
Private Sub Command3_Click()
frmCust.Show
frmMain.Hide
End Sub
Private Sub Command4_Click()
frmSpec.Show
frmMain.Hide
End Sub
Private Sub Command6_Click()
frmMater.Show
frmMain.Hide
End Sub
Private Sub Command5_Click()
frmBill.Show
frmMain.Hide
End Sub
Private Sub Command8_Click()
End
End Sub
Private Sub Command7_Click()
frmQuery.Show
frmMain.Hide
End Sub
На шести формах, вызываемых главной формой, будут отражаться данные из базы данных Рекламное агентство. Для этого в каждую форму помещаем текстовые поля (в них будут отражаться записи таблиц), поля метки (с названием полей таблиц), объекты DataGrid (для отображения всех данных таблиц), средство управления данными ADO и командные кнопки (они будут позволять пользователю удалять, добавлять записи в таблицу или вернуться к главной форме). Таким образом, получаем шесть следующих форм (вид форм до запуска приложения):
Рис. 3.1.2 Внешний вид формы «Счёт»
Рис. 3.1.3 Внешний вид формы «Заказчики»
Рис. 3.1.4 Внешний вид формы «Материалы»
Рис. 3.1.5 Внешний вид формы «Заказы»
Рис. 3.1.6 Внешний вид формы «Услуги»
Рис. 3.1.7 Внешний вид формы «Специалисты»
Для отражения запросов нужно создать еще одну форму. На ней располагаем объект с закладками SSTab. Он нужен для того, чтобы разместить все запросы в одной форме. Также добавляем в форму на каждую закладку по таблице DataGrid для отображения результатов запросов, средство управления данными ADO, командные кнопки для запуска запросов. Внешний вид формы «Запросы» представлен на рис. 3.1.8.
Рис. 3.1.8 Внешний вид формы «Запросы»
3.2. Открытие базы данных «Рекламное агентство» при помощи средства управления данными ADO.
Средство управления данными ADO представляет собой новую технологию Microsoft для работы с информацией реляционных и нереляционных баз данных. Технология ADO основана принципе доступа к данным OLE DB, специально предназначенном для обеспечения доступа к широкому спектру различных источников данных, включая традиционные реляционные табличные базы данных, системы электронной почты, графические изображения, ресурсы Internet и т.д. Технология ADO требует меньше объема памяти, чем DAO, поэтому она подходит для сетевых компьютерных систем, которые работают с более жестким трафиком и с более высокими скоростями транзакций.
Microsoft в разное время предлагала программистам на Visual Basic три различных метода программирования баз данных, и каждый из них полностью поддерживается на Visual Basic 6.
DAO – метод объектов доступа к данным (Data Access Objects - DAO) представляет собой первый объектно-ориентированный интерфейс, который давал возможность программистам манипулировать средствами работы с базами данных Microsoft Jet, представляющими собой технологию, используемую для доступа к полям и записям таблиц в Microsoft Access и другим источникам данных. Технология DAO все еще популярна и эффективна для локальных приложений обработки баз данных, а также сетей для малых и средних рабочих групп.
RDO – метод объектов удаленных данных (Remote Data Object - RDO) представляет собой объектно-ориентированный интерфейс для работы с источниками информации, поддерживающими открытое соединение с базами данных (Open Database Connectivity - ODBC). RDO является объектной моделью, используемой большинством разработчиков баз данных, которые интенсивно работают с Microsoft SQL Server, Oracle и другими большими реляционными базами данных.
ADO – метод объектов данных ActiveX (ActiveX Data Object - ADO) был разработан в развитие методов DAO и RDO и использует схожую объектную модель. В ADO все локальные и удаленные источники данных, доступные для компьютера, представляются в виде программируемых объектов. Можно осуществить доступ к этим объектам с использованием нового средства управления ADO, путем встраивания объектов типа данные в стандартные средства управления Visual Basic и в средства управления ActiveX, путем создания DHTML-приложений, а также с помощью использования конструктора окружения данных Data Environment Designer.
Microsoft рекомендует программистам на Visual Basic использовать ADO при создании новых приложений для работы с базами данных в Visual Basic. С этой целью в профессиональную версию Microsoft Visual Basic 6 было включено несколько средств, специально разработанных для поддержки технологии ADO.
Средство управления ADO создает элементы интерфейса для работы с базой данных в виде четырех кнопок со стрелками. В процессе выполнения программы, если объект является видимым и установлено соединение с соответствующей базой данных, можно щелкнуть мышью на первой слева стрелке для перехода к первой записи в базе данных, либо щелкнуть на крайней справа стрелке для перехода к последней записи в базе данных. Внутренние стрелки позволяют переходить соответственно к предыдущей и последующей записям в базе данных.
Для установления связи с базой данных Рекламное агентство.mdb нужно воспользоваться свойством ConnectionString средства управления ADO. Для этого нужно щелкнуть на объекте ADO в форме, открыть окно Properties (Свойства) и щелкнуть на кнопке в поле значения свойства ConnectionString. Появится диалоговое окно Property Pages (свойства), как показано на рис. 3.2.1.
Рис. 3.2.1 Диалоговое окно Property Pages
Щелкнем на второй кнопке выбора Use ODBC Data Source Name (Использовать имя источника данных ODBC). Далее щелкаем на кнопке New (новый) справа от кнопки выбора Use ODBC Data Source Name (Использовать имя источника данных ODBC). Появится следующее диалоговое окно (рис. 3.2.2).
Рис. 3.2.2 Диалоговое окно «Создание нового источника данных»
Выбираем вторую опцию (источник данных пользователя). Она означает, что база данных физически размещается на той машине, на которой в настоящий момент работает пользователь, и эта база данных будет использоваться только им. В данном случае выбираем вторую опцию, поскольку создается простая демонстрационная программа для собственного пользования.
После выбора кнопки щелкаем по кнопке «Далее». При этом появляется диалоговое окно с запросом о драйвере базы данных, который будет использоваться при организации соединения с базой данных (рис.3.2.3).
Рис. 3.2.3
Выбираем нужную опцию Microsoft Access Driver и щелкаем по кнопке «Далее». Visual Basic обобщит выбранные опции и предложит щелкнуть мышью на кнопке «Готово» для продолжения конфигурирования файла имени источника данных Data Source Name (рис. 3.2.4).
Рис. 3.2.4
После нажатия кнопки «Готово» появляется новое диалоговое окно с именем Установка драйвера ODBC для Microsoft Access (рис. 3.2.5). В этом диалоговом окне можно задать имя файла источника данных, выбрать базу данных, с которой устанавливается связь, и задать параметры соединения. В текстовое поле Имя источника данных вводим «Рекламное агентство Records».
Рис. 3.2.5 Диалоговое окно Установка драйвера ODBC для Microsoft Access
Щелкаем на кнопке «Выбрать…», просматриваем содержимое папки D:\проект, и выбираем базу данных Рекламное агентство.mdb, затем щелкаем на кнопке ОК. В диалоговом окне Установка драйвера ODBC для Microsoft Access также нажимаем кнопку ОК. Вновь появится диалоговое окно Property Page (Свойства). Щелкаем на поле с ниспадающим списком Use ODBC Data Source Name (Имя источника данных), затем выбираем строку Рекламное агентство Records. Щелкаем на кнопке ОК в диалоговом окне Property Pages (Свойства) для окончания установки соединения.
Рис. 3.2.6 Диалоговое окно Property Pages
Диалоговое окно Property Pages закроется, а в окне Properties (Свойства) напротив свойства ConnectionString появится надпись DSN = Рекламное агентство Records.
Переходим к свойству RecordSource и щелкаем на кнопке справа от имени свойства RecordSource. Снова появится диалоговое окно Property Pages, но на этот раз будет отображена вкладка RecordSource (Источник записей). Щелкаем на ниспадающем списке Command Type (Тип команды) и выделяем строку 2 – adCmdTable. В поле с ниспадающим списком Table Or Stored Procedure Name (Имя таблицы или процедуры) загружаем имя нужной нам таблицы (например, таблицу «Услуги» рис. 3.2.7)гружаем имя нужной нам таблицы.вкладка ва ентство.ь, и задать параметры соединения. рамма для собственного пользования.база д).
Рис. 3.2.7 Диалоговое окно Property Pages
Щелкаем на кнопке ОК, чтобы завершить выбор источника записей RecordSource. В окне Properties рядом со свойством RecordSource появится имя таблицы «Услуги».
Щелкаем на объекте Text1 формы Услуги (frmServ) в окне Properties. Устанавливаем для свойства DataSource значение Adodc1, а для свойства DataField - значение №. Аналогичные операции проводим со всеми текстовыми полями формы, присваивая им соответствующие имена полей.
Повторяем аналогично все действия для объектов Adodc и текстовых полей остальных форм.
3.3. Удаление и добавление записей в базу данных «Рекламное агентство».
Для добавления и/или удаления записей в таблицах в каждой форме предусмотрены кнопки «Добавить» (cmdAdd) и «Удалить» (cmd Del). Программный код для этих действий в каждой формы аналогичен.
Рассмотрим программный код для удаления и добавления записей на примере формы «Услуги» (frmServ):
Добавление записей в таблицу
Private Sub cmdAdd_Click()
prompt$ = "Для ввода новой записи нажмите на кнопку ОК"
reply = MsgBox(prompt$, vbOKCancel, "Добавить запись")
If reply = vbOK Then
Text1.SetFocus
Adodc1.Recordset.AddNew
End If
End Sub
Удаление записей из таблицы
Private Sub cmdDel_Click()
prompt$ = "Вы действительно хотите удалить этот вид услуги?"
reply = MsgBox(prompt$, vbOKCancel, "Удаление записи")
If reply = vbOK Then
Adodc1.Recordset.Delete
Adodc1.Recordset.MoveNext
End If
End Sub
После выполнения всей последовательности вышеизложенных операций имеем приложение для открытия базы данных Рекламное агентство с возможностью редактирования данных в ней.
Ниже приведен внешний вид форм после запуска приложения с отображением всех данных таблиц базы данных Рекламное агентство.
Рис. 3.3.1 Форма «Услуги»
Рис. 3.3.2 Форма «Заказы»
Рис. 3.3.3 Форма «Заказчики»
Рис. 3.3.4 Форма «Специалисты»
Рис. 3.3.5 Форма «Материалы»
Рис. 3.3.6 Форма «Счёт»