Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Обновление подчиненной формы из другой подчиненной / 20 сообщений из 20, страница 1 из 1
17.11.2003, 13:24
    #32326125
Lola
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление подчиненной формы из другой подчиненной
Есть форма1, а в ней подчиненная форма_sub1. Из формы1 запускается форма2 с подчиненной формой_sub2.
В форме_sub2 вносятся изменения в таблицу.
Вопрос: как обновить данные в форма_sub1?. Если бы изменения вносились в простой форме, без подчиненной, то в обработке события деактивации можно было бы поставить: [Forms]![Form1]![Form1_sub].Form.Requery. А в моем варианте так не получается, такое впечатление, что вообще нет обращения к форме1.
...
Рейтинг: 0 / 0
17.11.2003, 13:25
    #32326126
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление подчиненной формы из другой подчиненной
Что значит не получается?
...
Рейтинг: 0 / 0
17.11.2003, 13:27
    #32326131
Lola
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление подчиненной формы из другой подчиненной
Не получается, в смысле не обновляются данные.
...
Рейтинг: 0 / 0
17.11.2003, 13:29
    #32326135
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление подчиненной формы из другой подчиненной
Способ правильный. Видимо, есть что-то еще, чего мы не знаем.
...
Рейтинг: 0 / 0
17.11.2003, 13:31
    #32326140
SiriusB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление подчиненной формы из другой подчиненной
независимо откуда ето делается Forms!Имя.Refresh ...
...
Рейтинг: 0 / 0
17.11.2003, 13:34
    #32326145
SiriusB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление подчиненной формы из другой подчиненной
извиняемся при етом данные формы отобразятся сначала, чтобы перейтии на ту же запись следует перед Refresh сделать следующее

Forms!Имя.SetFocus

Dim KdRec As Long

Private Sub Form_Activate()
KdRec = Me.CurrentRecord
Me.Requery
If KdRec <> 0 Then DoCmd.GoToRecord , , acGoTo, KdRec
End Sub
...
Рейтинг: 0 / 0
17.11.2003, 13:42
    #32326164
Lola
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление подчиненной формы из другой подчиненной
Может это поможет? Я перед закрытием формирую таблицу для формы_sub1 заново. (не буду менять названия таблиц, время поберегу)

DoCmd.SetWarnings False
DoCmd.RunSQL "DELETE * FROM Budget_Itog;"
DoCmd.SetWarnings True

MySQL1 = "INSERT INTO Budget_Itog SELECT Query_Budget.* FROM Query_Budget;"
MySQL2 = "INSERT INTO Budget_Itog SELECT ObjectShedule_Itog_Planned.* FROM ObjectShedule_Itog_Planned;"
MySQL3 = "INSERT INTO Budget_Itog SELECT ObjectShedule_Itog_Actual.* FROM ObjectShedule_Itog_Actual;"

CurrentDb.Execute MySQL1
CurrentDb.Execute MySQL2
CurrentDb.Execute MySQL3

[Forms]![Form1]![Form1_sub].Form.Requery

Вот когда форма2 была обыкновенной табличной формой, все работало нормально. Но когда потребовалось её сделать подчиненной (у шефа бзик на кнопку Close, на крестик он не в состоянии нажимать), но никакой реакции в форме1 нет. Вообще, если раньше призапуске сразу формы2, она ругалась, на то что нет формы1, то сейчас не ругается. Отсюда я делаю вывод, что строчка с Requery форму1 воспринимает как форму2.
...
Рейтинг: 0 / 0
17.11.2003, 13:47
    #32326181
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление подчиненной формы из другой подчиненной
> DoCmd.SetWarnings False
> DoCmd.RunSQL "DELETE * FROM Budget_Itog;"
> DoCmd.SetWarnings True

А вот так делать не надо. Если программа вывалится на ошибку после SetWarnings False, то останется Аксесс, который при всех ошибках молчит.
...
Рейтинг: 0 / 0
17.11.2003, 13:57
    #32326197
Lola
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление подчиненной формы из другой подчиненной
Согласна, но не это же главное ;)
...
Рейтинг: 0 / 0
17.11.2003, 13:59
    #32326203
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление подчиненной формы из другой подчиненной
А может, именно это и происходит?
...
Рейтинг: 0 / 0
17.11.2003, 14:00
    #32326207
