1. Добавление таблицы на форму MS Access:
1.1. Кидаем на объект «Форма» подчинённую форму/отчёт и в свойствах подчинённой формы, на вкладке «Макет», выставляем «Режим по умолчанию» — режим таблицы. Выбираем источник записей на вкладке «Данные»: это может быть запрос или данные из существующей таблицы.
1.2. Кидаем в область данных подчинённой формы необходимые для отображения поля из выбранной в п.1.1. таблицы или запроса.
Замечание: заголовки полей в области данных подчинённой формы станут заголовками таблицы в подчинённой форме, индекс перехода по Tab для них будет определять порядок отображения столбцов в таблице.
1.3. Если предполагается, что данные в таблице могут редактироваться/удаляться/добавляться, выставляем свойства «Разрешить изменение», «Разрешить удаление», «Разрешить добавление» в значение «Да» (на вкладке «Данные» в свойствах подчинённой формы). (см. рис. 1.1)
2. Установка динамической связи между записями разных таблиц,помещённых на одну форму MS Access:
2.1. Для реализации возможности динамического изменения содержимого одной из таблиц при выборе записи в другой таблице (основной), следует воспользоваться событием, например, «Нажатие кнопки» для элемента «Поле» в основной таблице (Рис.2.1):
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