Vvmebel.com

Новости с мира ПК
5 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Access dao recordset

Access dao recordset

Замечания
Объект Recordset представляет набор записей в основной таблице или набор записей, который получается в результате выполнения запроса.
Объекты Recordset используются для обработки данных в базе данных на уровне записи. При работе с объектами доступа к данным (DAO) почти все операции выполняются с помощью объектов Recordset. Каждый объект Recordset состоит из записей (строк) и полей (столбцов). Существуют объекты Recordset пяти типов:

  1. Объект Recordset типа таблицы — программное представление основной таблицы; используется для добавления, изменения или удаления записей из отдельной таблицы базы данных (только в рабочей области Microsoft Jet).
  2. Объект Recordset типа динамического набора записей — набор обновляемых записей, полученный в результате выполнения запроса. Объект Recordset типа динамического набора записей позволяет добавлять, изменять или удалять записи в основной таблице или таблицах. В объекте Recordset этого типа динамического набора могут содержаться поля из одной или нескольких таблиц базы данных. Этот тип объектов соответствует указателю ключевого набора записей ODBC.
  3. Объект Recordset типа статического набора записей — статическая копия набора записей, используемая для поиска данных или создания отчетов. Объект Recordset типа статического набора записей может содержать поля из одной или нескольких таблиц базы данных, но не допускает обновления полей. Этот тип объектов соответствует указателю статического набора записей ODBC.
  4. Объект Recordset типа статического набора записей с последовательным доступом — аналогичен статическому набору записей с тем лишь исключением, что в нем отсутствует указатель. Пользователь имеет возможность прокручивать записи только вперед. Это повышает быстродействие в ситуациях, когда достаточен однократный проход по набору записей. Этот тип объектов соответствует указателю набора записей с последовательным доступом ODBC.
  5. Объект Recordset динамического типа результирующий набор записей запроса по одной или нескольким основным таблицам, в котором допускается добавление, изменение или удаление записей. В таком объекте Recordset отображаются записи, добавляемые, удаляемые или изменяемые в основных таблицах другими пользователями. Этот тип объектов соответствует динамическому указателю ODBC (только в рабочей области ODBCDirect).

При создании нового объекта Recordset тип объекта определяется с помощью аргумента тип метода OpenRecordset.
В рабочей области Microsoft Jet, если аргумент тип не задан, механизм DAO пытается создать тип объекта Recordset с максимально возможными функциональными характеристиками, начиная с таблицы. Если таблицу создать не удается, делается попытка создать динамический набор записей, затем статический набор записей и наконец, набор записей с последовательным доступом.
В рабочей области ODBCDirect, если аргумент тип не задан, механизм DAO пытается создать тип объекта Recordset, обеспечивающий максимально быстрое выполнение запроса, начиная с набора записей с последовательным доступом. Если объект этого типа создать невозможно, механизм DAO делает попытку создать статический набор записей, затем динамический набор записей, и наконец, объект Recordset динамического типа.
При создании объекта Recordset на основе неприсоединенного объекта TableDef в рабочей области Microsoft Jet создаются объекты Recordset типа таблицы. На основе присоединенных таблиц или таблиц в базах данных ODBC, подключенных к ядру Microsoft Jet, могут быть созданы только объекты Recordset типа динамического набора записей или статического набора записей.
Новый объект Recordset автоматически добавляется в семейство Recordsets при открытии объекта и автоматически удаляется из семейства при закрытии объекта.
При описании в программе объекта Recordset и содержащего его объекта Database с помощью объектных переменных необходимо обеспечить, чтобы эти переменные имели одинаковую область определения или одинаковое время жизни. Например, при описании общей переменной, представляющей объект Recordset, необходимо обеспечить, чтобы переменная, представляющая объект Database, содержащий объект Recordset, также была общей, либо описать эту переменную в процедуре Sub или Function с ключевым словом Static.
В приложении допускается определение произвольного числа объектных переменных, представляющих объект Recordset. Разные объекты Recordset могут иметь доступ к одним таблицам, запросам и полям без возникновения конфликтов.
Объекты Recordset типа динамического набора записей, статического набора записей и статического набора записей с последовательным доступом сохраняются в локальной оперативной памяти. Если в оперативной памяти не хватает места, ядро базы данных Microsoft Jet сохраняет избыточные данные в каталоге временных файлов на диске. Если и этот объем окажется недостаточным, возникает перехватываемая ошибка.
Объекты Recordset по умолчанию помещаются в семейство Fields. Используемым по умолчанию свойством объекта Field является свойство Value (значение). Эти используемые по умолчанию характеристики позволяют упростить программу.
Если созданный объект Recordset содержит записи, то текущей записью становится первая запись. Если записи в объекте отсутствуют, свойство RecordCount получает значение 0, а свойства BOF и EOF значение True.
Изменить положение указателя текущей записи позволяют методы MoveNext, MovePrevious, MoveFirst и MoveLast. Для объектов Recordset типа статического набора записей с последовательным доступом поддерживается только метод MoveNext. При выполнении цикла по всем записям с помощью методов Move («прохода» по объекту Recordset) свойства BOF и EOF используются для проверки начальной и конечной границы объекта Recordset.
Для объектов Recordset типа динамического статического набора записей в рабочей области Microsoft Jet допускается также использование методов группы Find, таких как FindFirst, позволяющих найти запись, удовлетворяющую определенным условиям. Если запись не обнаруживается, свойство NoMatch получает значение True. Для объектов Recordset типа таблицы допускается сканирование записей с помощью метода Seek.
Тип созданного объекта Recordset задается свойством Type, а возможность изменения записей в объекте определяется свойством Updatable.
Сведения о структуре основной таблицы, такие как имя и тип данных каждого поля (объект Field) и индекса (объект Index) сохраняются в объекте TableDef.
При ссылках на объект Recordset используют его порядковый номер в семействе или значение свойства Name (имя):
Для одного источника данных или базы данных допускается открытие нескольких объектов Recordset, что приводит к образованию повторяющихся имен в семействе Recordsets. В этом случае необходимо присваивать объекты Recordset объектным переменным и ссылаться на них по именам переменных.

