Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Использование объекта Recordset.
Recordset — это объект, который используется для выполнения операций с записями. Семейство Recordsets содержит все открытые объекты Recordset в открытой базе данных. При закрытии объекта Recordset он удаляется из памяти и из семейства Recordsets. Объекты Database, TableDef и QueryDef включает метод OpenRecordset. Recordset можно открыть, указав в методе OpenRecordset объекта Database название соответствующей таблицы или воспользовавшись методом OpenRecordset объекта TableDef: Dim dbsNorthwind As Database Dim rstEmployees As Recordset Set dbsNorthwind = OpenDatabase("Northwind.mdb") Set rstEmployees = dbsNorthwind.OpenRecordset("Employees", dbOpenDynaset) После открытия объекта Recordset необходимо определить, какие записи доступны. Если в Recordset нет ни одной записи, то его свойства BOF (Beginning Of File — начало файла) и EOF (End Of File — конец файла) установлены в True. Если EOF установлено в False, то Recordset имеет хотя бы одну запись. Если записи существуют, то при открытии Recordset будет выполнено позиционирование на первой записи. Используя метод Move, можно построить цикл, обращающийся к каждой следующей записи в объекте Recordset. Метод MoveLast используется для позиционирования к последней записи Recordset. Для перемещения к предыдущей записи используется метод MovePrevious, пока свойство BOF не будет установлено в True. Метод MoveFirst может быть использован для позиционирования к первой записи. Метод Edit информирует Jet о том, что в текущей записи происходят изменения. При использовании метода Update сделанные изменения вносятся в таблицу. Для добавления записей используйте метод AddNew. Этот метод применяется в комплексе с методом Edit при добавлении новых записей. Как и в случае с методом Edit, записи будут присоединены к таблице после применения метода Update. Для удаления текущей записи используйте метод Delete. После того как обработка объекта Recordset будет завершена, закройте его, воспользовавшись методом Close. Этот метод удаляет объект Recordset из семейства Recordsets и делает объект Recordset недействительным. Некоторые методы:
Некоторые свойства:
Примеры использования методов DAO. Sub Find () Set db = CurrentDb Option Compare Database
Set rs = db.OpenRecordset("tblPeoples", dbOpenDynaset) lngRecordCount = rs. RecordCount rs. MoveFirst 'Переходим на первую запись набора 'Свойство EOF (End Of File) набора записей становиться истинным ПОСЛЕ последней 'записи набора,точно как и свойство BOF (Begin Of File) становиться истинным ПЕРЕД 'первой записью набора. Цикл "Пока не кончатся записи в наборе rs "
Программирование в формах. Определяя имя для поля, элемента управления или объекта, полезно проверить, не совпадает ли это имя с именем свойства или другого элемента, используемого Microsoft Access; в противном случае иногда могут возникать неверные результаты. Например, при ссылке на значение поля «Name» в таблице «NameInfo» с использованием конструкции NameInfo.Name будет возвращаться значение свойства таблицы Имя (Name), а не значение поля «Name». Простейшим способом обойти неопределенность в именах является использование оператора! вместо оператора. (точка) в ссылках на значения полей, элементов управления и объектов: [NameInfo]![Name] Пример запроса, созданного как текстовая строка плюс значения текстовых переменных. Запрос выбирает из таблицы «_ v 2» в таблицу «_ v 4» те записи, значение поля nn в которых больше нуля и меньше значения переменной целого типа var _ numb. Dim S As String S = "SELECT * INTO [_v2] FROM [_v4] WHERE (([_v4].nn<=" + Str(var_numb) + _ ")and([_v4].nn>0))" DoCmd. RunSQL S Классическая фраза, которой приходится завершать функцию, если в результате ваших действий значения некоторых полей в форме должны измениться, а этого почему-то не видно: Forms![Моя форма].Refresh Работа с элементом «поле со списком» (Элемент управления на странице доступа к данным, щелчок по кнопке-стрелке которого приводит к раскрытию списка, в котором можно выбрать значение или ввести его прямо в поле с клавиатуры).
Установка исходных данных для поля (текст в строке свойств «источник строк»): SELECT countries.country, countries.name_rus, countries.currency_rus FROM countries; При этом из трёх столбцов видимым является только второй. Установка начального значения для поля со списком из программы: Private Sub Form_Open(Cancel As Integer) var_country.SetFocus var_country.SelText = " Россия " End Sub Реакция на событие «После обновления»: Private Sub var_country_AfterUpdate() info_1.Caption = var_country.Column(1) Forms![Основная форма].Refresh End Sub
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2017-02-08; просмотров: 1309; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.138.179.119 (0.019 с.) |