Чтение онлайн

на главную - закладки

Жанры

Интернет-журнал "Домашняя лаборатория", 2007 №4
Шрифт:

6. Добавьте в процедуру обработки нажатия кнопки “Поиск” следующий код:

Private Sub Command1_Click

Dim strCompare As String

strCompare = "[Year Published] = " + Text1.Text

Form1!Data1.Recordset.MoveFirst

Form1!Data1.Recordset.FindFirst strCompare

Unload Me

End Sub.

Строковая переменная strCompare определяет условие поиска. Перед использованием метода FindFirst указатель текущей записи устанавливается на первую запись в наборе. Таким образом поиск осуществляется с первой записи в наборе.

В

данном случае поиск предусмотрен только по году издания книги. При необходимости вы можете сами по своему усмотрению определить требуемый критерий поиска.

7. Для отмены поиска необходимо выгрузить окно в процедуре обработки нажатия кнопки “Отмена”:

Private Sub Command2_Click

Unload Me

End Sub.

8. Запустите приложение.

Использование метода Seek для поиска записи

Метод Seek используется для поиска только в наборе записей типа Table. При использовании метода Seek процессор баз данных использует текущий индекс таблицы, который определен свойством Index объекта Recordset. После выполнения этого метода текущей записью в наборе становится найденная запись.

Метод Seek имеет следующий синтаксис:

Recordset.Seek comp, key1, key2.

Первый из аргументов — comp является строкой, которая определяет тип сравнения. В следующей таблице представлены типы сравнения, которые используются с методом Seek.

Строка • Описание

"=" • Равно определенной величине.

">=" • Больше или равно определенной величине.

">" • Больше определенной величины.

"<=" • Меньше или равно определенной величине.

"<" • Меньше определенной величины.

Аргументы keyn представляют собой последовательность значений, с которыми Visual Basic производит сравнение содержимого записей таблицы.

В следующем примере метод Seek используется для поиска записи, содержащей величину 5 в поле

AUID, которое является уникальным индексным полем.

Dim MyTable As Recordset

Set MyTable = Data1.Recordset

MyTable.Index = "AU_ID"

MyTable.Seek "=",5

Стоит еще раз подчеркнуть, что перед использованием метода Seek необходимо установить текущий индекс с использованием свойства Index. В противном случае обращение к этому методу приведет к ошибке.

Как узнать, можно ли изменять базу данных

Если вы намереваетесь редактировать содержимое базы данных, то должны быть уверены, что это можно делать. При использовании наборов записей типа snapshot, вы не можете вносить изменения в базу данных по определению. Если вы не уверены, что содержимое базы данных можно редактировать, можете проверить выполнение следующих условий:

Свойства Updatable у базы данных, набора записей и поля должны быть установлены в True.

Если

какое-нибудь из этих свойств установлено в False, то соответствующие данные доступны только для чтения.

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

С помощью следующего фрагмента кода вы можете проверить, можно ли редактировать базу данных:

If Data1.ReadOnly = True or Data1.Database.Updatable = False Or _

Data1.Recordset.Updatable = False Then

MsgBox "Эти данные не могут быть изменены"

End If

Для того, чтобы определить, допускает ли возможность редактирования определенное поле базы данных, надо проверить бит dbUpdatableField у свойства Attributes. Если этот бит содержит 0, то содержимое поля изменить невозможно. В противном случае редактирование поля допускается.

В следующем примере показано, как проверить возможность редактирования поля "Author":

If Data1.Recordset.Fields("Author").Attributes And _

dbUpdatableField = 0 Then

MsgBox "Это поле не может быть изменено"

End If

Добавление новой записи

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

Для того, чтобы добавить новые записи в набор записей надо проделать следующие действия:

1. Добавить новую пустую запись с помощью метода AddNew объекта Recordset. При этом указатель текущей записи сохраняется и затем перемещается на новую запись.

2. Определить новые значения в полях добавленной записи.

3. Сохранить сделанные изменения использованием метода Update. При этом указатель текущей записи принимает значение, которое у него было перед использованием метода AddNew.

Следующий фрагмент кода показывает, как с помощью программного кода добавить новую запись в таблицу Titles.

Data1.DatabaseName = "BIBLIO.MDB"

Data1.RecordSource = "Titles"

Data1.Refresh

Data1.Recordset.AddNew 'Добавить новую запись

Data1.Recordset("Title") = "Visual Basic" ' Установить значения полей

Data1.Recordset("Year Published") = "1996"

Data1.Recordset("AU_ID") = 37 Data1.Recordset("ISBN") = "111-111-11-11"

Data1.Recordset("PubID") = 43 Data1.Recordset.Update ' Сохранить изменения

Редактирование текущей записи

Для того чтобы изменить данные в вашей базе данных, вы должны сначала сделать запись, подлежащую изменению, текущей записью. Это можно просто сделать при помощи одного из методов Move или при помощи кнопок со стрелками на объекте управления данными. Затем можно провести необходимые изменения содержимого связанных объектах управления. Чтобы сохранить сделанные изменения, достаточно просто переместить указатель текущей записи на любую другую запись или использовать метод Update.

Поделиться:
Популярные книги

Огни Эйнара. Долгожданная

Макушева Магда
1. Эйнар
Любовные романы:
любовно-фантастические романы
эро литература
5.00
рейтинг книги
Огни Эйнара. Долгожданная

Real-Rpg. Еретик

Жгулёв Пётр Николаевич
2. Real-Rpg
Фантастика:
фэнтези
8.19
рейтинг книги
Real-Rpg. Еретик

Вперед в прошлое 2

Ратманов Денис
2. Вперед в прошлое
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Вперед в прошлое 2

Как я строил магическую империю

Зубов Константин
1. Как я строил магическую империю
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Как я строил магическую империю

Возвращение Безумного Бога 5

Тесленок Кирилл Геннадьевич
5. Возвращение Безумного Бога
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Возвращение Безумного Бога 5

Ненужная жена

Соломахина Анна
Любовные романы:
любовно-фантастические романы
5.86
рейтинг книги
Ненужная жена

Идеальный мир для Социопата 6

Сапфир Олег
6. Социопат
Фантастика:
боевая фантастика
рпг
6.38
рейтинг книги
Идеальный мир для Социопата 6

Вечный. Книга II

Рокотов Алексей
2. Вечный
Фантастика:
боевая фантастика
попаданцы
рпг
5.00
рейтинг книги
Вечный. Книга II

Мимик нового Мира 6

Северный Лис
5. Мимик!
Фантастика:
юмористическая фантастика
попаданцы
рпг
5.00
рейтинг книги
Мимик нового Мира 6

Разбуди меня

Рам Янка
7. Серьёзные мальчики в форме
Любовные романы:
современные любовные романы
остросюжетные любовные романы
5.00
рейтинг книги
Разбуди меня

Новая мама в семье драконов

Смертная Елена
2. В доме драконов
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Новая мама в семье драконов

Ты всё ещё моя

Тодорова Елена
4. Под запретом
Любовные романы:
современные любовные романы
7.00
рейтинг книги
Ты всё ещё моя

Разведчик. Заброшенный в 43-й

Корчевский Юрий Григорьевич
Героическая фантастика
Фантастика:
боевая фантастика
попаданцы
альтернативная история
5.93
рейтинг книги
Разведчик. Заброшенный в 43-й

Газлайтер. Том 9

Володин Григорий
9. История Телепата
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Газлайтер. Том 9