Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Запросы. В результате выполнения запроса на экран или принтер должен выводиться список отдельных записей, определенных условием отбора.
В результате выполнения запроса на экран или принтер должен выводиться список отдельных записей, определенных условием отбора.
1. Добавьте в форму кнопку «Выбрать» 2. Добавьте новую форму в проект. Назовите ее «Запрос на выборку» 3. Под кнопку «Выбрать» поместите код: Form3.Show 4. Заполните Form3 элементами:
5. Добавьте еще одну форму в проект. Назовите ее «Выбрано записей» 6. Под кнопку «Выполнить выборку» напишите код:
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
7. Откройте форму 4. 8. Пометите туда элемент Data и привяжите его к БД «Склад»и к таблице «Товары». 9. Поместите элемент DBGrid и привяжите его к элементу Data. 10. Выделите форму 4. 11. Щелкните View Code (окно Project) 12. В поле написания кода выберите процедуру обработки события Form_Load() 13. В процедуре напишите код:
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.
|