powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Синхронизация подчиненных форм
21 сообщений из 21, страница 1 из 1
Синхронизация подчиненных форм
    #40044333
JDV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый час! Я читал на форуме вопрос несколько раз обсуждался ... но до конца не понятно какое решение реально хорошо работает.
И так есть главная форма, в ней несколько подчиненных форм. Одна из подчиненных форм главная по отношению к остальным, сейчас они связаны через событие Current.
Основной вопрос как сделать, чтоб при изменении значений в подчиненных формах обновить везде наборы данных и оставить (вернуть) курсор в итоге в то место где он был в главной подчиненной форме.

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
Private Sub Form_Current()
On Error GoTo Err_Form_Current


Forms!frm_LS_HEAD.lbl_FIO.Caption = DLookup("ФИО", "sql_lichnyi_sostav_PS", "ID_lichnyi_sostav = CInt(" & Me!ID_lichnyi_sostav & ")")
'Forms!frm_LS_HEAD.lbl_vz.Caption = DLookup("Naimenovanie_zvaniya", "sql_Voinskoe_Zvanie_ALL", "ID_lichnyi_sostav = CInt(" & Me!ID_lichnyi_sostav & ")")
    
With Me.Parent.frm_SUB_obrazovanie.Form
    .Filter = "ID_lichnyi_sostav=" & Me.ID_lichnyi_sostav
    .FilterOn = True
End With

With Me.Parent.frm_SUB_LS_HEAD_Disciplina.Form
    .Filter = "ID_lichnyi_sostav=" & Me.ID_lichnyi_sostav
    .FilterOn = True
End With
'
     Exit Sub
Err_Form_Current:
    Exit Sub
End Sub
...
Рейтинг: 0 / 0
Синхронизация подчиненных форм
    #40044335
JDV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Синхронизация подчиненных форм
    #40044343
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JDV, касательно представленного кода...
почему по-разному?
JDV
Код: vbnet
1.
2.
3.
Forms!frm_LS_HEAD.lbl_FIO.Caption = DLookup("ФИО", "sql_lichnyi_sostav_PS", "ID_lichnyi_sostav = CInt(" & Me!ID_lichnyi_sostav & ")")'Нафига тут вообще CInt?
...
.Filter = "ID_lichnyi_sostav=" & Me.ID_lichnyi_sostav

Что бы не собрать один раз строку?

Почему бы не использовать свойства SubForm LinkMasterFields/LinkChildFields?


JDV
Основной вопрос как сделать, чтоб при изменении значений в подчиненных формах обновить везде наборы данных и оставить (вернуть) курсор в итоге в то место где он был в главной подчиненной форме.
а он куда-то уходит?
...
Рейтинг: 0 / 0
Синхронизация подчиненных форм
    #40044349
JDV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панург, он не куда не уходит ... просто появляются все записей подчиненной формы.
...
Рейтинг: 0 / 0
Синхронизация подчиненных форм
    #40044352
JDV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JDV, там такой код
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
Private Sub btn_new_z_obrazovanie_Click()

If MsgBox("Вы желаете добавить новую запись в форму 'Образование' для сотрудника " & DLookup("ФИО", "sql_lichnyi_sostav_PS", "ID_lichnyi_sostav = " & Forms![frm_LS_HEAD]![frm_SUB_lichnyi_sostav_PS]!ID_lichnyi_sostav) & " ?", vbYesNo + vbQuestion, "Образование") = vbYes Then

DoCmd.SetWarnings False

    Text = "INSERT INTO tbl_obrazovanie(ID_lichnyi_sostav)" _
    & " VALUES('" & Forms![frm_LS_HEAD]![frm_SUB_lichnyi_sostav_PS]!ID_lichnyi_sostav & "');"

    DoCmd.RunSQL Text

DoCmd.SetWarnings True

Forms![frm_LS_HEAD]![frm_SUB_obrazovanie].Form.RecordSource = "SELECT * FROM tbl_obrazovanie"
Forms![frm_LS_HEAD]![frm_SUB_obrazovanie].Form.Requery

End If