Пример
Следующая программа открывает объект Recordset типа статического набора записей с последовательным доступом, демонстрирует его доступность только для чтения, а затем осуществляет проход по объекту Recordset с помощью метода MoveNext.

How to work with recordset (Dao) in MS Access

Recordsets are objects that represent collections (sets) of records. Recordsets have many methods and properties to make working with the records in the collection easy. This page summarizes how to create and use DAO recordsets.

Open a recordset

There are several ways to create or get a recordset:

  • Create a new Recordset from a table or query in your database
  • Use the Recordset property of an Access object, such as a bound Form
  • Clone an existing recordset
  • Create a new Recordset by applying a Filter on an existing recordset

In the following sections these different approaches are shown. A small screencast will be included to show where to click to effortlessly get the code inserted.

Create a recordset from a table or query in the current database

The code below opens a recordset taken from a table in the current database

Читать еще:  Direct access что это

Click this to see how the code is created with just a few menu selections

In the screencast you see two actions taking place:

  1. Insert the OpenRecordset method from the DAO Database Object
  2. Insert the Name of a Table

Note: Code VBA automatically understands DAO OpenRecordset uses CurrentDb as the database.

Note: When you use OpenRecordset on a query or attached table Access defaults the Type property to dbOpenDynaset. When you OpenRecordset on a local table, it uses dbOpenTable by default. The Table type has different methods (e.g. Seek instead of FindFirst), but it cannot be used with attached tables. Consequently if you later, as good practice, split your database the tables become attached tables and the code is likely to fail. For this reason it is safer to just generally stick to dbOpenDynaset.

Add new record to DAO Recordset

To add a new record a recordset has to be be available. The adding of a record requires:

  1. AddNew : Start inserting a record
  2. Set the values of the fields of the record being created
  3. Update : Finalize the adding

Notes

  1. If a fieldname contains a space you must put it between square brackets.
  2. If you add a record to a recordset of type dynaset, the new record will appears at the end of the Recordset, regardless how the Recordset is sorted. To force the new record to appear in its properly sorted position, you can use the Requery method.

Read values from record

To read the field values from a record you first have to make it the current. Subsequently the value of a field can either be obtained using the .Fields method or shorter equivalents

Edit a record in a DAO Recordset

