Автор книги: Евгений Матвеев
Жанр: Прочая образовательная литература, Наука и Образование
Возрастные ограничения: +12
сообщить о неприемлемом содержимом
Текущая страница: 3 (всего у книги 18 страниц) [доступный отрывок для чтения: 6 страниц]
3.2. Мастер форм доступа к данным
Вспомогательный мастер Data Form Wizard (Мастер форм доступа к данным) используется для создания форм, связанных с таблицами локальных и удаленных баз данных.
Такие формы служат для изменения и добавления новых записей пользователем, работая непосредственно с самой базой данных.
Мастер форм доступа к данным вызывается из экрана Data Access Forms (Формы для доступа к данным) мастера приложений Visual Basic (Рис.3.12). Сначала появляется начальный экран Data Form Wizard (Мастер форм доступа к данным) (Рис.3.18).
Рис.3.18. Начальный экран Data Form Wizard
(Мастер форм доступа к данным)
Для использования предыдущих настроек, можно нажать кнопку с многоточием у открывающегося списка From what profile do you want to load your settings? (Из какого профиля вы хотите загрузить настройки?) и загрузить сохраненный ранее профиль, после чего щелкнуть на кнопке Finish (Завершить).
Нажмите кнопку Next (Следующий), чтобы перейти к следующему экрану мастера – Database Type (Тип базы данных) (Рис.3.19).
Рис.3.19. Экран Database Type (Тип базы данных)
Data Form Wizard (Мастер форм доступа к данным)
Здесь предлагается выбрать формат базы данных, к которой будет осуществляться доступ:
• Access – база данных Microsoft Access, расположенная на диске или в локальной сети,
• Remote (ODBC) – любая база данных, к которой можно получить доступ через драйвер ODBC, она может быть локальной или находиться на удаленном сервере.
Если выбрать элемент списка Access, то после нажатия кнопки Next (Следующий) откроется экран Database (База данных) (Рис.3.20).
Рис.3.20. Экран Database (База данных)
Data Form Wizard (Мастер форм доступа к данным)
В поле ввода Database Name (Имя базы данных) внесите полный путь к имени файла Microsoft Access, либо щелкните мышью на кнопке Browse… (Просмотреть…) для открытия диалога Access Database (База данных Access) (Рис.3.21).
Рис.3.21. Диалог Access Database (База данных Access)
Data Form Wizard (Мастер форм доступа к данным)
Выберите папку и файл, затем щелкните мышью на кнопке Открыть (Open). В поле Database Name (Имя базы данных) пропишется путь к базе данных.
После нажатия кнопки Next (Следующий) мы перейдем к экрану Form (Форма) (Рис.3.24).
Несколько по-другому осуществляется доступ к базе данных, если на экране Database Type (Тип базы данных) (Рис.3.19) выбран другой тип базы данных – Remote (ODBC).
Тогда после нажатия кнопки Next (Следующий) откроется новый экран мастера – Connect Information (Информация о подключении) (Рис.3.22).
Рис.3.22. Экран Connect Information
(Информация о подключении)
Data Form Wizard
(Мастер форм доступа к данным)
Группа элементов управления ODBC Connect Data (Данные о подключении через ODBC) служит для ввода следующей информации:
DSN – тип файла,
UID – идентификатор пользователя,
PWD – пароль,
Database – имя базы данных,
Driver – тип драйвера ODBC,
Server – адрес сервера.
Обычно, заполняются не все поля, а только необходимые в каждом конкретном случае, поэтому попробуйте ввести то, что вам известно и нажмите кнопку Next (Следующий).
Если введено не все, то мастер форм доступа к данным предупредит вас об этом появлением предупреждающего сообщения: Incomplete Data. You must enter valid connect information before you can continue. (Неполные данные. Вы должны ввести правильную информацию о подключении перед тем, как продолжить.) (Рис.3.23).
Рис.3.23. Диалог Incomplete Data (Неполные данные)
Data Form Wizard
(Мастер форм доступа к данным)
При правильном заполнении всех полей появится новый экран Form (Форма) мастера Data Form Wizard (Мастер форм доступа к данным) (Рис.3.24).
Рис.3.24. Экран Form (Форма)
Data Form Wizard
(Мастер форм доступа к данным)
В поле What name do you want for the form? (Какое имя вы хотите дать форме?) введите имя формы.
Список Form Layout (Компоновка формы) позволяет выбирать формат отображения данных на экране:
Single Record – просмотр, редактирование и добавление одиночных записей,
Grid (Datasheet) – сеточная форма с несколькими записями,
Master/Detail – вывод одной записи из главной таблицы и всех связанных из подчиненной таблицы,
MS HFlexGrid – другая сеточная форма с несколькими записями,
MS Chart – диаграмма.
Щелчком мыши выделите нужный элемент списка Form Layout (Компоновка формы).
Переключатель Binding Type (Тип связи) лучше оставьте в том положении, которое было установлено мастером по умолчанию (ADO Data Control).
Нажмите кнопку Next (Следующий). Отобразится экран Record Source (Источник записей) (Рис.3.25).
Рис.3.25. Экран Record Source (Источник записей)
Data Form Wizard (Мастер форм доступа к данным)
Выберите таблицу, с которой будет связана форма, в открывающемся списке Record Source (Источник записей). Список Available Fields (Доступные поля) покажет названия полей выбранной таблицы.
С помощью кнопок Move the Selected Field to the Right (Переместить выбранное поле направо) или Move All Fields to the Right (Переместить все поля направо) переместите названия полей, которые нужно отображать в форме, из левого списка Available Fields (Доступные поля) в правый – Selected Fields (Выбранные поля).
При необходимости откорректируйте последовательность полей в списке Selected Fields (Выбранные поля) кнопками Move Field Up in List (Переместить поле вверх в списке) и Move Field Down in List (Переместить поле вниз в списке).
Кроме того, можно отсортировать записи таблицы по содержимому одного из полей, выбрав его имя в открывающемся списке Column to Sort By (Сортировать столбец по).
Щелкните мышью на кнопке Next (Следующий) для отображения следующего экрана – Control Selection (Выбор управляющих кнопок) (Рис.3.26).
Рис.3.26. Экран Control Selection (Выбор управляющих кнопок)
Data Form Wizard (Мастер форм доступа к данным)
Группа элементов управления Available Controls (Доступные управляющие кнопки) позволяет выбрать те управляющие кнопки, которые необходимы вашему приложению при работе с записями базы данных:
Add Button (Кнопка «Добавить»),
Edit Button (Кнопка «Редактировать»),
Delete Button (Кнопка «Удалить»),
Refresh Button (Кнопка «Обновить»),
Close Button (Кнопка «Закрыть»).
Оставьте флажки только у тех управляющих кнопок, которые вам необходимы, и щёлкнув на кнопке Next (Следующий) перейдите к финальному экрану мастера форм доступа к данным (Рис.3.27).
Рис.3.27. Финальный экран Data Form Wizard
(Мастер форм доступа к данным)
Чтобы сохранить выполненную последовательность действий в файле профиля для последующего использования, нажмите кнопку с многоточием у открывающегося списка To what profile do you want to save your settings? (В какой профиль вы хотите сохранить настройки?) и сохранить профиль.
После нажатия кнопки Finish (Завершить) мастер форм доступа к данным закончит свою работу.
3.3. Создание приложений в виде мастеров
Разработчики Visual Basic предусмотрели, также, возможность конструирования пользователями собственных приложений-мастеров с помощью VB Wizard Manager (Менеджер мастеров Visual Basic).
Чтобы запустить VB Wizard Manager (Менеджер мастеров Visual Basic), используйте команду меню File – New Project (Файл – Новый проект). Откроется диалог New Project (Новый проект) (Рис.3.28).
Рис.3.28. Диалог New Project (Новый проект)
Выберите внутри диалогового окна значок VB Wizard Manager (Менеджер мастеров Visual Basic) и щелкните мышью на кнопке OK.
При первом запуске менеджера мастеров должно появится сообщение: No Wizard Form Found! Main Wizard must be called «frmWizard’. Create a New Wizard Project? (Не найдена форма мастера! Главный мастер должен называться frmWizard’. Создать нового мастера?) (Рис.3.29).
Рис.3.29. Диалог No Wizard Form Found!
(Не найдена форма мастера!)
VB Wizard Manager
(Менеджер мастеров Visual Basic)
Нажмите кнопку Да (Yes), что приведет к созданию главного мастера VB Wizard Manager (Менеджер мастеров Visual Basic) и открытию диалога Save New Wizard As… (Сохранить нового мастера как…) (Рис.3.30).
Рис.3.30. Диалог Save New Wizard As…
(Сохранить нового мастера как…)
VB Wizard Manager
(Менеджер мастеров Visual Basic)
Введите название нового мастера в поле Имя файла (File Name) и щелкните мышью на кнопке Сохранить (Save). Появится главное окно VB Wizard Manager (Менеджер мастеров Visual Basic) (Рис.3.31).
Рис.3.31. Главное окно VB Wizard Manager
(Менеджер мастеров Visual Basic)
Рассмотрим функции кнопок панели инструментов VB Wizard Manager (Менеджер мастеров Visual Basic), которые позволяют программисту работать со списком последовательно выполняемых действий (шагов), каждому из которых соответствует отдельная форма:
Move All Steps Off Screen (Убрать все шаги с экрана),
Add a New Step to the Wizard (Добавить новый шаг),
Insert a Step Ahead of the Current Step (Вставить шаг перед текущим),
Move the Current Step Up (Переместить текущий шаг вверх),
Move the Current Step Down (Переместить текущий шаг вниз),
Refresh the List of Steps (Обновить список шагов).
Щелкните правой кнопкой мыши внутри окна VB Wizard Manager (Менеджер мастеров Visual Basic). Появится контекстное меню (Рис.3.32).
Рис.3.32. Контекстное меню VB Wizard Manager
(Менеджер мастеров Visual Basic)
Большинство пунктов меню выполняет те же самые функции, что и кнопки панели инструментов, но есть и такие действия, которые можно выполнить только с помощью меню, так как такие кнопки отсутствуют:
Delete – удалить выделенный шаг,
Edit Name – изменить название выделенного шага,
New Wizard – создать новый мастер,
Help – вызвать справку,
Show Toolbar – убрать или показать панель инструментов.
Для обновления текущего списка шагов мастера воспользуйтесь пунктом контекстного меню Refresh (Обновить), либо одноимённой кнопкой панели инструментов.
В окне VB Wizard Manager (Менеджер мастеров Visual Basic) появится список шагов, которые будут выполняться мастером (Рис.3.33).
Рис.3.33. Новый мастер в окне VB Wizard Manager
(Менеджер мастеров Visual Basic)
Выделите щелчком мыши шаг Introduction Screen (Начальный экран). На экране появится окно формы созданного вами мастера (Рис.3.34).
Рис.3.34. Окно формы нового мастера, созданного с помощью
VB Wizard Manager (Менеджер мастеров Visual Basic)
На данной форме располагаются кнопки и другие элементы управления. Их можно изменять, как и в любом другом проекте Visual Basic.
В результате получится приложение, функционирующее в режиме мастера, что удобно для выполнения каких то разовых действий, изменения настроек, которые для удобства лучше выполнять по шагам.
Глава 4. Операторы и выражения
В этой главе вы научитесь:
• разбираться в синтаксисе элементов программы на языке Visual Basic,
• использовать в программах операторы присвоения и многие другие,
• правильно составлять сложные выражения с учетом приоритетов выполнения операций.
4.1. Что такое синтаксис
Прежде чем перейти к описанию конкретных операторов языка, сделаем несколько замечаний о синтаксисе, который будет использоваться в дальнейшем при описании элементов программы на языке Visual Basic, а также различных элементов управления.
Синтаксис (Syntax) – это набор правил, определяющий последовательности символов, допустимые в языке программирования. Например, использование метода SetFocus (Установить фокус) имеет простейший синтаксис:
объект.SetFocus
Здесь достаточно вместо слова объект подставить имя реального объекта:
cmdHello.SetFocus
Другой часто используемый метод Print (Напечатать), выводящий текст на поверхность формы или другого объекта, обладает более сложным синтаксисом:
[объект.] Print [[выражение] [{;|,}]]…
Перечислим основные синтаксические правила, которые здесь использованы:
• элементы в квадратных скобках ([]) не обязательны,
• многоточие за квадратными скобками ([] …) говорит о том, что последовательность в скобках может повторяться несколько раз,
• список в фигурных скобках, разделенный вертикальными черточками ({|}) означает, что нужно выбрать только один из элементов данного списка,
• выражением может быть число, текстовая строка или любая последовательность операторов, дающая общий результат.
Исходя из этого, правильными вариантами использования метода Print (Напечатать) будут следующие:
Form1.Print 1, 2, 3, 4, 5
Picture1.Print «Он»; « и»; «она»
Debug.Print «Name:» & cmdHello.Name «Caption:» & cmdHello.Caption
Описанные выше несложные синтаксические правила будут применяться и далее в этой книге.
4.2. Операторы языка Visual Basic
Программа на языке Visual Basic состоит из последовательности операторов (Statements), являющихся элементарными единицами в структуре программы и выполняющих определенные действия над данными. Синтаксис большинства операторов таков:
операнд1 оператор операнд2
На месте одного или обоих операндов (Operands) чаще всего находятся выражения (Expressions) – элементы программы, вырабатывающие значения. Выражения, в свою очередь, могут состоять из одного или нескольких операторов:
2 +2
varX> 4 And varX <10
Form1.Caption & " " & Form1.Tag
Операторы можно разбить на следующие группы:
• присвоения,
• арифметические,
• конкатенации,
• сравнения,
• логические.
4.3. Оператор присвоения
Наиболее часто в программах на языке Visual Basic используется оператор присвоения, имеющий следующий формат:
приемник_данных = источник_данных
Символ "=" в данном случае является не знаком равенства, а оператором присвоения, а приемник_данных и источник_данных – его операндами.
Операция присвоения может задавать новые значения переменным, либо менять свойства объектов, например:
Number1 = 500
Form1.Caption = «Новый заголовок формы»
Сначала в переменную Number1 заносится целое число 500. Во второй строке свойство Caption (Заголовок) объекта Form1 после операции присвоения будет содержать текст «Новый заголовок формы» (без кавычек, которые являются ограничителями строки символов).
На этих простых примерах мы рассмотрели использование одного оператора присвоения, хотя в правой части может находиться выражение, состоящее из нескольких операторов:
Form1.Caption = «Программа:» & Form1.Name
При работе программы Visual Basic сначала вычисляет значение выражения в правой части оператора, а затем присваивает его в левой части.
4.4. Арифметические операторы
С большинством арифметических операторов вы должны быть знакомы еще со средней школы. Следующая таблица включает полный список арифметических операторов (Рис.4.1).
Рис.4.1. Арифметические операторы
Выражения, состоящие из нескольких арифметических операторов, нередко содержат круглые скобки для изменения порядка выполнения операций, например:
Print (1 +2) * 3
Тип данных результата арифметического выражения определяется типами данных составляющих его операндов. Если же типы разные, то используется тип операнда, имеющий наибольший размер. Так, если вы складываете число 1000 типа Integer (Целый) с числом 100000 типа Long (Длинный целый), то результат будет иметь тип Long (Длинный целый).
4.5. Операторы конкатенации
Операторы конкатенации используются только со строками символов. Их всего два: амперсант "&" и плюс "+». Если быть более точным, то единственный оператор конкатенации может быть выражен одним из этих символов. Операция конкатенации заключается в соединении двух строк в одну.
Пример конкатенации строк:
strWelcome = «Добро» & " " & «пожаловать!»
Результатом соединения трех строк будет одна – «Добро пожаловать!», которая и будет занесена в переменную strWelcome. Обратите внимание, что оператор конкатенации сам не вставляет пробелы между словами. Вторая строка " " в выражении состоит из одного пробела, без которого результирующая строка получилась бы слитной: «Добропожаловать!».
4.6. Операторы сравнения
Операторы сравнения, также похожи на аналогичные знаки математических операций (Рис.4.2).
Рис.4.2. Операторы сравнения
Результатом любой операции сравнения всегда является True (Истина) или False (Ложь), поэтому они часто используются в качестве условий выбора.
Пример использования операции сравнения:
bolYesNo = varX> 4
Здесь в переменную bolYesNo заносится результат сравнения varX> 4. Если varX больше четырех, то переменная принимает значение True (Истина), в противном случае – False (Ложь).
4.7. Логические операторы
И, наконец, завершают множество операторов Visual Basic логические операторы (Рис.4.3).
Рис.4.3. Логические операторы
Их часто называют Булевыми операторами, потому что они заимствованы из математической логики – Булевой алгебры. Операнды и результат логической операции имеют тип Boolean (Логический).
Самым простым является оператор логического отрицания – Not. Если он стоит перед единственным операндом, значение которого – True (Истина), то результатом всего выражения будет False (Ложь), и наоборот (Рис.4.4).
Рис.4.4. Результаты вычисления выражений
с оператором логического отрицания Not
Оператор логического умножения And всегда находится между двумя операндами. Значение всего выражения будет True (Истина), только если оба из них возвращают True (Истина), иначе – False (Ложь) (Рис.4.5).
Рис.4.5. Результаты вычисления выражений
с оператором логического умножения And
Логическое сложение Or – еще один из наиболее часто встречающихся логических операторов. По написанию он похож на предыдущий и возвращает True (Истина), если хотя бы один из операндов имеет значение True (Истина) (Рис.4.6).
Рис.4.6. Результаты вычисления выражений
с оператором логического сложения Or
Исключающее сложение Xor работает аналогично Or, кроме случая, когда оба операнда имеют значение True (Истина) (Рис.4.7).
Рис.4.7. Результаты вычисления выражений
с оператором исключающего сложения Xor
Оператор логической эквивалентности Eqv возвращает True (Истина), если оба операнда имеют одинаковое значение. Иными словами, его результат противоположен использованию оператора исключающего сложения Xor (Рис.4.8).
Рис.4.8. Результаты вычисления выражений
с оператором логической эквивалентности Eqv
Логическая импликация Imp является единственным оператором, результат выполнения которого зависит от положения операндов. Он всегда равен True (Истина), кроме случая, когда первый операнд True (Истина), а второй – False (Ложь) (Рис.4.9).
Рис.4.9. Результаты вычисления выражений
с оператором логической импликации Imp
4.8. Приоритеты операций
Порядок вычисления сложного выражения, состоящего из нескольких операторов, зависит от их приоритетов (Рис.4.10).
Рис.4.10. Операторы языка Visual Basic
в порядке убывания их приоритета
Если друг за другом следуют несколько операторов с одинаковым приоритетом, то вычисление выражения производится слева направо.
В качестве примера попробуйте разобраться с порядком вычисления следующего выражения:
Form1.Visible = 2 <> 3 And Not 2 ^ 3> 2 +3
Даже на первый взгляд видно, что это сделать непросто, особенно если не заглядывать в таблицу. Совсем другое дело, если добавить в выражение несколько пар круглых скобок, явно указывающих на порядок выполнения операций:
Form1.Visible = (2 <> 3) And (Not ((2 ^ 3)> (2 +3)))
Глава 5. Условные переходы и циклы
В этой главе вы научитесь:
• изменять порядок выполнения операторов программы,
• использовать условные и безусловные переходы,
• вводить циклы там, где это необходимо.
5.1. Передача управления в программе
Операторы программы обычно выполняются последовательно, друг за другом. Тем не менее, часто возникает необходимость перехода к другой части программы в зависимости от выполнения определенного условия, а также повторного выполнения группы операторов некоторое количество раз. Для этого используются специальные инструкции языка Visual Basic, производящие передачу управления:
• условные переходы,
• безусловные переходы,
• циклы,
• вызовы подпрограмм.
Условные переходы проверяют одно или несколько условий и в зависимости от этого осуществляют выполнение того или иного блока операторов из нескольких возможных, либо вообще ни один из блоков не выполняется. Безусловные переходы передают управление безо всякой проверки.
Циклы дают возможность повторения несколько раз подряд части программы. Некоторые типы циклов делают фиксированное число повторений, другие – выполняются до тех пор, пока не будет выполнено заданное условие.
Подпрограммы будут рассматриваться в следующей главе.
5.2. Условный переход If…Then… Else
Наиболее часто встречается инструкция условного перехода If…Then… Else. В упрощенном варианте эта инструкция может располагаться в одну строку, тогда ее синтаксис будет следующим:
If условие Then инструкция [Else инструкция_else]
Ключевое слово If (Если) начинает строку. После этого находится условие, представляющее собой булево выражение, в зависимости от значения которого происходит выполнение последующих инструкций:
• если результат = True (Истина), то выполняется инструкция после Then (Затем),
• если результат = False (Ложь), то выполняется инструкция после Else (Иначе), а при отсутствии ключевого слова Else (Иначе) – ничего не выполняется.
Приведем несколько примеров использования упрощенного варианта условной инструкции If…Then… Else:
If 5 <varX Then varY = varX * 2
If Form1.Width <> 3800 Then Form1.Width = 3800
If Button = 2 Then PopupMenu mnuSelColor Else PSet (X, Y)
Гораздо более широкие возможности для программиста предоставляет блоковая форма синтаксиса инструкции If…Then… Else, которая допускает проверку не одного, а нескольких условий. В этом случае инструкции располагаются в несколько строк:
If условие Then
[инструкции]
[ElseIf условие-n Then
[инструкции_elseif]…
[Else
[инструкции_else]]
End If
Многое в блоковом синтаксисе похоже на предыдущую форму записи, но есть и отличия: если результатом проверки условия будет False (Ложь), то перед выполнением блока Else (Иначе) возможна проверка дополнительных условий с помощью ElseIf (Иначе Если). Весь блок завершается ключевым словом End If (Конец Если).
Вот пример, где дважды проверяется свойство Value (Значение) элемента управления HScrollBar (Горизонтальная полоса прокрутки). При достижении свойства Value (Значение) минимума (HScroll1.Value = HScroll1.Min) и максимума (HScroll1.Value = HScroll1.Max) выдаются соответствующие сообщения, в противном случае – происходят вычисления с использованием значения этого свойства:
If HScroll1.Value = HScroll1.Min Then
MsgBox «Достигнут минимум!»
ElseIf HScroll1.Value = HScroll1.Max Then
MsgBox «Достигнут максимум!»
Else
varY = varX / HScroll1.Value
End If
Инструкция условного перехода If…Then… Else может содержать внутри себя другие условные инструкции, причем допускается несколько уровней вложенности, например:
If varX> = 1 And varX <= 1000 Then
If varX <500 Then
MsgBox «Значение меньше 500»
ElseIf varX> 500 Then
MsgBox «Значение больше 500»
Else
MsgBox «Значение равно 500»
End If
Else
MsgBox «Исходное значение вне допустимого диапазона!»
End If
Правообладателям!
Данное произведение размещено по согласованию с ООО "ЛитРес" (20% исходного текста). Если размещение книги нарушает чьи-либо права, то сообщите об этом.Читателям!
Оплатили, но не знаете что делать дальше?