- •Знакомство с visual basic
- •Практическая работа
- •Свойства, методы и события
- •Практическая работа
- •Переменные
- •Объявление переменных
- •Область видимости переменной
- •Ф орма 1
- •Форма 2
- •Математические операторы
- •Операторы сравнения
- •Логические операторы
- •Практическая работа
- •Обработка ошибок
- •Практическая работа
- •Самостоятельно
- •Условия и циклы
- •Самостоятельно
- •Использование списков и полей со списками
- •Удаление строк из списка
- •Ф орма Код (самостоятельно)
- •Массивы
- •Объявления массивов Объявление массива как одной переменной:
- •Заполнение массива
- •Динамический массив
- •Самостоятельно
- •Работа со строками
- •Определение длины строки
- •Усечение строк
- •Самостоятельно
- •Использование одной кнопки для включения / выключения
- •Конкатенация разнотипных строк
- •Коды символов в формате ascii
- •Окно ввода данных
- •Функция Val() и Slr()
- •Вывод информации на форму
- •Функция Format
- •Работа с графическим окном
- •Элемент управления RichTextBox
- •Объект Printer
- •Дополнительные возможности работы со строками Оператор Like и неопределенный поиск
- •Прочие строковые функции
- •Работа с файлами Чтение текстового файла (1 способ)
- •Запись текста в текстовый файл: Форма
- •Чтение текстового файла (2 способ)
- •Самостоятельно
- •Код (самостоятельно)
- •Простой файловый менеджер
- •'FileCopy не допускает файловые шаблоны, поэтому копирование по полному пути
- •Изменение регистра символов строки
- •Код (проанализировать программу, при необходимости – набрать и проверить работу)
- •Создание меню
- •Клавиши доступа и быстрые клавиши
- •Создание всплывающих меню
- •Разделение строк меню
- •Вырезание, копирование и вставка с помощью объекта Clipboard (буфера обмена)
- •Выделение текста в поле текста
- •Самостоятельно
- •Код (сначала попытайтесь самостоятельно написать код)
- •Использование элемента управления
- •Управляющие элементы Image List и Tool Bar
- •Создание дистрибутивного пакета – подготовка приложения к распространению
- •Время и таймеры
- •Использование одной кнопки для включения /выключения
- •Вычисление разницы между датами
- •Вычисление возраста
- •Код (проанализировать, при необходимости набрать проверить работу)
- •Самостоятельно
- •Код (сначала самостоятельно)
- •Подпрограммы и функции Использование процедур в Visual Basic
- •Самостоятельно
- •Определение точки входа в программу (запуск проекта с нужной формы)
- •Выбор подпрограммы Main() точкой входа проекта
- •' Оповещаем пользователя
- •Тестирование и отладка программ
- •Точка остановки программы
- •Наблюдение за несколькими переменными
- •Полосы прокрутки
- •Самостоятельно
- •Дополнительные компоненты active X
- •Создание дистрибутивного пакета – подготовка приложения к распространению
- •Время и таймеры
- •Использование одной кнопки для включения /выключения
- •Вычисление разницы между датами
- •Вычисление возраста
- •Код (проанализировать, при необходимости набрать проверить работу)
- •Самостоятельно
- •Форма Код (сначала самостоятельно)
- •Подпрограммы и функции Использование процедур в Visual Basic
- •Самостоятельно
- •Определение точки входа в программу (запуск проекта с нужной формы)
- •Выбор подпрограммы Main() точкой входа проекта
- •' Оповещаем пользователя
- •Понятие о базах данных
- •Терминология баз данных
- •Элемент управления данными
- •Свойства элемента управления данными
- •Методы элемента управления данными
- •Свойства набора данных
- •Методы набора записей
- •Практическая работа
- •Связывание элемента управления данными с базой данных
- •Что такое Recordset?
- •Поиск записей
- •Поиск дальше
- •Запросы
- •Компоненты языка sql
- •Самостоятельно
- •Создание отчетов с помощью crystal reports
- •Создание отчета
- •Объекты
- •Практика
- •Движение объектов
- •О связанных элементах управления Последовательность событий при загрузке формы
- •Отношения родитель/потомок между элементами управления данными
- •Практикум –
- •Создание базы данных своими руками
- •Какую технологию выбрать?
- •Элемент управления данными ado
- •Сортировка и объединение данных с помощью элемента управления Hierarchical FlexGrid
- •Проект «Школьный журнал» (пример создания и работы с базой данных)
- •Практическое задание Создать базу данных «Записная книжка»
- •Простейший графический редактор
- •При отпускании кнопки мыши
- •Dim n As Integer ‘счетчик новых записей в массиве
Поиск записей
Добавьте в форму кнопку для поиска записей:
Свойства кнопки:
Style: 1 – Graphical
Picture: C:\Program Files\DevStudio\Vb\Graphics\Icons\Misc\Binoculr
Код:
Dim nameFind As String ‘ в разделе общих объявлений General
Private Sub cmdFind_Click()
nameFind = InputBox("Введите любую часть наименования товара", "Поиск по названию")
Data1.Recordset.FindFirst "[Наименование] like '*" & nameFind & "*'"
End Sub
С помощью этой кнопки Вы сможете найти любой товар по любой части его наименования. Например, если Вы введете в InputBox набор букв «огра», то будет найден виноград.
Это делает строка:
Data1.Recordset.FindFirst "[Наименование] like '*" & name & "*'"
Строка: <Data1.Recordset.FindFirst "[Наименование] like '" & name & "*'"> будет искать товар по начальным введенным буквам.
Строка: <Data1.Recordset.FindFirst "[Наименование] like '" & name & "'"> будет искать товар по полному наименованию.
Поиск дальше
Если набор записей содержит повторяющиеся наименования или повторяющиеся цены или что другое, то метод FindFirst находит первую такую запись. Чтобы перейти к следующей записи с таким же критерием поиска, то используют метод FindNext.
Добавьте кнопку «Поиск дальше». Под кнопку поместите код:
Data1.Recordset.FindNext "[Наименование] like '*" & nameFind & "*'"
Дополните Вашу базу данных еще каким-нибудь товаром с одинаковым наименованием, но с другой ценой. Испытайте кнопку «Искать дальше».
Элемент управления DBGrid
Используется для представления данных в виде таблицы:
Добавьте в проект еще одну форму. Назовите ее «Таблица данных».
Добавьте в первую форму кнопку «Таблица»:
Под кнопку напишите код: Form2.Show
Откройте для работы Form2.
Пункт меню Project – Components… - флажок на Data Bound Grid Control – OK
Дважды щелкните в панели элементов на появившемся элементе DBGrid.
Растяните элемент по всей форме.
Добавьте в форму элемент Data и привяжите его к Вашей базе данных. Свойство Visible поставьте False.
Снова выделите элемент DBGrid.
Щелкните правой кнопкой мыши на выделенном элементе.
Выберите пункт Retrieve Fields.
Еще раз сделайте то же самое и выберите пункт Edit
На элементе DBGrid установите мышью удобную для просмотра ширину полей.
Запустите проект:
Теперь Вы можете просматривать записи в таблице и редактировать их.
Запросы
В результате выполнения запроса на экран или принтер должен выводиться список отдельных записей, определенных условием отбора.
Добавьте в форму кнопку «Выбрать»
Добавьте новую форму в проект. Назовите ее «Запрос на выборку»
Под кнопку «Выбрать» поместите код: Form3.Show
Заполните Form3 элементами:
Добавьте еще одну форму в проект. Назовите ее «Выбрано записей»
Под кнопку «Выполнить выборку» напишите код:
Public Str, Str2 As String ‘ объявление глобальных переменных
Public Data1, Data2 As Date
Private Sub Command1_Click()
‘ проверка вводимых значений
If IsNumeric(Text1.Text) Then Str = CInt(Text1.Text): Form4.Show
If IsNumeric(Text2.Text) Then Str2 = CInt(Text2.Text): Form4.Show
If IsDate(Text3.Text) And IsDate(Text4.Text) Then
Data1 = CDate(Text3.Text)
Data2 = CDate(Text4.Text)
Form4.Show
End If
End Sub
Откройте форму 4.
Пометите туда элемент Data и привяжите его к БД «Склад»и к таблице «Товары».
Поместите элемент DBGrid и привяжите его к элементу Data.
Выделите форму 4.
Щелкните View Code (окно Project)
В поле написания кода выберите процедуру обработки события Form_Load()
В процедуре напишите код:
Private Sub Form_Load()
‘объявляем объектную переменную recTovar как Recordset.
Dim recTovar As Recordset
‘объявляем объектную переменную db как Database.
Dim db As Database
‘переменная strSQL будет содержать строку запроса языка SQL
Dim strSQL As String
‘привязываем базу данных к переменной db
Set db = OpenDatabase("C:\Мои документы\sklad.mdb")
If IsNumeric(Form3.Str) Then
strSQL = "SELECT Наименование,Цена from [Товары] where Цена >" & Form3.Str & _
" order by Наименование asc"
End If
If IsNumeric(Form3.Str2) Then
strSQL = "SELECT Наименование,Цена from [Товары] where Цена <" & Form3.Str2 & _
" order by Наименование asc"
End If
If IsDate(Form3.Data1) Then
‘ так как формат даты для SQL должен быть – ДД/ММ/ГГ, а VB представляет
‘ дату как ДД.ММ.ГГ, то приходится пареводить вручную
a$ = Left(Form3.Data1, 2)
b$ = Mid(Form3.Data1, 4, 2)
c$ = Right(Form3.Data1, 2)
d1$ = a$ + "/" + b$ + "/" + c$
a1$ = Left(Form3.Data2, 2)
b1$ = Mid(Form3.Data2, 4, 2)
c1$ = Right(Form3.Data2, 2)
d2$ = a1$ + "/" + b1$ + "/" + c1$
strSQL = "SELECT Наименование,Цена,Доставка from [Товары] where Доставка" & _
" between #" & d1$ & "# and #" & d2$ & "#"
End If
‘привязываем конкретные записи, выбранные строкой SQL, к переменной recTovar
Set recTovar = db.OpenRecordset(strSQL)
‘эти записи привязываем к элементу управления Data1. А так как к Data привязана
‘таблица DBGrid, то в таблице на экране появляются выбранные записи
Set Data1.Recordset = recTovar
End Sub
При составлении запроса к базе данных мы использовали специальный язык запросов SQL.