End Sub
...
Рейтинг: 0 / 0
Синхронизация подчиненных форм
    #40044369
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JDV
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
Private Sub btn_new_z_obrazovanie_Click()

If MsgBox("Вы желаете добавить новую запись в форму 'Образование' для сотрудника " & Me.lbl_FIO.Caption & "?", vbYesNo + vbQuestion, "Образование") = vbYes Then
Me.frm_SUB_obrazovanie.Form.Recordset.AddNew

End If

End Sub


ИМХО, несколько бредово выглядит
...
Рейтинг: 0 / 0
Синхронизация подчиненных форм
    #40044372
JDV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панург,
как бы вы сделали?
...
Рейтинг: 0 / 0
Синхронизация подчиненных форм
    #40044375
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JDV, создай рабочий макет, как ты видишь, и положи на форум. Кто-нибудь да поправит.
...
Рейтинг: 0 / 0
Синхронизация подчиненных форм
    #40044386
JDV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панург,
...
Рейтинг: 0 / 0
Синхронизация подчиненных форм
    #40044404
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JDV,
а должно быть так:
...
Рейтинг: 0 / 0
Синхронизация подчиненных форм
    #40044406
JDV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdku,
только два нижних, основная форма как коробка ...
...
Рейтинг: 0 / 0
Синхронизация подчиненных форм
    #40044408
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JDV,
кто-то кого-то(не знаю кто кого) не понимает-подчиненная форма потому так называется что она располагается НА той форме которой подчинена-на вашем же рисунке подчиненная 2 уровня подчинена "коробке", а не подчиненной 1 уровня
...
Рейтинг: 0 / 0
Синхронизация подчиненных форм
    #40044412
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JDV
Панург,

https://www.sql.ru/forum/actualfile.aspx?id=22279428] Приложенный файл (01.zip - 42Kb)
Хотя бы так. Но форму список, можно заменить на список (Listbox)
...
Рейтинг: 0 / 0
Синхронизация подчиненных форм
    #40044414
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панург
JDV
Панург,

https://www.sql.ru/forum/actualfile.aspx?id=22279428] Приложенный файл (01.zip - 42Kb)
Хотя бы так. Но форму список, можно заменить на список (Listbox)

https://www.sql.ru/forum/actualfile.aspx?id=22279464] Приложенный файл (02.zip - 44Kb)
Продублирую, т.к. предыдущий файл не запускается (ошибка). Форма смотрю заслуженная - в названияч контролов циферка уже за 500 ушла...
...
Рейтинг: 0 / 0
Синхронизация подчиненных форм
    #40044415
JDV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панург, Благодарю!
...
Рейтинг: 0 / 0
Синхронизация подчиненных форм
    #40044417
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JDV, да. отчего то я у тебя не весь код снёс - недоглядел. Там убрать всё, только закрытие формы можешь оставить. Источники данных для форм настроить по-человечески через свойства в конструкторе.
...
Рейтинг: 0 / 0
Синхронизация подчиненных форм
    #40044420
JDV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdku, я меня много одинаковых по уровню форм ... и одна главная
...
Рейтинг: 0 / 0
Синхронизация подчиненных форм
    #40044424
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JDV
я меня много одинаковых по уровню форм
не увлекайся, при некотором количестве всё начнёт тормозить безбожно
...
Рейтинг: 0 / 0
Синхронизация подчиненных форм
    #40044429
JDV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панург,
понял Благодарю!!!
...
Рейтинг: 0 / 0
Синхронизация подчиненных форм
    #40044539
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JDV
Я лично понял Вашу "хотелку" так:см.вложение (там только 3 фамилии-Иванов,Петров,Сидоров)
Если же изменение данных одной из таблиц влечет изменение(за исключением заполнения но не изменения неких полей другой таблицы в уже существующей записи) данных в другой таблице то это есть нарушение одного из основных правил "базостроения" и копать надо в сторону структуры БД и логики её работы
...
Рейтинг: 0 / 0
Синхронизация подчиненных форм
    #40044872
JDV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdku,
Благодарю!
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Синхронизация подчиненных форм
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]