Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: подчиненная форма в новом окне MS access 2007
 
 автор: ilich   (02.11.2009 в 22:29)   личное сообщение
53 Кб.
 
 

Я новичек) Подсткажите пожалуйста. Есть 2 формы, нетрудоспособный - записываются анкетные данные, а другая листки нетрудоспособности - записываются данные из больничного листка. У нетрудоспособного моежет быть несколько Листков нетрудоспособности, связываются они по коду пациента. Хочу сделать чтоб при выборе нетрудоспособного на форме нетрудоспособный, при нажатии на кнопку открывалась форма Листка нетрудоспособности с соответствующим листком.
реализовал пока что так:

Private Sub Кнопка43_Click()
stLinkCriteria = "[код_нетр] =" & Me.код_нетр
DoCmd.OpenForm "листки нетрудоспособности", , , stLinkCriteria
End Sub
он открывает и через фильтр работает, возможно ли по другому?
но я не могу создать новую запись, т.к. значение код_нетр должен копироваться из больного в больничный. попробовал реализовать так, но ничего не получается((
записал на то же событие на Кнопка43_Click()
If Forms![листки нетрудоспособности]![код_нетр] = Null Then
FilterOn = False
DoCmd.GoToRecord acDataForm, "листки нетрудоспособности", acNewRec
Forms![листки нетрудоспособности]![код_нетр] = Me.код_нетр
End If

P.S. На одной форме, если через подчиненную всё работает, а когда создаешь через мастер то при выборе соответствующих полей с одной стороны пусто(( фото прикрепил

  Ответить  
 
 автор: snipe   (03.11.2009 в 06:04)   личное сообщение
17 Кб.
 
 

Вот посмотрите

  Ответить  
 
 автор: ilich   (03.11.2009 в 09:10)   личное сообщение
 
 

Спасибо большое)) У вас всё работает так как мне надо), но! я так же делаю но у меня не хочет переключать больничные листы т.е. при смене больного, не меняется больничный.
Там же ведь без разницы на какое поле делать под AfterUpdate
у вас было вот так
Private Sub Диагноз_AfterUpdate()
'заполняем поле
Me!idБольного = Forms!больной!idБольного
End Sub

а я вот так сделал
Private Sub Серия_ЛН_AfterUpdate()
Me.Код_нетр = Forms![Нетрудоспособный]![Код_нетр]
End Sub

но в итоге когда я меняю это поле вручную, листок не переключается а просто изменяется код_нетр, т.е. присваевается((( получается что изначально больничный был одного человека, а стал другого)

  Ответить  
 
 автор: snipe   (03.11.2009 в 09:30)   личное сообщение
 
 

вы не увидели главного
форма больничные берет свои данные из запроса, кроме того у поля IDбольного форме больничные имеет значение по умолчанию, далее на событие текущая запись формы Больные тоже повешан код

а вот этот код на после обновления предназначен для заполнения записи при новых записях

поля ID я не скрывал специально что бы вы видели что и как

  Ответить  
 
 автор: ilich   (03.11.2009 в 09:59)   личное сообщение
 
 

Всё работает)))) Спасибо огромное!!!))
Проблемы была в одной строчке в заспосе условие отбора надо было написать))))
[Forms]![Больной]![idБольного]

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList