Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Запросы. В результате выполнения запроса на экран или принтер должен выводиться список отдельных записей, определенных условием отбора.






В результате выполнения запроса на экран или принтер должен выводиться список отдельных записей, определенных условием отбора.

 

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.

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.