To edit a record in a recordset it first has to be made the current record. After that, changing the values of fields of a record requires:

  1. Edit : Indicate the current record is to be edited
  2. Set the values of the fields of the record being created
  3. Update : Finalize the adding

recordsetfindandedit

Check out this to see how the code is created with just a few menu selections

Move through a DAO Recordset — make record current

Moving through a recordset changes what is the ‘current’ record.

Find a record

The most direct way to move to a specific record is using the FindFirst method.

For best performance, the criteria should be in either the form «field = value» where field is an indexed field in the underlying base table, or «field LIKE prefix» where field is an indexed field in the underlying base table and prefix is a prefix search string (for example, «ART*» ).

After having found the record you can read or change the record’s field values as explained under Edit a record in a DAO Recordset.

Processing all records

Use the Move methods to move from record to record without applying a condition. When you open a Recordset, the first record is current. Using any of the Move methods (MoveFirst, MoveLast, MoveNext, or MovePrevious) causes an error if the recordset has no records, so you should test this condition before using a Move method. If, as usually is the case, you use the MoveNext in a loop as below this test is done with .EOF .

Delete a record

If you want to delete a record you first have to move to it (see above) making it the current. After that simply

When you use the Delete method, the Microsoft Access database engine immediately deletes the current record without any warning or prompting. Deleting a record does not automatically cause the next record to become the current record; to move to the next record you must use the MoveNext method.

CODE VBA — AGORA Software BV Copyright 1997-2019

How to Use Recordset in MS Access

How to Use Recordset

A recordset is a data structure that consists of a group of database records, and can either come from a table, query or SQL.

Syntax

expression .OpenRecordset(Name, Type(Optional), Options(Optional), LockEdit(Optional))

expression A variable that represents a Database object.

#1 Set your references

versions of Access that are earlier than Access 2000.
Dim rs As DAO.Recordset

new version of Access doesn’t need DAO reference
Dim rs As Recordset

#2 Type of Recordset

Dynaset:- A Dynaset is temporary set of data from one or more tables. A Dynaset may be a query. Like a table, a Dynaset is updatable if file is not locked or open for read only. Data in Dynaset is live that is updatable.

Set rs = db.OpenRecordset(“TableName”, dbOpenDynaset)

Snapshot:- Snapshot Record Set, like a dynaset, may be taken from one or more tables or query. The difference is that snapshot is like a screenshot that not updatable.

Set rs = db.OpenRecordset(“TableName”, dbOpenSnapShot)

#3 Set Up Recordset Object

To set a recordset object, we use the OpenRecordset method of a database object. There are a few ways to do this:

Dim rs As DAO.Recordset
Set rs = CurrentDb.OpenRecordset(“DataSource”)

Dim rs As DAO.Recordset
Dim db As Database
Set db = CurrentDb
Set rs = db.OpenRecordset(“DataSource”)

Note: Data Sources with a Recordset

The “DataSource” can be one of three things, passed as a literal string or a variable:

  • a Table Name
  • a Query Name
  • an SQL string that returns records
#4 Moving the Cursor on Recordset

To move the cursor, use one of the following moving methods of the Recordset object:

#5 BOF (Beginning of File) and EOF (End of File)

Using any of the Move methods above (MoveFirst, MoveLast, MoveNext, or MovePrevious) will cause an error if the recordset has no records.

To avoid the error we need to test if there is a record before using any of the Move methods by using these methods:

#6 RecordCount with MoveLast

The function below will get a number of records from a data source of Recordset. The cursor will move to the last record and count the record.

Note: Don’t MoveLast unless you really need to: this will be slow with a large recordset or a recordset drawn across a network. RecordCount will always be at least 1 if records exist.

#7 MoveNext Using EOF and Loop

A MoveNext may take you to the end of the recordset (EOF) or a MovePrevious to the beginning of the recordset (BOF). Failure to test for these conditions means your code works for most cases, but generates an error one day when the last/first record is accessed.

Code:

Use this construct for looping through Access recordsets:

#8 FindFirst/Seek Using NoMatch

Always test for NoMatch after using Seek or a Find method(FindFirst, FindLast, FindNext, FindPrevious). If you do not test for NoMatch, your code will appear to work until you strike a case where the find fails.

Читать еще:  Sharepoint server что это

Code:

#9 Referencing a Field on Recordset

The fields available to us in the recordset is based on the table or query that is used as a datasource, and are ordered in the recordset the same as they are ordered in the table or query.

We can reference the field to read or write a value to it by calling the Fields collection of the Recordset object. There are a number of ways to do this:

#10 AddNew without moving to LastModified

When inserting a new record into a recordset, the new record does not automatically become the current record. To access the new record, move to the bookmark LastModified.

Code:

#11 Edit a Record

To edit the existing record.

Set rs = CurrentDb.OpenRecordset(“DataSource”)

Or

# 12 Close a recordset

Always close recordsets and set objects to Nothing in the error recovery of your procedure. It is poor programming to open anything without explicitly closing it. This problem is particularly serious in Access 97. Short of pressing Ctrl+Alt+Del, you may find that Access will not quit if recordsets or other objects are not closed and dereferenced.

Access dao recordset

Замечания
Объект Recordset представляет набор записей в основной таблице или набор записей, который получается в результате выполнения запроса.
Объекты Recordset используются для обработки данных в базе данных на уровне записи. При работе с объектами доступа к данным (DAO) почти все операции выполняются с помощью объектов Recordset. Каждый объект Recordset состоит из записей (строк) и полей (столбцов). Существуют объекты Recordset пяти типов:

  1. Объект Recordset типа таблицы — программное представление основной таблицы; используется для добавления, изменения или удаления записей из отдельной таблицы базы данных (только в рабочей области Microsoft Jet).
  2. Объект Recordset типа динамического набора записей — набор обновляемых записей, полученный в результате выполнения запроса. Объект Recordset типа динамического набора записей позволяет добавлять, изменять или удалять записи в основной таблице или таблицах. В объекте Recordset этого типа динамического набора могут содержаться поля из одной или нескольких таблиц базы данных. Этот тип объектов соответствует указателю ключевого набора записей ODBC.
  3. Объект Recordset типа статического набора записей — статическая копия набора записей, используемая для поиска данных или создания отчетов. Объект Recordset типа статического набора записей может содержать поля из одной или нескольких таблиц базы данных, но не допускает обновления полей. Этот тип объектов соответствует указателю статического набора записей ODBC.
  4. Объект Recordset типа статического набора записей с последовательным доступом — аналогичен статическому набору записей с тем лишь исключением, что в нем отсутствует указатель. Пользователь имеет возможность прокручивать записи только вперед. Это повышает быстродействие в ситуациях, когда достаточен однократный проход по набору записей. Этот тип объектов соответствует указателю набора записей с последовательным доступом ODBC.
  5. Объект Recordset динамического типа результирующий набор записей запроса по одной или нескольким основным таблицам, в котором допускается добавление, изменение или удаление записей. В таком объекте Recordset отображаются записи, добавляемые, удаляемые или изменяемые в основных таблицах другими пользователями. Этот тип объектов соответствует динамическому указателю ODBC (только в рабочей области ODBCDirect).

