Автоматическое добавление ИД в главной таблице

ministra

имеются 4 таблицы - 1 главный а остальные подчинённые. на основе этих таблиц имеется главная форма и 3 субформы. мне надо чтобы при добавлении записи в субформах в соответствующий ИД автоматически записался бы в главной таблице. например:ГЛАВНАЯ ТАБЛИЦА - ID - AutoNumbernaimenovanie - Short TextPOD 1_KOD - NumberPOD 2_KOD - NumberPOD 3_KOD - NumberПОДЧИНЕННАЯ ТАБЛИЦА - 1ID - AutoNumberznachenie 1 - Short Textznachenie 2 - Short TextПОДЧИНЕННАЯ ТАБЛИЦА - 2ID - AutoNumberznachenie 1 - Short Textznachenie 2 - Short TextПОДЧИНЕННАЯ ТАБЛИЦА - 3ID - AutoNumberznachenie 1 - Short Textznachenie 2 - Short TextНа главной форме при внесении значении в соответствующих субформах ID подчиненной таблицы должен записаться в главной таблице. ПОДЧИНЕННАЯ ТАБЛИЦА.ID =POD 1_KOD. ну вместо списка со значениями чтобы были субформы. cкачать
22 ответа

ministra

не ловит (фигня какаято, прыгает на запись на который был до вставки. и показывает ее id (у вас ado или dao?


ministra

ууупс сорри, вот файл, помогите плиз cкачать


ministra

вот такой код (это для субформы) работает
Private Sub Form_AfterInsert()
 Me.Form.Recordset.MoveLast 'если форма отсортирована по id. и то не совсем правильно. хотя будет работать долго ;)
 Debug.Print Me.Form.Recordset("id")
'тут Me.Form.Recordset("id") можно записать хоть куда
End Sub


ministra

ILL HEAD - с вба не совсем дружу :( можете в моем примере записать код и прикрепить файл? буду оч благодарен


ministra

ministra,Изврат какойто... Нормально сделать не пробовал. Айди главной таблицы поместить в подчинённые. А если нет записи в главной?И связать формы мастер/чилд.ЗЫ. На примере ни чего сделать не смог. Вылетает с предложением отправить письмо.


ministra

ministra,
...с вба не совсем дружу...
И VBA не нужен в этом случае.


ministra

ministra,Изврат какойто... Нормально сделать не пробовал. Айди главной таблицы поместить в подчинённые. А если нет записи в главной?И связать формы мастер/чилд.
сделал так но все равно нечего не вышло :(( а если в главной нет записи то и в подчиненных не будет.вот файл в другом формате cкачать


ministra

ministra,Примерно так. cкачать


ministra

вариант с вба ). сделано только для подчиненной №1 cкачать


ministra

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


ministra

не работает :( захожу в форму glavnaia, пишу в подчиненной форме POD 1_forma, нажимаю на кнопку новая запись а в таблице glavnaia не заноситься Ид с записи POD 1_forma, там пусто


ministra

не работает :( захожу в форму glavnaia, пишу в подчиненной форме POD 1_forma, нажимаю на кнопку новая запись а в таблице glavnaia не заноситься Ид с записи POD 1_forma, там пусто
эта кнопка (если я правильно понимаю - это кнопки навигации) ничего и не записывает. она перемещает рекордсет (тьфу ... вы жэ нихрена не знате)... тогда форму на новую запись не создавая ее


ministra

зы: я эти кнопки дебильные всегда отключал ) клиенту они еще не понятнее чем вам )


ministra

:(( не работает пишет : no current record


ministra

ну я жэ писАл. ругается. но ОК спасает. можно убить эти предупреждения ... кажется


ministra

ну я жэ писАл. ругается. но ОК спасает. можно убить эти предупреждения ... кажется
в моем примере №2 есть же запись в табл Главная. не руками жэ я ее туда вводил )


ministra

:O у меня не работает, ругается, но все равно пусто


ministra

:O у меня не работает, ругается, но все равно пусто
я дико извиняюсь. я сделал пример №2 на основе примера №1. не убрав там вба код. не зря я мастер-слэйв не использовал ))) проверь пример от Панург-а


ministra

все, спасибо большое!!!


ministra

К сообщению приложен файл (primer.7z - 136bytes)
гыы ещё подумал, - "ну какой хороший архиватор 7z" :)


ministra

ministra,такой код ловит ID
Private Sub Form_AfterInsert()
Dim i&
 Me.Recordset.Bookmark = Me.Recordset.LastModified
 Debug.Print Me.Recordset("id")
End Sub
дальше можно писать i куда шочеш


ministra

зы: файл не открывал . наверняка не 2003 )