27.04.2011


Добавление таблицы на форму MS Access. Работа с таблицами в форме.


Категории: MS Access — Метки: , , — Ольга

1. Добавление таблицы на форму MS Access:

1.1. Кидаем на объект «Форма» подчинённую форму/отчёт и в свойствах подчинённой формы, на вкладке «Макет», выставляем «Режим по умолчанию» — режим таблицы. Выбираем источник записей на вкладке «Данные»: это может быть запрос или данные из существующей таблицы.

1.2. Кидаем в область данных подчинённой формы необходимые для отображения поля из выбранной в п.1.1. таблицы или запроса.

Замечание: заголовки полей в области данных подчинённой формы станут заголовками таблицы в подчинённой форме, индекс перехода по Tab для них будет определять порядок отображения столбцов в таблице.

1.3. Если предполагается, что данные в таблице могут редактироваться/удаляться/добавляться, выставляем свойства «Разрешить изменение», «Разрешить удаление», «Разрешить добавление» в значение «Да» (на вкладке «Данные» в свойствах подчинённой формы). (см. рис. 1.1)

Рисунок 1

2. Установка динамической связи между записями разных таблиц,помещённых на одну форму MS Access:

2.1. Для реализации возможности динамического изменения содержимого одной из таблиц при выборе записи в другой таблице (основной), следует воспользоваться событием, например, «Нажатие кнопки» для элемента «Поле» в основной таблице (Рис.2.1):

Рисунок 2

Option Compare Database
Dim frm As Form
Dim dbs As Database, rst As Recordset

Private Sub cnt_Click()
Set frm = Forms![Форма1]

Set dbs = CurrentDb
dbs.Execute "delete * from [Tab]"
Set rst = dbs.OpenRecordset("select * from Tables")
If rst.RecordCount > 0 And Not IsNull(Me.cnt.Value) Then

dbs.Execute "insert into [Tab] (cnt, Table_Name) select Tables.cnt, Tables.Table_Name from Tables Where Tables.cnt = " & Me!cnt.Value & ";"
End If
frm.fTables.Requery
End Sub

Пример: db22





Календарь


Архив