|
RecordSource подчиненной формы
|
|||
---|---|---|---|
#18+
nataxa23, сейчас посмотрел как у меня сделано. Каждая форма имеет свой источник, уже прописанный в конструкторе. Ну, связи соответственно. Перепроверил. - Пока не кликнешь на плюсик для открытия самой глубокой формы - она вообще не загружается. Form_Open только после "плюсика". Ваш лоад срабатывает, потому что вы переписываете все время источник форм. Переосмыслите. Может можно сделать как я писал в своем варианте. Или на событии открытия формы - присваивать источник, строку sql, которую будет дергать из главной формы. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2018, 22:08 |
|
RecordSource подчиненной формы
|
|||
---|---|---|---|
#18+
ИгортанПереосмыслите. Может можно сделать как я писал в своем варианте. т.е. повесить код вместо процедуры " Form_Load " на процедуру " Form_Open "? Что вы имеете в виду под "я писал в своем варианте"?? ИгортанИли на событии открытия формы - присваивать источник, строку sql, которую будет дергать из главной формы. каким образом дергать из главной формы? Если честно я ни разу не поняла вашего совета. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2018, 23:18 |
|
RecordSource подчиненной формы
|
|||
---|---|---|---|
#18+
nataxa23, nataxa23т.е. повесить код вместо процедуры " Form_Load " на процедуру " Form_Open "? да, ноя сейчас не про код. А про присваивание строки источника в целом. nataxa23каким образом дергать из главной формы? Сделайте скрытое поле на главной форме. По какому то действию (сильно в код не вникал) в это поле записывайте sql строку источник потом на событие Form_Open подчиненной me.form.RecordSource = me.Parent.ПолеГдеСохранилиSQLСтроку если связи нужны, желательно прописать в самих свойствах форм тогда не нужно будет чистить и устанавливать связи. Если у вас источник не меняется прям по наборам таблиц, а только набором полей. nataxa23Что вы имеете в виду под "я писал в своем варианте"?? имел ввиду, что прописать источники форм прямо в свойство. Если это для ваших условий допустимо. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2018, 00:44 |
|
RecordSource подчиненной формы
|
|||
---|---|---|---|
#18+
Что то не складывается у меня в голове предложенный вариант плана реализации. Игортанnataxa23каким образом дергать из главной формы? Сделайте скрытое поле на главной форме. По какому то действию (сильно в код не вникал) в это поле записывайте sql строку источник потом на событие Form_Open подчиненной me.form.RecordSource = me.Parent.ПолеГдеСохранилиSQLСтроку если связи нужны, желательно прописать в самих свойствах форм тогда не нужно будет чистить и устанавливать связи. Если у вас источник не меняется прям по наборам таблиц, а только набором полей. Перефразирую свой вопрос. Зачем прописывать источник в главной форме, если она - гл.форма, не имеет своего источника? Все поля на гл.форме для выборки данных свободные. Между собой связаны только подчиненная ф2 и подчиненная ф3 по ключевому полю, каждая из которых (ф2 и ф3) имеет свой источник данных. Непонятно к какой форме применять: Игортанпотом на событие Form_Open подчиненной me.form.RecordSource = me.Parent.ПолеГдеСохранилиSQLСтроку Если честно я не понимаю какой смысл, в моей ситуации, хранить в скрытом поле строку sql-запроса? Работать должны обе подчиненные формы, т.к. на гл.форме есть поля, которые относятся к выборке на ф2 и есть поля, кот.относятся к выборке на ф3. Вы же сами обратили внимание на: ИгортанВаш лоад срабатывает, потому что вы переписываете все время источник форм. А здесь пишете: ИгортанЕсли у вас источник не меняется прям по наборам таблиц, а только набором полей. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2018, 10:47 |
|
RecordSource подчиненной формы
|
|||
---|---|---|---|
#18+
ИгортанЕсли у вас источник не меняется прям по наборам таблиц, а только набором полей. Подразумевалось, что источники ф2 и ф3 построены на одних таблицах и отличаются только набором полей Как я понял проблему, не удается присваивать источник для ф3 лежит в ф2 ф3 присваивать источник ДО момента открытия (клика по плюсику) не удастся. По крайней мере первый раз. Ибо ф3 до первого обращения к ней, как бы не существует, не загружена. На мой взгляд 2 решения вопроса 1. Прописать источники в свойствах форм + связи + ссылки на поля фильтры: Forms!ГлФ!ПолеФильтра. При изменении параметра - тупо обновлять нужную подчиненную 2. В момент первого обращения (клика по плюсику) в событии Form_Open присваивать источник. Что то вроде этого Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Далее, уже сможете обращаться к публичной функции и переписывать источник в любой момент ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2018, 12:51 |
|
RecordSource подчиненной формы
|
|||
---|---|---|---|
#18+
Пробовала ваш вариант: Игортан2. В момент первого обращения (клика по плюсику) в событии Form_Open присваивать источник. Что то вроде этого Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Ошибка 2455 все равно появляется, как раз по причине, если не трогать «+». Т.е.в момент, когда таблица ф2 с выборкой по ключ.полю имеет значение Is Null для мгновенного скрытия всех записей на ф2. 1 вариант не даст мне скрывать записи не очищая поля на гл.ф1. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2018, 15:52 |
|
RecordSource подчиненной формы
|
|||
---|---|---|---|
#18+
nataxa23, если столько бодаетесь и никак не идет Может стоит задуматься о принципиально другом решении задачи? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2018, 18:31 |
|
RecordSource подчиненной формы
|
|||
---|---|---|---|
#18+
Игортанесли столько бодаетесь и никак не идет Может стоит задуматься о принципиально другом решении задачи? Может и стоит, раз майкрософт не дает такой возможности. Это им, кстати, в минус. Но я не знаю какой тогда сделать альтернативный подход, если моя процедура " RefreshRecordSourse " выдает ошибку 2455? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2018, 20:16 |
|
RecordSource подчиненной формы
|
|||
---|---|---|---|
#18+
К слову о «+», поэкспериментировала с ними. Сделала глобальную переменную для св-ва развернутая подтаб. Меняю в процедуре " HideAll " св-во формы Me.фпПоискЗаявок.Form.SubdatasheetExpanded = True , ну т.е. когда выборка делается со значением " Is Null " по ключевому полю. Ошибка 2455 вроде бы не вылезает, работает стабильно. Но я не уверена, что это помогло, как пить дать, завтра она все равно вылезет. Я не первый раз уже замечаю такую вещь, когда пытаешься что то доработать, например исправить ту или иную ошибку или что еще делать, смотришь, вроде бы все работает, косяк исправился, а на следующий день запускаешь бд, а ошибочка то хрясь - никуда и не девалась, вот она родимая. Один минус заметила только с этим экспериментом. Когда меняю св-во подтаб., то поиск срабатывает с раскрытыми плюсиками. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2018, 21:12 |
|
|
start [/forum/topic.php?fid=45&gotonew=1&tid=1611241]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
60ms |
get topic data: |
11ms |
get first new msg: |
9ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 183ms |
0 / 0 |