Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пос_БД_SQL_Server_Access.doc
Скачиваний:
7
Добавлен:
01.03.2025
Размер:
2.41 Mб
Скачать

Пример 6. Открыть таблицу Товары, прочесть и вывести на экран все записи.

'определение объектных переменных

Dim dbs As Database

Dim rst As Recordset

Set dbs = CurrentDb()

Set rst = dbs.OpenRecordset("Товары", dbOpenTable)

Do Until rst.EOF

MsgBox rst![Индекс товара] & " " & rst![Наименование] & _

" " & rst![Розничная цена] & " " & rst![Сортность], vbOKOnly

rst.MoveNext

Loop

Пример 7. Выбор записей из таблицы Поставка для товара с кодом 123.

Dim dbs As Database

Dim rst As Recordset

Dim sqlq As String

Set dbs = CurrentDb()

sqlq = "Select Поставка.* From Поставка WHERE [Индекс товара] = 123"

Set rst = dbs.OpenRecordset(sqlq)

If rst.RecordCount = 0 Then

MsgBox "Такой индекс товара не найден", vbOKOnly

Else

Do Until rst.EOF

MsgBox "Индекс товара " & rst![Индекс товара] & " " _

& " Количество " & rst![Количество] & " " & _

" Закупочная цена " & rst![Закупочная цена], vbOKOnly

rst.MoveNext

Loop

End If

Пример 8. Выбор данных из связанных таблиц Товары и Поставка, связанных по индексу товара.

Dim dbs As Database

Dim rst As Recordset

Set dbs = CurrentDb()

Set rst = dbs.OpenRecordset("Select Товары.[Индекс товара],Товары.Наименование, Поставка.Количество" & _

" From Товары Inner Join Поставка On Товары.[Индекс товара] = Поставка.[Индекс товара]")

Do Until rst.EOF

MsgBox "Индекс товара " & rst![Индекс товара] & " " _

& " Наименование " & rst![Наименование] & " " & _

" Количество " & rst![Количество], vbOKOnly

rst.MoveNext

Loop

Пример 9. Выбор данных из трех связанных таблиц Товары, Поставщики и Поставка.

Dim dbs As Database

Dim rst As Recordset

Set dbs = CurrentDb()

Set rst = dbs.OpenRecordset("Select Поставщики.Поставщик,"& _

" Товары.Наименование, Поставка.[Дата поступления]," & _

" Поставка.Количество" & _

" From Товары Inner Join (Поставщики Inner Join Поставка " & _

" On Поставщики.[Код поставщика]= Поставка.[Код поставщика])" & _

" On Товары.[Индекс товара] = Поставка.[Индекс товара]")

Do Until rst.EOF

MsgBox "Поставщик " & " " & rst![Поставщик] & _

" Наименование " & rst![Наименование] & " " _

& " Дата поступления " & rst![Дата поступления] & " " & _

" Количество " & rst![Количество], vbOKOnly

rst.MoveNext

Loop

Пример 10. Поиск записей по наименованию товара (не ключевое поле) в таблице Товары и вывод найденных записей.

'определение объектных переменных

Dim dbs As Database

Dim rst As Recordset

'определение полей для ввода ключей

Dim nt As String

'запись в dbs ссылки на текущую базу данных

Set dbs = CurrentDb()

'запись в rst ссылки на таблицу Поставка

Set rst = dbs.OpenRecordset("Товары", dbOpenTable)

'ввод названия товара для поиска

nt = InputBox("Введите название товара", "Ввод параметров поиска")

'цикл, работающий пока таблица не закончилась

Do While Not rst.EOF

'сравнение введенного наименования товара с наименованием ‘ товара из записи таблицы Товары

If nt = rst![Наименование] Then

'вывод найденной записи

MsgBox " Наименование " & rst![Наименование] & _

" Розничная цена " & rst![Розничная цена], vbOKOnly

End If

'переход на следующую запись

rst.MoveNext

'конец цикла

Loop