При создании нового объекта Recordset тип объекта определяется с помощью аргумента тип метода OpenRecordset.
В рабочей области Microsoft Jet, если аргумент тип не задан, механизм DAO пытается создать тип объекта Recordset с максимально возможными функциональными характеристиками, начиная с таблицы. Если таблицу создать не удается, делается попытка создать динамический набор записей, затем статический набор записей и наконец, набор записей с последовательным доступом.
В рабочей области ODBCDirect, если аргумент тип не задан, механизм DAO пытается создать тип объекта Recordset, обеспечивающий максимально быстрое выполнение запроса, начиная с набора записей с последовательным доступом. Если объект этого типа создать невозможно, механизм DAO делает попытку создать статический набор записей, затем динамический набор записей, и наконец, объект Recordset динамического типа.
При создании объекта Recordset на основе неприсоединенного объекта TableDef в рабочей области Microsoft Jet создаются объекты Recordset типа таблицы. На основе присоединенных таблиц или таблиц в базах данных ODBC, подключенных к ядру Microsoft Jet, могут быть созданы только объекты Recordset типа динамического набора записей или статического набора записей.
Новый объект Recordset автоматически добавляется в семейство Recordsets при открытии объекта и автоматически удаляется из семейства при закрытии объекта.
При описании в программе объекта Recordset и содержащего его объекта Database с помощью объектных переменных необходимо обеспечить, чтобы эти переменные имели одинаковую область определения или одинаковое время жизни. Например, при описании общей переменной, представляющей объект Recordset, необходимо обеспечить, чтобы переменная, представляющая объект Database, содержащий объект Recordset, также была общей, либо описать эту переменную в процедуре Sub или Function с ключевым словом Static.
В приложении допускается определение произвольного числа объектных переменных, представляющих объект Recordset. Разные объекты Recordset могут иметь доступ к одним таблицам, запросам и полям без возникновения конфликтов.
Объекты Recordset типа динамического набора записей, статического набора записей и статического набора записей с последовательным доступом сохраняются в локальной оперативной памяти. Если в оперативной памяти не хватает места, ядро базы данных Microsoft Jet сохраняет избыточные данные в каталоге временных файлов на диске. Если и этот объем окажется недостаточным, возникает перехватываемая ошибка.
Объекты Recordset по умолчанию помещаются в семейство Fields. Используемым по умолчанию свойством объекта Field является свойство Value (значение). Эти используемые по умолчанию характеристики позволяют упростить программу.
Если созданный объект Recordset содержит записи, то текущей записью становится первая запись. Если записи в объекте отсутствуют, свойство RecordCount получает значение 0, а свойства BOF и EOF значение True.
Изменить положение указателя текущей записи позволяют методы MoveNext, MovePrevious, MoveFirst и MoveLast. Для объектов Recordset типа статического набора записей с последовательным доступом поддерживается только метод MoveNext. При выполнении цикла по всем записям с помощью методов Move («прохода» по объекту Recordset) свойства BOF и EOF используются для проверки начальной и конечной границы объекта Recordset.
Для объектов Recordset типа динамического статического набора записей в рабочей области Microsoft Jet допускается также использование методов группы Find, таких как FindFirst, позволяющих найти запись, удовлетворяющую определенным условиям. Если запись не обнаруживается, свойство NoMatch получает значение True. Для объектов Recordset типа таблицы допускается сканирование записей с помощью метода Seek.
Тип созданного объекта Recordset задается свойством Type, а возможность изменения записей в объекте определяется свойством Updatable.
Сведения о структуре основной таблицы, такие как имя и тип данных каждого поля (объект Field) и индекса (объект Index) сохраняются в объекте TableDef.
При ссылках на объект Recordset используют его порядковый номер в семействе или значение свойства Name (имя):
Для одного источника данных или базы данных допускается открытие нескольких объектов Recordset, что приводит к образованию повторяющихся имен в семействе Recordsets. В этом случае необходимо присваивать объекты Recordset объектным переменным и ссылаться на них по именам переменных.

Читать еще:  Access функции даты

Пример
Следующая программа открывает объект Recordset типа статического набора записей с последовательным доступом, демонстрирует его доступность только для чтения, а затем осуществляет проход по объекту Recordset с помощью метода MoveNext.

Dim rs As DAO.Recordset

Set db = CurrentDb

Set rs = db.OpenRecordset(«Товары»)

Me![Стоимость кофе] = 0

Do While .EOF = False

If .Fields(«Марка») Like «Кофе*» Then Me![“Стоимость кофе”] = _

Me![“Стоимость кофе”] + .Fields(«Стоимость товара»)

Рис. 2.5. Форма “Товары”

Пример 2. Найти и вывести на экран номер группы с максимальным количеством студентов и средним баллом в группе более 4,7 в таблице «Группа«.

Private Sub Поиск_Номер_Группы()

Dim db As Database

Dim rs As DAO.Recordset, max As Single, n As Variant

Set db = CurrentDb

Set rs = db.OpenRecordset(«ГРУППА»)

Do While .EOF = False

If .Fields(1) > max And .Fields(2) > 4.7 Then max = .Fields(1): n = .Bookmark

MsgBox «Количество студентов — » & max & Chr(13) & «Номер группы — » & _

Пример 3.Используя библиотеку ADO в окне модуля создать процедуру для заполнения данными поле “Среднее” таблицы “Урожайность” (рис. 2.6).

