- •Министерство образования россИйСкой федерации
- •Введение 10 Глава 1. Основные термины, понятия и определения информатики 13
- •Глава 2. Операторы 36
- •Глава 3. Основные вcтроенные функции 62
- •Глава 4. Среда разработки Visual Basic 69
- •Глава 5. Основные общие свойства, события и методы 73
- •Глава 6. Объекты, управляющие элементы 79
- •Глава 7. Модули и классы 102
- •Глава 8. Разработка интерфейса 107
- •Глава 9. Работа с базами данных 118
- •Глава 10. Графические средства 174
- •Глава 16. Лабораторный практикум 258
- •Предметный указатель 290 Библиографический список 295
- •Введение
- •Порядок изучения и классификация учебного материала
- •Глава 1. Основные термины, понятия и определения информатики
- •1.1. Алгоритмы
- •1. Словесная форма
- •2. Блок ‑ схема
- •3. Псевдокоды
- •1.2. Языки программирования
- •1. Естественный язык.
- •1.3. Визуальное объектно‑ориентированное программирование
- •1.4. Этапы проектирования программной системы
- •1.5. Общий порядок подготовки программ к выполнению
- •1.6. Типы программ
- •1.7. Информация, данные и их характеристики
- •1.8. Системы счисления
- •1.9. Организация файлов
- •1.10. Структурное программирование
- •1.11. Организация человеко‑машинного интерфейса
- •1.12. Информационные технологии
- •1.13. Защита информации
- •1.14. История возникновения и развития языка Basic
- •Глава 2. Операторы
- •2.1. Объявление данных
- •Типы данных
- •2.1.1. Определение типа пользователя ‑ Type
- •2.1.2. Объявление записи
- •2.1.3. Объявление массива
- •2.1.4. Объявление локальных статических переменных ‑ Static
- •2.1.5. Объявление именованных констант ‑ Const
- •2.1.6. Встроенные именованные константы
- •2.1.7. Перечисленияenum(vb)
- •2.1.8. Коллекции данныхCollection(vb)
- •Вопросы для самопроверки и контроля
- •2.2. Переопределение массивов
- •2.2.1. Инициализация массива ‑ Erase
- •2.2.2. Переопределение массивов ‑ Redim
- •2.2.3. Изменение начала отсчета индексов ‑ Option Base
- •Вопросы для самопроверки и контроля
- •2.3. Работа с внутренними подпрограммами
- •2.3.1. Переход к внутренней подпрограмме ‑ Gosub
- •2.3.2. Возврат из внутренней подпрограммы ‑ Return
- •2.4.2. Безусловный переход ‑ Goto
- •2.4.3. Условный переход ‑ If, Iif
- •Однострочный вид оператора:
- •Пример. Нахождение наибольшего числа из двух чисел a, b.
- •2.4.4. Выбор варианта ‑ Select
- •2.4.5. Цикл ‑ For ... Next
- •2.4.6. Цикл ‑ For Each ... Next(Vb)
- •2.4.7. Цикл ‑ Do... Loop
- •2.4.9. Обмен значениями двух переменных- Swap (qb)
- •Вопросы для самопроверки и контроля
- •2.5. Ввод-вывод
- •2.5.1. Ввод данных с клавиатуры ‑ Input (qb)
- •2.5.2. Ввод строки символов ‑ Line Input (qb)
- •2.5.3. Вывод данных с символами‑разделителями на дисплей ‑ Write (qb)
- •2.5.4. Вывод данных на дисплей ‑ Print
- •2.5.5. Вывод данных на дисплей в заданном формате ‑ Print Using (qb)
- •2.5.6. Вывод данных на принтер ‑ Lprint (qb)
- •2.5.7. Задание числа колонок и строк на экране ‑ Width (qb)
- •2.5.8. Управление курсором- Locate (qb)
- •2.5.9. Чтение из оперативной памяти-Data, Read, Restore (qb)
- •Вопросы для самопроверки и контроля
- •2.6. Работа с файлами
- •2.6.1. Открытие файла или устройства ‑ Open
- •2.6.2. Вывод данных с символами-разделителями в файл ‑ Write #
- •2.6.3. Вывод данных в файл ‑ print #
- •2.6.4. Ввод данных из текстового файла ‑ Input #
- •2.6.5. Ввод строки символов из файла ‑ Line Input#
- •2.6.10. Захват и освобождение файла ‑ Lock, Unlock
- •2.7.2. Задание палитры ‑ Palette (qb)
- •2.7.3. Задание цвета ‑ Color (qb)
- •2.8.3. Изображение окружности и эллипса ‑ Circle (qb)
- •2.8.4. Вычерчивание произвольного изображения ‑ Draw (qb)
- •2.8.5. Окраска изображения ‑ Paint (qb)
- •2.8.6. Запись фрагмента экрана в массив ‑ Get(qb)
- •2.8.7. Восстановление изображения на экране ‑ Put (qb)
- •2.8.8. Копирование страниц экрана ‑ Pcopy (qb)
- •2.10. Вызов внешних процедур и функций
- •2.10.1. Объявление процедур ‑ Declare
- •2.10.2. Задание процедуры ‑ Sub
- •2.10.3. Задание функции ‑ Function
- •2.10.4. Вызов процедуры, функции ‑ Call
- •Вопросы для самопроверки и контроля
- •2.12.4. Конец процедуры обработки прерываний ‑ Resume
- •Глава 3. Основные вcтроенные функции
- •3.1. Математика
- •3.2. Массивы
- •3.3. Строки
- •3.4. Даты и время
- •3.5. Преобразование и контроль данных
- •3.6. Ввод и вывод данных
- •3.7. Установка цвета
- •3.11. Поиск, выбор, замена (vb)
- •3.12. Финансово‑математические функции (vb)
- •Глава 4. Среда разработки Visual Basic
- •4.1. Окна и панели среды разработки
- •4.2. Настройка среды разработки
- •Глава 5. Основные общие свойства, события и методы
- •5.1. Cвойства
- •5.2. События
- •5.3. Методы
- •5.4. Размещение объектов
- •5.5. Экран
- •Вопросы для самопроверки и контроля
- •Глава 6. Объекты, управляющие элементы
- •6.1. Формы
- •6.2. Командные кнопки (CommandButton)
- •6.3. Текстовые поля (TextBox, MaskedEdit, RichTextBox)
- •6.4. Надписи (Label)
- •6.5. Рамки (Frame)
- •6.6. Зависимые переключатели (OptionButton)
- •6.7. Независимые переключатели (CheckBox)
- •6.8. Списки (ListBox)
- •6.9. Комбинированные поля (ComboBox)
- •6.10. Рисунки (Image)
- •6.11. Графические поля (PictureBox)
- •6.12. Таймеры (Timer)
- •6.13. Полосы прокрутки (hScrollBar,vScrollBar,FlatScrollBar)
- •6.14. Ползунок (Slider)
- •6.15. Списки устройств (DriveListBox)
- •6.16. Списки каталогов (DirListBox)
- •6.17. Списки файлов (FileListBox)
- •6.18. Кнопки-счетчики (UpDown)
- •6.19. Полоса процесса (Progressbar)
- •6.20. Контур (Shape)
- •6.21. Линия (Line)
- •6.22. Закладки (ssTab, TabStrip)
- •6.23. Таблицы (msFlexGrid)
- •6.24. Список изображений (ImageList)
- •6.25. Отображение иерархических структур (TreeView)
- •6.26. Отображение списков (ListVew)
- •6.27. Анимация avi (Animation)
- •6.28. Календарь (MonthView, Calendar)
- •6.29. Ввод даты и времени (DateTimePicker)
- •Вопросы для самопроверки и контроля
- •Глава 7. Модули и классы
- •7.1. Модули
- •7.2. Классы
- •Вопросы для самопроверки и контроля
- •Глава 8. Разработка интерфейса
- •8.1. Меню
- •8.2. Всплывающее и динамическое меню
- •8.3. Панель инструментов (ToolBar)
- •8.4. Общий диалог
- •8.4.1. Размещение общего диалога (Common Dialog)
- •8.4.2. Диалог открытия файла
- •8.4.3. Диалог настройки шрифтов
- •8.4.4. Диалог настройки цвета
- •8.4.5. Диалог настройки принтера
- •8.5. Встроенные и специальные диалоги
- •8.6. Панель состояния (StatusBar)
- •Вопросы для самопроверки и контроля
- •Глава 9. Работа с базами данных
- •9.1. Создание баз данных в Data Manager Pro
- •9.2. Создание запросов в Data Manager Pro
- •9.3. Создание форм мастером vb Data Form Wizard
- •9.4. ТехнологияDaOдоступа к базам данных
- •9.4.1. Объект управления Data
- •9.4.2. Объекты управления, связанные с базой данных
- •9.4.3. Методы
- •Уплотнение базы данных методом CompactDatabase
- •9.4.4. Создание базы, таблиц, индексов, связей и запросов
- •9.4.5. Обмен данными с помощью репликаций
- •9.5. Команды языка запросов sql
- •9.5.1. Запросы на выборку данных
- •Указание результатов выборки и источников данных
- •Критерий связи и отбора данных
- •Группировка данных
- •Сортировка
- •Примеры
- •9.5.2. Запросы на обновление данных
- •9.5.5. Изменение структуры таблицы
- •9.5.6. Объединение таблиц
- •9.5.7. Перекрестные запросы
- •9.5.8. Подзапросы
- •9.5.9. Создание и использование базы данных средствами запросов иAdo
- •9.6. Формирование отчетов средствами Crystal Reports
- •9.7. Соединение среды разработки с базой данных
- •9.8. Создание конструктора среды данных
- •9.9. ТехнологияAdOдоступа к базам данных
- •9.9.1. Объект управления ado Data (Adodc)
- •9.9.2. Командные средства
- •9.9.3. Хранимые процедуры (запросы)
- •9.9.4. Отключение наборов данных
- •9.9.5. Копирование набора в двумерный массив (GetRows)
- •9.10. Создание запросов с использованием конструктора среды данных
- •9.11. Формирование отчетов средствами DataReport
- •9.12. Применение отчетов, сформированных субдAccess
- •Вопросы для самопроверки и контроля
- •Глава 10. Графические средства
- •10.1. Общая информация
- •10.2. Отображение точки ‑ pSet, Point
- •10.3. Отображение отрезка и прямоугольника ‑ Line
- •10.4. Изображение окружности, дуг и секторов ‑ Circle
- •10.5. Формирование диаграмм (msChart,ChartFx)
- •Вопросы для самопроверки и контроля
- •Глава 11. Работаcмышью
- •11.1. События и методы
- •11.2. Перенос объектов
- •11.3. Изменение размеров объектов
- •11.4. Рисование
- •X As Single, y As Single) ‘процедура обработки нажатия мышки
- •12.2. Имитация нажатий клавиш
- •12.3. Печать
- •Вопросы для самопроверки и контроля
- •Глава 13. Отладка, компиляция и распространение программ
- •13.1. Отладка
- •13.1.1. Устранение синтаксических и логических ошибок
- •13.1.2. Обработка ошибок, возникающих при выполнении программы
- •13.2. Компиляция
- •13.3. Распространение программ
- •Вопросы для самопроверки и контроля
- •Глава 14. Дополнительные возможности
- •14.1. ActiveX ‑ элементы
- •14.2. Динамически присоединяемые библиотеки (dll,ActiveXdll)
- •14.3. Функции Windows api
- •14.4. Создание справочной системы
- •14.5. Технология ole
- •14.6. Обмен данными через буфер Clipboard
- •14.7. Директивы условной компиляции
- •14.8. Прерывание процессов функцией DoEvents
- •14.9. Параметры настройки приложения
- •14.10. Динамическое создание объектов
- •Вопросы для самопроверки и контроля
- •Глава 15. СозданиеWeb‑страниц
- •15.1. Основные средства созданияWeb‑страниц
- •15.2. ОсновыHtml
- •15.2.1. Правила написания
- •15.2.2. Структура документа
- •15.2.3. Форматирование текста
- •15.2.4. Атрибуты выравнивания текста и управления цветом
- •15.2.5. Шрифты
- •15.2.6. Списки
- •15.2.7. Изображения
- •15.2.8. Таблицы
- •15.2.9. Якорь (элемент привязки документов, их частей, почты)
- •15.2.10. Фреймы
- •15.2.11. Формы, управляющие элементы
- •15.2.12. Использование компонентовActiveX
- •15.2.13. Дополнительные теги
- •15.2.14. Листы стилей
- •15.3. Клиент и сервер
- •15.4. СозданиеAsp‑файла
- •15.5. Основы создания сценариев
- •15.6. Управление броузером
- •15.6.1. ОбъектWindow
- •15.6.2. ОбъектFrame
- •15.6.3. ОбъектLocation
- •15.6.4. ОбъектNavigator
- •15.6.5. Объект History
- •15.6.6. ОбъектDocument
- •15.6.7. ОбъектLinks
- •15.6.8. Объект Anchors
- •15.6.9. ОбъектForms
- •15.6.10. ОбъектElemеnts
- •15.6.10.1. Кнопки (Button, Reset, Submit)
- •15.6.10.2. Переключатели (CheckBox,Radio)
- •15.6.10.3. Поля ввода (Text, TextArea, Password)
- •15.6.10.4. Списки выбора (Select)
- •15.7. ОбъектыAsp
- •15.8. Работа с текстовыми файлами
- •15.9. Работа с базами данных
- •15.10. Визуальный редакторHtml‑документовDreamweaver
- •15.10.1. Палитра основных объектов
- •15.10.2. Настройка Dreamweaver
- •15.10.3. Структура и размещение файлов
- •15.10.4. Создание заготовкиHtml‑документа
- •15.10.5. Создание пустой таблицы
- •15.10.6. Форматирование ячеек таблицы
- •15.10.7. Размещение картинки
- •15.10.8. Создание меню
- •15.10.9. Форматирование текста
- •15.10.10. Режимы работы объектов
- •15.10.11. Команды
- •15.10.12. Анимация
- •Вопросы для самопроверки и контроля
- •Глава 16. Лабораторный практикум
- •16.1. Числовые типы, оператор присваивания
- •16.2. Алгоритмы линейной структуры
- •16.3. Алгоритмы разветвляющей структуры
- •16.4. Алгоритмы циклической структуры
- •16.5. Алгоритмы работы с рядами
- •16.6. Алгоритмы работы с массивами
- •16.7. Обработка символьных данных
- •16.8. Организация подпрограмм
- •16.9. Работа с файлами
- •16.10. Работа с формами в Visual Basic
- •16.11. Совместная работа с файлами, базами и отчетами
- •Пример задачи для Quick Basic
- •Текст программ
- •1. Учет авиапассажиров.
- •16. Учет платежных поручений в банке.
- •2.2. Переопределение массивов
- •2.3. Работа с внутренними подпрограммами
- •2.4. Организация вычислений
- •2.5. Ввод-вывод
- •2.6. Работа с файлами
- •2.10. Вызов внешних процедур и функций
- •5. Основные общие свойства, события и методы
- •6. Объекты, управляющие элементы
- •7. Модули
- •8. Разработка интерфейса
- •9. Работа с базами данных
- •10. Графические средства
- •11. Работа с мышью
- •12. Печать
- •13. Отладка, компиляция и распространение программ
- •14. Дополнительные возможности
- •15. Создание Web‑страниц средствами vbScript, html, asp
- •Приложение 2. Вопросы для экзаменационных билетов
- •Предметный указатель
- •Библиографический список
- •Плещёв Владимир Васильевич Информатика и программирование.
- •С примерами и упражнениями
9.9.2. Командные средства
Общая схема работы в ADO: подключение библиотекADOк приложению; подключение к источнику через объектConnection; формирование каталога (объектCatalog) при создании таблиц и индексов; открытие, формирование и обработка набора данныхRecordset; закрытие и удаление объектовRecordset,Catalog,Connection.
Подключение библиотек
Технология ADOподобнаDAO(п.9.4), но является более современной, универсальной, эффективной и обеспечивает дополнительный доступ к данным черезWeb‑серверInternet. В приложении допускается одновременное использование этих технологий с уточнением типа объектных переменныхConnection,Database,Recordsetпри их объявлении уточнителямиadodbиDAOсоответственно дляADOиDAO.
Пример. Dim adodb As adodb.Recordset: daodb As DAO.Recordeset
Библиотека ADOустанавливается вместе сVisualBasic6.0 или бесплатно копируется сWeb‑сервера фирмыMicrosoftпо адресу: (http: //www.microsoft.com/data/ado/.
Внимание!Перед работойcADOкомандойProject/Referencesвызовите окноReferencesи выберите библиотекуMicrosoftActveXDataObjects2.0Library.
Подключение к источнику (Connection)
Основные свойства Connection
Provider‑ имя провайдера (производителя или поставщика СУБД).
ConnectionString‑ строка подключения к серверу базы данных (обычно указывается имя файла базы). Строку подключения можно присвоить параметру методаOpenобъектаRecordset.
CursorLocation‑ место расположения курсора: на стороне клиента/сервера (adUseClient/adUseServer) для всех наборовRecordsetданного соединения.
Properties(“<имя параметра>”)=”<значение>” ‑ дополнительные параметры подключения (Password,UserID).
Примеры подключения баз СУБДAccess,SQL‑Server,Oracle.
Dim Connection As New adodb.Connection ‘ объявление переменной
Connection.Provider = “Microsoft.Jet.OLEDB.4.0“ 'СУБД Access
Connection.ConnectionString = App.Path & “\строительство.mdb“
Connection.Provider=”SQLOLEDB.1” ‘СУБД SQL‑Server
Connection.ConnectionString=”Database=”&App.Path&“\Товары;“& _
“Server=сервер;UID=пользователь;PWD=пароль;”
Connection.Provider=”MSDAORA” ‘СУБД Oracle
Connection.ConnectionString=”пользователь/пароль/название сервиса”
Формирование DSN‑имени источника данных
Внешние источники данных (провайдер, тип СУБД и базы данных) могут меняться, что вызывает необходимость корректировки команд подключения к источнику. Этого можно избежать, если зарегистрировать описание внешнего источника в Windowsв видеDSN‑имени командойStart/Setting/Control Panel/ODBC Data Sources (32‑bit)/System DSN/Add. В появившемся окне щелкните на имени провайдера (например,MicrosoftAccessDriver) и нажмите кнопкуFinish. В полеData Source NameукажитеDSN‑имя источника, обычно имя базы (например, строительство). КнопкойSelectвыберите базу. КнопкамиOKзакончите формированиеDSN‑имени. Тогда, например, вместо двух команд:
Connection.Provider = “Microsoft.Jet.OLEDB.4.0“ 'СУБД Access
Connection.ConnectionString = App.Path & “\строительство.mdb“ ‘база
можно указать одну команду:
Connection.ConnectionString = “DSN=Строительство“
Основные методы Connection
Open [[<строка подключения>], [<пользователь>], [<пароль>]]‑ подключение и открытие базы данных. В первом параметре можно задать через аргументы значения свойствамConnection, если они не были указаны. Аргументы задаются в виде <имя аргумента>=<значение> и разделяются точкой с запятой.
BeginTrans, CommitTrans, RollBack‑ начать, закончить и отменить транзакцию (п. 9.4.3).
После окончания работы следует указать команды:
Connection.Close ‘ закрыть связь
SetConnection=Nothing‘ освободить память, занятую объектом
Каталог (Catalog)
Каталог ‑ это контейнерный класс для хранения данных о таблицах, курсорах, хранимых процедурах, пользователях и группах. Он используется при создании таблиц, индексов, атрибутов пользователей и групп с помощью программного кода. Между объектами CatalogиConnectionсуществует связь типа “один к одному”.
Внимание!Перед работойcкаталогом командойProject/Referencesвызовите окноReferencesи выберите библиотекуMicrosoftADOExt. 2.1forDDLandSecurity.
Основные свойства Catalog
AciveConnection‑ связывает объектCatalogс объектомConnection.
Tables‑ коллекция объектовTable. Каждый объектTableсодержит коллекции объектовColumns(описание столбцов таблицы),Indexes(индексы),Keys(ключи),Properties(свойства).
Count‑ число таблиц.
Groups, Users, Views‑ коллекции групп, пользователей, представлений.
После окончания работы с каталогом нужно указать команду:
Set Catalog = Nothing ‘ освободить память, занятую каталогом.
Примерсоздания таблицы и индекса.
Private Sub Command1_Click() ‘ процедура создания таблицы
DimZakazhikiAsNewTable‘ создание переменной типаTable
Dim Catalog As New ADOX.Catalog ‘ создание переменной типа Catalog
Dim Key As New ADOX.Key ‘ создание переменной типа Key
On Error GoTo proc_err ‘ переход на процедуру обработки ошибок
Catalog.ActiveConnection=“Provider=Microsoft.Jet.OLEDB.4.0;” & _
“DataSource=” &App.Path& “\строительство.mdb“ ‘подключение к базе
Zakazhiki.Name= “Заказчики“ ‘имя создаваемой таблицы
Zakazhiki.Columns.Append“Kz“,adInteger‘добавления поляKz
Zakazhiki.Columns.Append“Nz“,adVarWChar, 30 ‘добавления поляKz
Catalog.Tables.Append Zakazhiki ‘добавление в базу таблицы Zakazhiki
Key.Name= “Kz“ ‘наименование ключа
Key.Type=adKeyPrimary‘тип ключа ‑ первичный
Key.Columns.Append“Kz“ ‘добавление поляKzв ключ
Catalog.Tables(“Заказчики“).Keys.Append Key ‘добавление ключа
Set Catalog.ActiveConnection = Nothing ‘удаление каталога
Exit Sub ‘выход из процедуры
proc_err: 'блок обработки ошибок
MsgBox(“Описание: “ &Err.Description+ “Код ошибки: “ & _
Err.Number& “ Источник ошибки: “ &Err.Source) ' вывод сообщения
IfErr.Number= -2147217857Then'таблица уже существует
Catalog.Tables.Delete“Заказчики“ ‘удаление из базы таблицы “Заказчики“
Resume' повторное выполнение команды добавления таблицы
End If ‘конец If
End Sub
Набор данных Recordset
После подключения к источнику создается объектRecordset, который содержит данные из конкретной таблицы, запроса, курсора или хранимой процедуры.
Основные свойства Recordset
EOF/BOF ‑выход за начало/конец таблицы.
Recordset[.Fields](“<имя поля>”/номер поля)[.Value]илиRecordset![<имя поля>]‑ значение указанного поля (если имя поля не содержит пробелы, то квадратные скобки в последней форме можно не указывать).
Recordset[.Fields](“<имя поля>”/номер поля).OriginalValue‑ получить или восстановить исходное значения указанного поля.
Source ‑источник данных для набора (имя таблицы, запроса, хранимой процедуры, сохраненного набора данных, объектаCommandили текст командыSQL).
ActiveConnection‑ соединение с базой.
LockType‑ режимы блокировки записей: только чтение (adLockReadOnly), блокировка от начала редактирования до исполнения методаUpdateили перехода к следующей записи (adLockPessimistic), блокировка только в момент исполнения методаUpdateили перехода к следующей записи (adLockOptismistic), поддержка обновления группы записей (adLockBatchOptimistic).
CursorLocation‑ место расположения курсора: на стороне клиента/сервера (adUseClient/adUseServer).
CursorType‑ тип курсора: перемещение только вперед (adOpenForwardOnly); нельзя просматривать записи, добавленные другим пользователем (adOpenKeyset); можно просматривать любые изменения (adOpenDynamic); копия набора (adOpenStatic).
Основные методы Recordset
Open [Source [, ActiveConnection [, CursorType [, LockType]]]]‑ открытие набора с указанием его свойств, если они не были указаны ранее.
Close‑ закрытие набора.
Supports(<тип курсора>)‑ возвращает истину, если провайдер поддерживает указанный тип курсора.
Delete [(<группа записей>)]‑ удалить текущую запись (adAffectCurrent), группу записей, определенных свойствомFilter(adAffectGroup), все записи (adAffectAll).
Filter‑ условие отбора записей в виде строки с условием отбора записей. Символьные константы заключаются в апострофы (Rs.Filter=”Nz=’ЗИК’”).
MoveFirst, MoveLast, MovePrevious, MoveNext ‑ переход на первую, последнюю, предыдущую и следующую запись соответственно (с учетом установленного фильтра).
AddNew,Update‑ включение новой записи и сохранение внесенных изменений. При переходе на другую запись изменения сохраняются.
Recordset.Fields.Refresh‑ повторный вывод полей (обновление) набора.
GetRows ‑копирование набора в двумерный массив (п. 9.9.5).
Примерзаполнения таблицы “Заказчики”. Создадим новую формуForm2 (рис. 9.9.2.1) с кнопками:Далее (продолжить ввод),Сохранить(закончить транзакцию),Отменить(отменить транзакцию),Закончить (закончить ввод данных).
Рис. 9.9.2.1. Форма для ввода данных в таблицу
Процедура заполнения таблицы (кнопка на первой форме)
Private Sub Command2_Click() ‘процедура заполнения таблицы
Dim Connection As New ADODB.Connection
Dim Recordset As New ADODB.Recordset, field As field
Connection.Open “Provider=Microsoft.Jet.OLEDB.4.0;Data Source=“ & _
App.Path& “\строительство.mdb“ ‘подключение и открытие базы
Recordset.Open “Заказчики“, Connection, adOpenDynamic, adLockOptimistic
Recordset.Fields.Refresh ‘обновление набора
Connection.BeginTrans ‘начать транзакцию
Do While True ‘цикл ввода данных
Form2.Text1.Text = 0 : Form2.Text2.Text = ““ 'очистка полей ввода
Form2.Show1 ‘вывод модальной формыForm2 для ввода данных
IfForm2.Tag= “Далее“Then‘обработка кнопки “Далее”
Recordset.AddNew‘создание пустой записи
Recordset.Fields(0).Value = Form2.Text1.Text ‘значение кода заказчика
Recordset.Fields(“Nz”).Value=Form2.Text2.Text ‘наименование заказчика
‘примеры вариантов доступа к значению поля: Recordset(“Nz”).Value,
‘Recordset(“Nz”), Recordset!Nz, Recordset![Nz], Recordset(1).Value,
‘Recordset(1)
Recordset.Update‘сохранение изменения
ElseIfForm2.Tag= “Сохранить“Then‘обработка кнопки “Сохранить”
Connection.CommitTrans ‘закончить транзакцию
Connection.BeginTrans ‘начать новую транзакцию
ElseIf Form2.Tag = “Отменить“ Then ‘обработка кнопки “Отменить”
Connection.RollbackTrans ‘отмена тразакции
Connection.BeginTrans ‘начать новую транзакцию
ElseIf Form2.Tag = “Закончить“ Then ‘обработка кнопки “Закончить”
ExitDo‘выход из цикла ввода данных
EndIf
Loop‘конец цикла ввода данных
Connection.CommitTrans ‘закончить транзакцию
Recordset.Close : Set Recordset = Nothing ‘закрытие
Connection.Close: Set Connection=Nothing ‘закрытие и удаление соединения
End Sub
Процедуры обработки кнопок на форме Form2
Private Sub Далее_Click() :Form2.Tag=“Далее“ :Form2.Hide: End Sub
Private Sub Сохранить_Click():Form2.Tag=“Сохранить“:Form2.Hide: End Sub
Private Sub Отменить_Click() :Form2.Tag=“Отменить“ :Form2.Hide: End Sub
Private Sub Закончить_Click():Form2.Tag=“Закончить“: Form2.Hide: End Sub
Примеротбора и вывода группы записей таблицы в окно отладки.
Private Sub Command3_Click()‘процедура фильтрации и вывода
Dim Connection As New ADODB.Connection
Dim Recordset As New ADODB.Recordset, field As field
Connection.ConnectionString = “DSN=Строительство“ ‘DSN‑имя базы
Connection.Open‘подключение и открытие базы
Recordset.Open“Заказчики“,Connection‘открытие набора
Recordset.Filter= “Nz='Уралмаш'orNz='Химмаш'“ ‘установка фильтра
‘можно было сформировать запрос на выборку записей в виде:
‘Recordset.Open “Select * From [Заказчики]“ & _
‘“Where Nz='Уралмаш' or Nz='Химмаш'“, Connection
Recordset.Fields.Refresh ‘обновление набора
Recordset.MoveFirst‘переход на первую запись таблицы
DoWhileNotRecordset.EOF‘начало цикла чтения записей
ForEachfieldInRecordset.Fields‘цикл вывода полей текущей записи
Debug.Print field.Name & “ = “ & field.Value; “ “; ‘вывод на принтер
Next‘конец цикла вывода полей записи
Recordset.MoveNext:Debug.Print‘переход на следующую запись
Loop‘конец цикла чтения записей
Recordset.Close: Set Recordset = Nothing ‘закрытие набора
Connection.Close: Set Connection=Nothing ‘закрытие и удаление соединения
End Sub