Структура вложенности коллекций объектов DAO — КиберПедия 

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

История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...

Структура вложенности коллекций объектов DAO

2022-10-29 23
Структура вложенности коллекций объектов DAO 0.00 из 5.00 0 оценок
Заказать работу

DBEngine   ‑ объект самого верхнего уровня в модели DAO.

Errors  (Error) ‑ описание ошибок доступа к базе.

Properties  (Propert y) ‑ свойства объектов вышестоящего уровня.

     Workspaces  (Workspace) - определяет именованный сеанс работы пользователя, содержит открытые базы данных и предоставляет механизмы для одновременного выполнения транзакций, поддерживает работу защищенной рабочей группы.

     Databases  (Database) - представляет открытую базу данных.

              Connections  (Connection) - подключение к базе данных ODBC.

Groups  (Group) - представляет группу учетных записей пользователей, которые имеют общие разрешения при открытии объекта Workspace для защищенной рабочей группы.

Users  (User) - содержит все сохраненные объекты User объекта Workspace или Group.

Properties (Property) ‑ свойства объектов вышестоящего уровня.

     Структура объекта Database

Database   ‑представляет собой открытую базу данных. При открытии существующего объекта Database или при создании нового объекта в объекте Workspace база данных автоматически добавляется в семейство Databases. Объект Database, закрытый с помощью метода Close, удаляется из семейства Databases, но не удаляется с диска. Перед закрытием объекта Database необходимо закрыть все открытые объекты Recordset. При ссылках на объект Database используют его порядковый номер в семействе или значение свойства Name (имя) в одной из следующих синтаксических конструкций: Databases(0), Databases(“имя>”), Databases![<имя>].

Можно открыть базу данных несколько раз, создавая повторяющиеся имена в семействе Databases. После этого следует присвоить объекты Database объектным переменным и ссылаться на объекты по именам переменных.

Recordsets  (Recordset) ‑ представляет собой открытую таблицу базы.

Fields  (Field) - представляет собой поле открытой таблицы.

Properties (Property) ‑ свойства объектов вышестоящего уровня.

TableDefs  (TableDef) - содержит все объекты TableDef базы данных. Работа с определением таблицы проводится с помощью объекта TableDef и его методов и свойств. При ссылках на объект TableDef используют его порядковый номер в семействе или значение свойства Name (<имя>):

TableDefs(0) или TableDefs(“<имя>”) или TableDefs![<имя>]

Indexes  (Indexes) - содержит индексы. При доступе к объектам Recordset типа таблицы порядок записей определяется свойством Index объекта. В значении этого свойства следует указывать значение свойства Name существующего объекта Index из семейства Indexes объекта TableDef, представляющего собой базовую таблицу объекта Recordset. Применение методов Append или Delete к семейству Indexes возможно только при значении True свойства Updatable вмещающего объекта TableDef. Созданный новый объект Index должен быть добавлен в семейство Indexes объекта TableDef с помощью метода Append.

Fields  (Field), Properties (Property)

Relations  (Relation) - используют для создания новых связей и просмотра существующих в базе данных. Чтобы добавить объект Relation в семейство Relations, следует сначала создать этот объект с помощью метода CreateRelation, а затем добавить его в семейство Relations с помощью метода Append. Для удаления объекта Relation из семейства следует вызвать метод Delete. При ссылках на объект Relation используют его порядковый номер в семействе или значение свойства Name (<имя>):

Relations(0), Relations(“<имя>”), Relations![<имя>].

Fields  (Field), Properties (Property)

Indexes (Index) ‑ содержит индексы.

Fields (Field),Properties (Property)

QueryDefs  (QueryDef) - содержит запросы. Для создания нового объекта QueryDef следует использовать метод CreateQueryDef. Если задать пустую строку в аргументе имя или в свойстве Name, то будет создан не постоянный, а временный объект QueryDef. При ссылках на объект используют его порядковый номер в семействе или значение свойства Name (<имя>):

QueryDefs(0), QueryDefs(”<имя>”), QueryDefs![<имя>]

Parameters   (Parameter) - содержит параметры QueryDef.

Fields (Field), Properties (Property)

Containers  (Container) - содержит контейнеры.

Documents  (Document) - содержит сведения об экземплярах встроенных объектов типа, определяемого объектом Container.

Properties (Property) ‑ свойства объектов вышестоящего уровня

Использование Recordset

Свойство Recordset можно рассматривать как объект, связанный с воображаемой таблицей, к которой подключен объект Data.

Объект создается методом OpenRecordset (<источник>[, <тип>]) после открытия базы данных методом OpenDatabase (<база>) или методом Currentdb  для уже открытой текущей базы данных. Поскольку эти методы являются функциями, то перед их использованием нужно объявить переменные, соответствующие типам Database и Recordset. Источником может быть имя таблицы, запроса или текст команды запроса.