Рис.2.6. Структура таблицы “Урожайность”

Public Sub Расчет_ADO()

Dim connection As New ADODB.connection ‘Если база днных текущая, то

‘эту строку можно не писать

‘Если базу данных нужно открыть на диске, то после этой строки нужно писать

‘Connection.Open «Provider=Microsoft.Jet.OLEDB.4.0″;Data Sourse=путь к файлу»

Dim rs As New ADODB.Recordset

Dim s As Double, i As Integer, n As Long

.Open «Урожайность», CurrentProject.connection, adOpenKeyset, adLockOptimistic

Do While .EOF = False

For i = 1 To .Fields.Count — 2

s = s + .Fields(i): n = n + 1

2.11. Создание объектов баз данных средствами VBA

Средствами VBA в программном режиме можно создавать не только объекты Access: таблицы, формы, запросы, но и такие элементы управления, как Кнопки, Надпись и др., что позволяет существенно повысить уровень автоматизации работы приложения. Ниже даны примеры создания некоторых объектов и элементов управления, приведены программы. По тексту программ даны необходимые пояснения.

Создание таблицы.Пусть, требуется создать в текущей базе данных таблицу Elise со следующими полями: Код, Фамилия вкладчика, Домашний адрес, Сумма вклада, Срок заключения договора, мес. Для решения данной задачи необходимо:

— в процедуре создать объектные переменные db, tb типа Database, TableDef и f1, f2, f3, f4 типа Field, предназначенные для хранения ссылок на соответствующие объекты базы данных;

— для создания нового объекта TableDef – таблицы с именем Elise нужно применить метод CreateTableDef к объектной переменной db. Для создания новых объектов Field – полей таблицы, нужно применить метод CreateField к объектным переменным f1, f2, f3, f4;

— для добавления этих полей в семейство Fields, входящих в объект TableDef нужно использовать метод Append;

— для добавления таблицы – объекта TableDef в семейство TableDefs нужно использовать метод Append;

Процедура решения этой задачи с использованием библиотеки DAO приведена ниже

Public Sub Создание_таблицы()

Dim db As Database

Dim tb As TableDef

Dim f1, f2, f3, f4, f5 As field

Set db = CurrentDb

‘Создание таблицы и ее полей

Set tb = db.CreateTableDef(«Elise»)

Set f1 = tb.CreateField(«Код», dbInteger)

Set f2 = tb.CreateField(«Фамилия вкладчика», dbText)

Set f3 = tb.CreateField(«Домашний адрес», dbText)

Set f4 = tb.CreateField(«Сумма вклада», dbCurrency)

Set f5 = tb.CreateField(«Срок заключения договора, мес», dbInteger)

‘Добавление полей в таблицу

‘Добавление таблицы в БД

Создание формы.При создании форм за единицу измерениявMicrosoft Accessберут Твип (twip).Один твип равен 1/1440 дюйма. В одном сантиметре содержится 567 твипов.

Пусть требуетсясредствами VBA создать форму на основе таблицы КАФЕДРА только без фото. Процедура решения этой задачи с использованием библиотеки DAO приведена ниже

Public Sub Создание_формы()

Dim frm As Form ‘Определение объектной переменной для формы

Set frm = CreateForm ‘Создание новой формы и ссылки на переменную

frm.RecordSource = «КАФЕДРА» ‘Источник данных в форме

‘Определение объектных переменных для элементов управления

Dim c1, c2, c3, c4, t1, t2, t3, t4, n1 As Control

frm.Caption = «КАФЕДРАVBA» ‘ Имя файла

‘Создание элементов управления типа надпись

Set t1 = CreateControl(frm.Name, acLabel, , , , 100, 1000, 1300, 200)

t1.Caption = «Код кафедры:»

Set t2 = CreateControl(frm.Name, acLabel, , , , 100, 1300, 1300, 200)

Set t3 = CreateControl(frm.Name, acLabel, , , , 100, 1600, 1300, 200)

Set t4 = CreateControl(frm.Name, acLabel, , , , 100, 1900, 1300, 200)

t4.Caption = «Зав кафедрой:»

‘Создание элементов управления типа поле

