powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / помогите с кнопками
8 сообщений из 8, страница 1 из 1
помогите с кнопками
    #32609626
garant
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня есть две формы. Они связаны одним полем. Я создал с помощью мастера на первой форме кнопку, при нажатии на которую открывается вторая форма для отобранных записей. При переходе на следующюю запись в первой форме данные во второй форме показываются те же, и приходится снова нажимать на созданную кнопку, чтобы данные изменились. Что мне написать в процедуре обработки событий, чтобы данные, которые показываются во второй форме, изменялись?
...
Рейтинг: 0 / 0
помогите с кнопками
    #32609627
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
forms!втораяформа.requery
...
Рейтинг: 0 / 0
помогите с кнопками
    #32609663
garant
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня вот так записано в Microsoft Visual Basic:

Private Sub Кнопка13_Click()
On Error GoTo Err_Кнопка13_Click

Dim stDocName As String
Dim stLinkCriteria As String

stDocName = ChrW(1042) & ChrW(1099) & ChrW(1087) & ChrW(1086) & ChrW(1083) & ChrW(1085) & ChrW(1103) & ChrW(1077) & ChrW(1084) & ChrW(1099) & ChrW(1077) & ChrW(32) & ChrW(1088) & ChrW(1072) & ChrW(1073) & ChrW(1086) & ChrW(1090) & ChrW(1099)

stLinkCriteria = "[Название объекта, адрес]=" & Me![№ п/п]
DoCmd.OpenForm stDocName, , , stLinkCriteria

Exit_Кнопка13_Click:
Exit Sub

Err_Кнопка13_Click:
MsgBox Err.Description
Resume Exit_Кнопка13_Click

End Sub

И куда мне вставить Forms!вторая форма.Requery ?
...
Рейтинг: 0 / 0
помогите с кнопками
    #32609667
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Я имел в виду на OnCurrent. Но если программа написана вот так:

garant stLinkCriteria = "[Название объекта, адрес]=" & Me![№ п/п]
DoCmd.OpenForm stDocName, , , stLinkCriteria

- то это не поможет, потому что вторая форма навечно запоминает то значение Me![№ п/п], которое было при ее открытии, и не имеет связи с первой формой.
...
Рейтинг: 0 / 0
помогите с кнопками
    #32609671
garant
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Программу то не я писал, она автоматически создалась, а я работал с помощью мастера. А как тогда мне можно сделать? И я не понял что такое OnCurent?
...
Рейтинг: 0 / 0
помогите с кнопками
    #32609679
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Current - событие формы (первой).

А программу можно переписать примерно так:

1. Вместо
stLinkCriteria = "[Название объекта, адрес]=" & Me![№ п/п]
DoCmd.OpenForm stDocName, , , stLinkCriteria
написать просто
DoCmd.OpenForm stDocName

2. Подправить RecordSource второй формы так, чтобы в нем было
where [Название объекта, адрес]=forms!перваяформа![№ п/п]
...
Рейтинг: 0 / 0
помогите с кнопками
    #32609680
Rivkin Dmitry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
При переходе в первой форме на другую запись, генерируется событие OnCurrent. Вот на него и надо поставить forms!втораяформа.requery. Т.е. в дизайне на первой форме на этом событии щелкнуть справа по всплывающей кнопек, выбрать [Event Procedure] и в откроющейся затем процедуре в модуле написать указанный текст. Но нужно проверить, открыта ли вторая форма, только в этом случае можно к ней обращаться. Могу предложить такую функцию проверки:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Function FormOpened(nmf As String) As Integer
On Error GoTo err_FormOpened
    Dim fm As Form

    Set fm = Forms(nmf)
    FormOpened = True

exit_FormOpened:
    Exit Function

err_FormOpened:
    Resume exit_FormOpened

End Function

И
Код: plaintext
1.
2.
3.
4.
Private Sub Form_Current()
   If FormOpened("втораяформа") Then
      forms!втораяформа.requery
   endif
End Sub

А можно и так, без всякой функции:
Код: plaintext
1.
2.
3.
4.
Private Sub Form_Current()
On Error Resume Next
      forms!втораяформа.requery

End Sub
...
Рейтинг: 0 / 0
помогите с кнопками
    #32609716
garant
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за советы. Пока не получилось, буду дальше пробовать.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / помогите с кнопками
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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