Lola
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление подчиненной формы из другой подчиненной
А DoCmd.SetWarnings True ?
...
Рейтинг: 0 / 0
17.11.2003, 14:04
    #32326215
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление подчиненной формы из другой подчиненной
Так я же говорю про случай, когда оно вываливается и до True не доходит.
...
Рейтинг: 0 / 0
17.11.2003, 14:07
    #32326222
Lola
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление подчиненной формы из другой подчиненной
Так не вываливается сейчас! К тому же если я оставлю вопрос о том, удалять ли столько то записей, опять будет криков, мол "зачем мне знать, что ты там из tmp-таблицы записи удаляешь!"
Вопрос то остается открытым, почему не обновляется форма?
...
Рейтинг: 0 / 0
17.11.2003, 14:09
    #32326224
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление подчиненной формы из другой подчиненной
> К тому же если я оставлю вопрос о том, удалять ли столько то записей, опять будет криков, мол "зачем мне знать, что ты там из tmp-таблицы записи удаляешь!"

На этот случай есть CurrentDb.Execute, оно не кричит. :^)

> Вопрос то остается открытым, почему не обновляется форма?

Ну, не прошла моя гипотеза, и не надо. :^)))
...
Рейтинг: 0 / 0
17.11.2003, 14:13
    #32326232
assa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление подчиненной формы из другой подчиненной
доходит или нет - см. в отладке.

А есть еще и экзотика вида: данные, внесенные в форму (по которым пересчитываются запросы) не сохранены на момент пересчета. (Запросы вернут "старые значения). ...ну и т.п. В целом - проползти по шагам. Станет ясно.
...
Рейтинг: 0 / 0
17.11.2003, 14:16
    #32326238
assa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление подчиненной формы из другой подчиненной
А DoCmd.SetWarnings True надо ставить после обработчика ошибок (за меткой выхода). Тады, заметим в пику Санычу, трахаться с передачей параметров в Execute (ежели они в виде [Forms]!...) не придется.
...
Рейтинг: 0 / 0
17.11.2003, 14:25
    #32326254
Lola
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление подчиненной формы из другой подчиненной
To assa: Я уже проползла, данные в самой таблице обновляются, но вот в таблицу из запроса идут старые. получается, что все три оператора MySQL = "INSERT INTO Budget_Itog SELECT ..." работают со старыми данными. Тогда вопрос, а почему все правильно работает в случае, если это обрабатывается в простой, а не подчиненной форме?
...
Рейтинг: 0 / 0
17.11.2003, 14:34
    #32326275
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление подчиненной формы из другой подчиненной
Пика принята. Трахаться не будем.
...
Рейтинг: 0 / 0
17.11.2003, 15:03
    #32326331
assa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление подчиненной формы из другой подчиненной
Т.е. данные в таблице те, что нужно? а в форме не обновляются?

А запрос (фильтр) формы, простите, как построен? Через некие параметры? или через связь полей? Вот их своевременное обновление и надо проверить.

А вообще то "я уже полазала" - не ответ. Если бы "уже", то проблем бы и не было. Ставите точку останова на входе, а далее - по шагам. Подключитесь на всяк случай к той же базе из второго окна, чтобы запускать запросы (в некоторых случаях запуск запроса из отлаживаемого приложения затруднителен). Вот и весь инструментарий.

И только "неявные" механизмы аксесса надо проверять (у меня на памяти случай, когда в главной форме есть поле, служащее для синхронизации одной подчиненной с другой, с источником вида [Forms]![Main]![Slave]!Form![id], а в настроке второй связанной формы выставлены связи по полям, так вот в некоторых случаях оказалось желательно "принудительно" обновлять содержимое этого поля, то же верно, если уровень вложенности форм больше 1-го). Ибо их трудно поймать "в отладчике" :0)
...
Рейтинг: 0 / 0
17.11.2003, 15:09
    #32326346
Lola
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление подчиненной формы из другой подчиненной
Все понятно. Спасибо.
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Обновление подчиненной формы из другой подчиненной / 20 сообщений из 20, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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