Set c1 = CreateControl(frm.Name, acTextBox, , , , 1500, 1000, 1300, 200)

c1.ControlSource = «Код кафедры»

Set c2 = CreateControl(frm.Name, acTextBox, , , , 1500, 1300, 1300, 200)

Set c3 = CreateControl(frm.Name, acTextBox, , , , 1500, 1600, 1300, 200)

Set c4 = CreateControl(frm.Name, acTextBox, , , , 1500, 1900, 1300, 200)

c4.ControlSource = «Зав кафедрой»

Set n1 = CreateControl(frm.Name, acLabel, , , , 1400, 300, 700, 200)

n1.Caption = «КАФЕДРА» ‘Имя формы

Результат работы программы представлен на рис.2.7.

Рис.2.7. Форма, созданная средствами VBA

Создание запроса.Требуетсясредствами VBA создать запрос МАКС по таблице ТОВАРЫ для выборки записей в которых Стоимость товара больше определенной нижней границы. Граница вводится в окно диалога. Процедура решения этой задачи с использованием библиотеки DAO приведена ниже

Public Sub Создание_запроса_VBA()

Dim db As Database

Dim q As QueryDef

Set db = CurrentDb

‘ Создается запрос с именем Макс

Set q = db.CreateQueryDef(«Макс», «Select *» _

& «from Товары where [Стоимость товара] >” & _

“ [Введите нижнюю границу стоимости товара];»)

3. СПИСОК ЛИТЕРАТУРЫ

1. Джон Вейскас. Эффективная работа с Microsoft Access 7.0 для Windows .- С-Пб.:Питер, 1997.

2. М.Хэлворсян, М.Янг. Эффективная работа с Microsoft Office 97.- С-Пб.:Питер, 1997.

3. МакФедризг Пол и др. Microsoft Office 97. Энциклопедия пользователя: пер. с англ.-К.: Издательство «ДиаСофт», 1998.

4. К. Гетц, М. Джилберт. Программирование в Microsoft Office. Полное руководство по VBA: пер. с англ.-К.: Издательская группа BHV, 1999.

5. Киммел, Пол. Освой самостоятельно программирование для Microsoft Access 2000 за 24 часа.: пер. с англ.-М.:»Вильямс». 2000.

6. Король В.И. Visual Basic 6.0, Visual Basic for Application 6.0. Язык программирования. Справочник с примерами.-М.: КУДРИЦ-ОБРАЗ, 2000.

7. Каммингс С. VBA для “чайников”: Пер. с англ.: М.:”Вильямс”, 2000.

8. Кен Гетц, Майк Джилберт. Программирование в Microsoft Office: пер. с англ.-К:”Ирина”. BHV, 2000.

9. С.Браун. Visial Basic: учебный курс. – СПб.: Питер, 2001.

10. Ю. Бекаревич, Н. Пушкина. Microsoft Access 2002. –СПб.: БХВ-Петербург, 2003.

1. ОСНОВЫ ТЕХНОЛОГИИ MICROSOFT ACCESS………………………………………2

1.2. Что такое базы даннях. 2

1.3. Архитектура Microsoft Access……………………………………………………….2

1.4. Создание базы даннях.Создание таблиц. Связывание таблиц. 3

1.5. Изменение проекта базы даннях. 9

1.6. Сздание запросов. 11

1.7. Создание и редактирование форм. 17

1.8. Создание и редактирование отчетов. 21

1.9. Создание и применение макросов. 25

2. РАЗРАБОТКА ПРИЛОЖЕНИЯ ПОЛЬЗОВАТЕЛЯ С ИСПОЛЬЗОВАНИЕМ VBA . 28

2.3. Классы и семейства. 29

2.4. Объектные модули Microsoft Office………………………………………………..29

2.5. Модели объектов Microsoft………………………………………………………. 29

2.6. Модели объектов доступа к данням DAO и ADO………………………………..29

2.7. Ссылки на объекты. 30

2.8. Свойства и методы объектов……………………………………………………….30

2.9. Применение метода DoCmd в программах VBA . 31

2.10.Работа с объектами доступа к данным. 33

2.11. Создание объектов баз данных средствами VBA . 37

Ссылка на основную публикацию
Adblock
detector
×
×