новая запись на подчиненных формах

Kite_z
Дата: 27.11.2009 15:30:57
Добрый день,
На основной форме frmMain закладки, на которых подчиненные формы subfrmF1 и subfrmF2.
В датасорсах подчиненных форм RowID = Forms!frmMain!RowID.
При открытии формы для редактирования существующей записи

Dim stdocName As String
Dim stLinkCriteria As String

stdocName = "frmMain"
stLinkCriteria = "RowID=" & Me.RowID
DoCmd.OpenForm stdocName, , , stLinkCriteria

подчиненные формы получают RowID и запись редактируется корректно.
При добавлении новой записи

DoCmd.OpenForm stdocName, , , stLinkCriteria, acFormAdd

послее ввода данных в subfrmF1 и сохранения записи получаем RowID. Но передать его в датасорс subfrmF2 и обновить subfrmF2 не удается. subfrmF2 остается в режиме acFormAdd и при вводе данных запись сохраняется с RowID+1.
Подскажите, как можно продолжить редактировать созданую запись на subfrmF2?
ё
Дата: 27.11.2009 15:43:38
...столько текста - и нихнепонятно
вот это что обозначает?
автор

В датасорсах подчиненных форм RowID = Forms!frmMain!RowID.

главная и подчиненные формы - не связанны по Master/Chaild ?
почему?

автор

Подскажите, как можно продолжить редактировать созданую запись на subfrmF2?

вот так - создать связь Master/Chaild
Kite_z
Дата: 27.11.2009 16:02:09
ё

автор

В датасорсах подчиненных форм RowID = Forms!frmMain!RowID.

главная и подчиненные формы - не связанны по Master/Chaild ?
почему?


Связаны. Источник записей для Chaild есть запрос, в котором
...WHERE RowID = Forms!frmMain!RowID (поле с ID на Master)
При открытии Master (frmMain) для редактирования передаем ей RowID, соответственно Chaild`s при загрузке также получают этот RowID и открываются на одной и той же записи.
ё
Дата: 27.11.2009 16:12:43
Kite_z
Связаны. Источник записей для Chaild есть запрос, в котором
...WHERE RowID = Forms!frmMain!RowID (поле с ID на Master)


так а зачем это WHERE - в запросе? уберите его из запроса
это условие - будет налогатся самой связью Master/Chaild
и ничего больше делать не понадобится
для созданной новой записи в главной - сразу же можно будет вводить в подчиненной
Kite_z
Дата: 27.11.2009 17:45:04
ё,
Запись не создается в главной. Главная служит для связи подчиненных между собой. На ней только одно скрытое поле с ID и располагаютзя вкладки с подчиненными формами. Запись создается на первой вкладке, затем нужно продолжить обработку в последующих.
ё
Дата: 27.11.2009 18:09:00
Kite_z
ё,
Запись не создается в главной. Главная служит для связи подчиненных между собой. На ней только одно скрытое поле с ID и располагаютзя вкладки с подчиненными формами. Запись создается на первой вкладке, затем нужно продолжить обработку в последующих.


затейливо,
откуда ж она берется в этом скрытом поле, при acFormAdd?

обрабатывайте тогда всё в событии "После вставки" первой подчиненной
- установить ID в скрытом поле родительской формы
- значение по умолчанию ID второй подчиненной устанавливайте равным "ID в скрытом поле родительской формы",
или запоминайте где-то, и в БифоИнсерт 2-й подч. - устанавливайте для поля ID

...а что вас подтолкнуло к выбору такой конф.форм?
незнаю как это для ваших пользователей
но програмировать это - ну очень не много удовольствия..
Kite_z
Дата: 27.11.2009 18:53:36
ё

откуда ж она берется в этом скрытом поле, при acFormAdd?

обрабатывайте тогда всё в событии "После вставки" первой подчиненной
- установить ID в скрытом поле родительской формы
- значение по умолчанию ID второй подчиненной устанавливайте равным "ID в скрытом поле родительской формы",
или запоминайте где-то, и в БифоИнсерт 2-й подч. - устанавливайте для поля ID

...а что вас подтолкнуло к выбору такой конф.форм?
незнаю как это для ваших пользователей
но програмировать это - ну очень не много удовольствия..


в данном случае несколько форм загружены в acFormAdd и значение ID с поля одной формы в поле другой (с одним источником данных поля) передать невозможно. Видимо, если не удастся обновить рекордсет для последующих форм, придется пересматривать конфигурацию.

а сподвигло то, что на одной форме приходится размещать много контролов. Затолкать все на одну форму сложно и некрасиво. Решил разнести.