Параметр <тип> метода OpenRecordset определяет тип набора: DbOpenTable (табличный), dbOpenDynamic (динамический в рабочей об­лас­ти ODBCDirect), dbOpenDynaset (динамический), dbOpenSnapshort (мо­мен­тальный снимок), dbOpenForwardOnly (продвижение только вперед).

     Для сокращения записи программы можно использовать команду установки области умолчания для объекта:

With  <имя объекта> ‘установка начала области умолчания объекта

...                          ‘команды

End With                  ‘конец области умолчания

Внутри области умолчания свойства или методы начинаются непос­ред­ствен­но с точки (.MoveNext).

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

<имя объекта Recordset>[.Fields]({“<имя поля>”|<номер поля >})[. Value]

<имя объекта Recordset>!<имя поля записи>

<имя объекта Recordset>![<имя поля записи>]‘ в имени есть пробелы

Пример. rs.Fields(“Fam”)=”Иванов” или rs!Fam=”Иванов”.

Свойство RecordCount  содержит число записей в наборе.

Пример cоздания объектов Data и Recordset с именами Db, Rs, Rb

Dim Db as Database, Rs as DAO.Recordset, Rb as DAO.Recordset

Set Db=OpenDatabase(App.Path+“\Стройки.mdb”) ‘открытие базы строек

Set Rs=db.OpenRecordset(“select * From [Zakazhiki] Order By [Nz]”) ‘запрос

Set Rb=db.OpenRecordset(“Goroda”)      ‘открытие справочника городов

Debug.Print Rs.Fields(“Kg”), Rs!Ng          ‘вывод кода и наименования города

Print “Число заказчиков ”,Rs.RecordCount ‘вывод числа строек

После создания объекта Recordset можно получить доступ к данным.

Перемещение по таблице

Методы MoveNext  (следующая запись), MovePrevious  (предыдущая запись), MoveLast  (последняя запись ), MoveFirst  (первая запись).

Примеры вывода записей из таблицы и запроса

Dim db As Database                                      ‘объявление переменной базы

Private Sub Form_load ‘заголовок процедуры загрузки формы

Set Db=Opendatabase(App.Path+”\Стройки.mdb ”) ‘открытие базы

End Sub

Private Sub Command1_Click() ‘процедура распечатки справочника

Dim Rs As DAO.Recordset            ‘объявление переменной набора Recordset

Set Rs=db.OpenRecordset(“Zakazhiki”) ‘создание Recordset Rs

Do Until rs.EOF                             ‘заголовок цикла чтения таблицы

Debug.Print rs.Fields(“Kz”)&rs!Nz ‘вывод на экран записи

Rs.MoveNext                             ‘переход к следующей записи набора

Loop

Rs.Close                                         ‘закрытие набора Rs

End Sub

Private Sub Command2_Click() ‘ процедура вывода запроса из базы

Dim rs As DAO.Recordset

Set rs = db.OpenRecordset(“Select * from Стройки “) ‘формирование запроса

Do While Not rs.EOF: Debug.Print rs(“ns“).Value: rs.MoveNext: Loop ‘вывод

rs.Close: db.Close                                                     ‘закрытие набора и базы

End Sub

Для добавления записи в набор записей используется метод AddNew. Метод вызывается в виде, например: data1.Recordset.AddNew. Метод создает пустую запись в оперативной памяти, а не в базе, очищает все поля формы, связанные c базой данных, давая возможность вводить значения для новой записи. При программном режиме следует присвоить полям значения, используя объект Fields, например: rs.Fields(“Nt”)=”Сахар” или rs!Nt=”Сахар”. Если нужно сразу запомнить все изменения в записи, вызывается метод Update, имеющий синтаксис, аналогичный синтаксису метода AddNew. Если тип набора ‑ мо­мен­таль­ный снимок, то обновлять базу данных запрещено.

Для удаления записи используется метод Delete.

Пример

Private Sub cmdDelete_Click() ‘обработка кнопки “Удалить”

With datPrimaryRS.Recordset ‘установка объекта по умолчанию

.Delete                               ‘удаление текущей записи

.MoveNext                        ‘переход к следующей записи

If.EOF Then.MoveLast     ‘переход на последнюю запись

End With                            ‘конец области умолчания

End Sub                              ‘окончание процедуры

Для корректировки поля записи выполните ряд действий.

1. Установите текущей нужную запись.

2. Выполните метод Edit объекта Recordset.

3. Присвойте новые значения корректируемым полям, например: rs.Fields(“Nz”)=”АО Уралмаш” или rs!Nz=”АО Уралмаш”.

4. Сохраните обновленную запись методом Update объекта Recordset.

Для сортировки набора обычно используются индексы или команды SQL с фразой Order By. Индекс может быть создан заранее при создании таблицы или программным способом. 

Пример

rs.Recordset.Index=”kz”                            ‘установка индекса под именем Kz

rs.Recordset.MoveFirst                             ‘переход на логически первую запись

rs.Recordset=”Select * From [Zakazhiki] order by Kz” ‘запрос-сортировка


Поделиться с друзьями:

Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...

Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьше­ния длины пробега и улучшения маневрирования ВС при...

Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...

Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.026 с.