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

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

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

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

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

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

Если я ничего не забыл - то примерно так. Спрашивай, если что-то неполучилось
...
Рейтинг: 0 / 0
07.07.2003, 16:22
    #32201147
dead1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Listbox
Код: 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
07.07.2003, 16:51
    #32201189
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Listbox
> Source Object не хочет понимать sql запрос.

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

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

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

f.RecordSource = f.RecordSource

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

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

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

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

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

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

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

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

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


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

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


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