powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Listbox
18 сообщений из 18, страница 1 из 1
Listbox
    #32200842
dead1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здраствуйте!
Многие, наверное, встречались с такой загогулиной - есть главная форма, в ней находится субформа(1), которая должна быть Continuous и в ней должна находится ещё одна субформа(2) и тоже Continuous. Как известно, так низзя. Вернее, аксес так не хочет.
Какие вообще есть общие рецепты?

Я решил бороться таким методом - на главной сделал Listbox, который обращается за данными в запрос, который я постоянно обновляю в соответствии со значением субформы(1). Проблема в том, что Listbox выдаёт свои значения всего один раз, а то что RowSource - постоянно изменяющийся запрос, его не колышит. Как можно заставить Listbox апдейтится по мановению волшебной какой-нибудь строчки?
Listbox.Requery не помогает.

пс: если что, control source пустой. так и должно быть?
...
Рейтинг: 0 / 0
Listbox
    #32200852
incold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Один из вариантов описан у Гетца.
На главной форме делается две подчиненных.
А их синхронизация делается программно.
...
Рейтинг: 0 / 0
Listbox
    #32200968
dead1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ммм... У меня только его "Программирование в Microsoft Office". Других книг нет :(
...
Рейтинг: 0 / 0
Listbox
    #32200987
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>У меня только его "Программирование в Microsoft Office".

"Малавато будет, малавато" (с) м/ф Падал прошлогодний снег

В принципе ничего страшно нет
На событие ТекущаяЗапись/После Подтверждения Удаления первой подчиненой формы - ставишь обновление второй подчиненой формы
Forms![Главная]![ВтораяПодчиненая].Form.Requery

Подчиненую Вторую форму связывай в ручную или через Where по источнику либо с использованием Подчиненые/Основные поля, где Основные поля будет ссылка на элемент ПервойПодчиненойФормы (Forms![Главная]![ПерваяПодчиненая].form![КлючПоле])

Если я ничего не забыл - то примерно так. Спрашивай, если что-то неполучилось
...
Рейтинг: 0 / 0
Listbox
    #32201147
dead1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
. -------.
 
| Ekas2 |  -> OnCurrent -> Form_Ekas2.subT2.Requery
` -------`  -> id
 

. -------.  -> Form_T1
 
| subT1 | -> значение buv_id связано с Ekas2.id
` -------`  -> T1_id
 

. -------.  -> Form_T2
 
| subT2 | -> T2_id связано с T1_id
` -------`
 
Link child fields -> T2_id
Link master fields -> Form_T2.id


С первой частью я успешно справился, а вот со второй как-то не очень....
Точнее, с child/master fields и вообще со всей субформой.
Source Object не хочет понимать sql запрос. Как его тогда использовать?
Далее, master field в упор не видит значение из субформы T1. Если указать отдельно на форму, которая потом линкуется как субформа, то её тоже не видит - просит вписать значение.
В child field нужно ставить T2_id?
...
Рейтинг: 0 / 0
Listbox
    #32201189
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
> Source Object не хочет понимать sql запрос.

SourceObject - это название формы. А у нее в RecordSource пишется sql.
...
Рейтинг: 0 / 0
Listbox
    #32201199
dead1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
От' аксес - поганец. Он меня, похоже, презирает :)
2467: The expression you entered refers to an object that is closed or doesn't exist.
[ГлавнаяФорма].[субФорма].[Form].RecordSource = "тут у нас строка".
...
Рейтинг: 0 / 0
Listbox
    #32201201
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Предлагаю проверить в Immediate Window:

[ГлавнаяФорма].[субФорма].[Form].Name
[ГлавнаяФорма].[субФорма].SourceObject
...
Рейтинг: 0 / 0
Listbox
    #32201228
dead1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сейчас субформа(2) показывает только записи, попавшиеся в первый раз.
Вернее, как только появляется субформа, она сама запускает запрос и показывает, что там завалялось в прошлый раз.
SourceObject руками указал на запрос, который после каждой записи меняется (проверяю msgbox`ом).
Но никакие requery (я их всюду понапихал) не срабатывают.
...
Рейтинг: 0 / 0
Listbox
    #32201232
dead1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кстати, для другой проги, где надо было в главной форме запрос так же менялся, надо было закрыть, а потом открыть её. По другому никак. Тут тоже так надо?
...
Рейтинг: 0 / 0
Listbox
    #32201233
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
> Но никакие requery (я их всюду понапихал) не срабатывают.

Вариант вместо requery:

f.RecordSource = f.RecordSource

где f - форма.
...
Рейтинг: 0 / 0
Listbox
    #32201265
dead1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кажись, разобрался. Огромное спасибо! Особенно Владимиру Санычу!
A f.RecordSource = f.RecordSource вообще какая-то нелогичная штука, за то работает при любых обстоятельствах.

Мне ещё рассказали один способ - продублировать контрол из субформы(1) в главной, а потом из субформы(2) на него ссылаться.
...
Рейтинг: 0 / 0
Listbox
    #32201266
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не понял суть проблемы
что такое Continuous ?

в смысле связана с родительской?

конструкция
main ->
Subform1 ->
Subform2

доступна в аксессе если подчиненные формы в режиме таблиц.
...
Рейтинг: 0 / 0
Listbox
    #32201273
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
> что такое Continuous ?

Это ленточная.
...
Рейтинг: 0 / 0
Listbox
    #32201368
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
конструкция
main ->
Subform1 ->
Subform2

доступна в аксессе если подчиненные формы в режиме таблиц.

ЕСЛИ Subform2 в режиме таблицы. так бедет правильней
...
Рейтинг: 0 / 0
Listbox
    #32201378
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
конструкция
main ->
Subform1 ->
Subform2

доступна в аксессе если подчиненные формы в режиме таблиц.


если Subform1 -> в режиме табл., то Subform2 только как подтаблица (в виде формы или таблицы)

или у меня что-то не получается?
...
Рейтинг: 0 / 0
Listbox
    #32201523
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
именно так
...
Рейтинг: 0 / 0
Listbox
    #32201561
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спасибо за исчерпывающий ответ.
(краткость - сестра таланта)
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Listbox
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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