|
RecordSource подчиненной формы
|
|||
---|---|---|---|
#18+
Приветствую всех. Пытаюсь сделать общий вид поисковой формы с полями для выборки данных для обеих форм – Формы2 и ее подчиненной Формы3. Т.е. суть такая – на Форме1 находится Форма2, в которой по «+» раскрываются записи подчиненной Формы3. Принцип построения такой – есть общая свободная Форма1 с полями и комбобоксами, по которым делается общая выборка данных для обеих форм (обе в режиме таблицы): Форма2 – главная и Форма3 – подчиненная. Форма2 так же расположена на Форме1. Форма2 и Форма3 между собой связаны по полю кода – связь 1 ко многим. Общий запрос состоит из 2-х таблиц (связь 1 ко многим), использую его для подчиненной Формы3, а в главной Форме2 вывожу запрос с полями только первой части общего запроса. Т.е. получается, что запрос для Формы2 я строю из запроса к Форме3. В коде VBA, по выбранным полям на Форме1, я собираю 2 массива и получаю 2 переменные для выборки данных в запросах к Форме2 и Форме3. Дальше начинается сама проблема, из кода Формы1 присвоить полученный RecordSource для Формы2 получается, а для Формы3 нет. Вот часть кода, где пытаюсь присвоить формам RecordSource с полученной выборкой данных к Форме2 и Форме3: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77.
А и еще такой момент, при открытии общей Формы1 по умолчанию присваиваю Форме2 RecordSource со значением «Is Null», чтобы изначально записи были скрыты. Заранее признательна за помощь. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.06.2018, 20:31 |
|
RecordSource подчиненной формы
|
|||
---|---|---|---|
#18+
nataxa23, Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
04.06.2018, 22:05 |
|
RecordSource подчиненной формы
|
|||
---|---|---|---|
#18+
Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2018, 17:24 |
|
RecordSource подчиненной формы
|
|||
---|---|---|---|
#18+
Озверин Код: vbnet 1.
__Michelle Код: vbnet 1.
Выдает ошибку: 2465 - Application-defined or object-defined error К сожалению выложить пример бд не получается, весит больше 150кб, исключила все по максимуму. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.06.2018, 23:11 |
|
RecordSource подчиненной формы
|
|||
---|---|---|---|
#18+
nataxa23, базу надо сжать и заархивировать. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2018, 12:17 |
|
RecordSource подчиненной формы
|
|||
---|---|---|---|
#18+
nataxa23, если правильно понял, то описываемый код расположен в форме 1. Форма 2- подчиненная формы 1, форма 3 - подчиненная формы 2. рекордсорс формы 3 из формы 1 будет выглядеть так: Код: vbnet 1.
' здесь "фпПоискЗаявок" и "фпПоискМИЦОВИВ" - названия тех контролов в которых расположены формы 2 и 3. т.е. Me.controls("фпПоискЗаявок").sourceObject = "Форма2" ' это в общем случае форма2 присвоена контролу на форме1 2. лучше всего в форме 1 создать 2 переменные в которых описать формы 2 и 3 и работать с ними из формы 1. т.е. это Код: vbnet 1. 2. 3.
очевидно это forma3.RecordSource =strSQL forma2.RecordSource ="" ' красивее forma2.RecordSource =vbnullstring Свойство Parent используется если Ваш код будет в Форме3, тогда,для того чтобы из формы 3 изменить рекордсорс формы 2 применяете Parent (поднимаетесь выше по иерархии в оношении предок/потомок Код из формы3 Me.Parent.RecordSource =strsql2 чтобы изменить что то в форме1 из формы3 Me.parent.Parent.recordsource=strsql3 ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2018, 14:07 |
|
RecordSource подчиненной формы
|
|||
---|---|---|---|
#18+
aleckonataxa23, если правильно понял, то описываемый код расположен в форме 1. Форма 2- подчиненная формы 1, форма 3 - подчиненная формы 2. Да, все верно. Единственное чего не поняла, это куда и где и для чего использовать: aleckoforma2.RecordSource ="" ' красивее forma2.RecordSource =vbnullstring спасибо за наводку: aleckoСвойство Parent используется если Ваш код будет в Форме3, тогда,для того чтобы из формы 3 изменить рекордсорс формы 2 применяете Parent (поднимаетесь выше по иерархии в оношении предок/потомок Код из формы3 Me.Parent.RecordSource =strsql2 чтобы изменить что то в форме1 из формы3 Me.parent.Parent.recordsource=strsql3 Озверинбазу надо сжать и заархивировать. Да я в курсе, когда отписывалась, что бд весит больше 150кб. Просто я взяла копию и исключила из нее все лишнее по максимуму. Этого оказалось не достаточно. Сделала иначе, создала пустую бд и экспортировала все необходимое, получилось тютелька в тютельку, так что выкладываю свой пример. Только в процедуре, которую приводила в своем посте, убрала свои закоментированные попытки добраться до РекордСурса подчиненной формы3. Заметила такую вещь, я применяю для формы2 в Load: «Me.SubdatasheetExpanded = False», чтобы изначально все «+» были свернутыми, и это влияет на РекордСурс подчиненной формы3 – вызывает ошибку: 2455 Введенное выражение содержит недопустимую ссылку на свойство "Form/Report". Пробовала так же через переменную присваивать объект формы по совету alecko , срабатывает та же ошибка, если таблица не развернута на форме2. Т.е. ему не нравится, что все записи находятся в свернутом состоянии, ему надо их разворачивать – видимо он закрывает форму3 как объект, если на форме2 подчиненная форма3 имеет свернутое состояние, соответственно и ссылка на форму3 становится недопустимой. Но это мои догадки. И еще чего я не пойму теперь, это допустим, если подтаблица на форме2 развернута и делать выборку по полям, которые влияют на РекордСурс формы3, то я наблюдаю, что записи на форме3 обновляются только для первой строки из 3-х найденных записей на форме2. Т.е. такое ощущение, что аксесу не хватает можахи для остальных записей. Выкладываю свой пример. В моем примере 3-й столбец выборки по полям и комбобокс – это та часть, которая делает выборку для формы3. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2018, 22:49 |
|
RecordSource подчиненной формы
|
|||
---|---|---|---|
#18+
nataxa23, у меня не удалось распаковать ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2018, 11:06 |
|
RecordSource подчиненной формы
|
|||
---|---|---|---|
#18+
Озверинnataxa23, у меня не удалось распаковать хм..., странно у меня архив распаковывается. Выкладываю повторно. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2018, 19:26 |
|
RecordSource подчиненной формы
|
|||
---|---|---|---|
#18+
nataxa23Озверинnataxa23, у меня не удалось распаковать хм..., странно у меня архив распаковывается. Выкладываю повторно. http://www.sql.ru/forum/actualfile.aspx?id=21482698] Приложенный файл (Database1.rar - 148Kb) лучше зазипуйте RAR у многих не распаковывается(версия новомодная) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2018, 20:07 |
|
RecordSource подчиненной формы
|
|||
---|---|---|---|
#18+
Если делать стандартным способом от винды, то тогда вес превышает 150кб. Выкладываю еще раз. в настройках винрара выбрала др.формат, может это поможет. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2018, 22:39 |
|
RecordSource подчиненной формы
|
|||
---|---|---|---|
#18+
nataxa23, все равно не открывается прилагаю zip ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2018, 11:24 |
|
RecordSource подчиненной формы
|
|||
---|---|---|---|
#18+
Всем привет , хочу снова поднять свою тему, т.к. до конца так и не удалось решить ее. Остались такого рода вопросы, правда с последнего раза код я несколько переделала. Выкладывать его здесь пока не стану, надеюсь приложенный пример не вызовет проблем с распаковкой, как в прошлый раз, хотя для меня это так и осталось загадкой, WinRAR использую v.5.50 (64-разрядная). 1) на точке останова возникает непонятное сообщение Access в процедуре "RefreshRecordSourse" на строке: frm.SubdatasheetExpanded = True при этом видно, что св-во frm.SubdatasheetExpanded = "False" все же меняется на "True", код продолжает выполнятся дальше, где в последствии в той же процедуре отслеживается ошибка 2455. ----------------- 2) ошика 2455: «Введенное выражение содержит недопустимую ссылку на свойство "Form/Report".» Методом проб и ошибок подозрения падают на то, что приходится менять св-во «Развернутая подтаблица» = "НЕТ" на "ДА", т.е. «+» влияют на объект - подчиненную форму3 (фпПоискМИЦОВИВ) в форме2 (фпПоискЗаявок), которая в свою очередь находится в форме1 (фПоиск). ----------------- 3) напрягает мерцание экрана. Application.Echo "False"\"True" - не помогает. ----------------- 4) непонятно какой код отвечает за выполнение действия нажатие кн.мыши на непосредственно сам «+», т.е. "скрыть"\"раскрыть" строку одного рекордсета, чтобы отобразить связанные с ним данные в подтаблице. Буду очень признательна, если кто откликнется, поможет с вопросами, а так же поможет добить тему и решить проблему в целом, и все же реализовать задуманное. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2018, 15:25 |
|
RecordSource подчиненной формы
|
|||
---|---|---|---|
#18+
nataxa23, архив поврежден. можно кинуть файл в облако (типа Ядиск), а сюда ссылку выложить. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2018, 15:53 |
|
RecordSource подчиненной формы
|
|||
---|---|---|---|
#18+
Ваш файл посмотреть не удалось (наверно новее 2007) Может как-то так: ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2018, 17:26 |
|
RecordSource подчиненной формы
|
|||
---|---|---|---|
#18+
sdkuВаш файл посмотреть не удалось (наверно новее 2007) блин, да. Прошу меня извинить, с самого начало все время как то ускользает из памяти указать, что у меня Access 2010, поэтому 2007 к сожалению его не откроет. aleckoархив поврежден. можно кинуть файл в облако (типа Ядиск), а сюда ссылку выложить. Ядиск не использую, пришлось залить на файлообменник, ссылка: zip-файл ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2018, 18:31 |
|
RecordSource подчиненной формы
|
|||
---|---|---|---|
#18+
sdkuМожет как-то так: http://www.sql.ru/forum/actualfile.aspx?id=21552285] Приложенный файл (tmp1.rar - 20Kb) Похожий вариант, но есть разница. У вас форма (получатель), через которую делается выборка по полю фамилия привязан к запросу. В этом случае, когда форма открывается то она встает на 1 имеющуюся запись. Т.е. форма не будет выводить по несколько записей главной таблицы, а только лишь 1. У меня не так, моя форма1 к запросу не привязана и поля на ней свободные, в этом случае это дает возможность подчиненной форме2: - выводить либо все записи сразу; - записи, сделанные через выборку по полям на форме1; - либо все записи скрыть. Но моя проблема заключена в том, что у подчиненной формы2 есть своя подчиненная форма3. Поля на форме1 выведены как для выборки подчиненной формы2, так и для подчиненной формы3. И соответственно, если делать выборку по полям для подчиненной формы3, вот здесь то и возникает вся трудность, а главное ошибка 2455. Методом проб и ошибок я прихожу к такой мысли, что «+» влияют на подчиненную форму3, ссылка на объект формы вроде бы есть, но при закрытых «+» обновлять RecordSours подчиненной формы3 не получается. Однако, если я применяю .SubdatasheetExpanded = "False" меняю на "True", то ошибка 2455 то выводится, то нет, но чаще всего она выводится. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2018, 19:09 |
|
RecordSource подчиненной формы
|
|||
---|---|---|---|
#18+
архив открылся, но ... мой Акс2007 непрочитал. (бывает читает 10-е) - ждем в .mdb . ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2018, 19:46 |
|
RecordSource подчиненной формы
|
|||
---|---|---|---|
#18+
aleckoархив открылся, но ... мой Акс2007 непрочитал. (бывает читает 10-е) - ждем в .mdb . В одном архиве zip-файла сохранила на всякий пожарный случай в 2-х вариантах: 2000 и 2002-2003 Блин, чета раньше мне такого делать не приходилось как то, я прям даже для себя щас америку открыла, когда пересохраняешь в более позднюю версию, акс ругается на то, что такие формы не поддерживаются и своих форм я не вижу в боковой панели навигации, но при этом, если открываешь пересохраненный файл, то он формы то грузит, только интерфейс немного отличается. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2018, 20:31 |
|
RecordSource подчиненной формы
|
|||
---|---|---|---|
#18+
nataxa23У меня не так, моя форма1 к запросу не привязана и поля на ней свободные, в этом случае это дает возможность подчиненной форме2: - выводить либо все записи сразу;(А они поместятся на экран-не знаю Вашу базу-но ведь их может быть довольно много и очень спорна необходимость их вывода-ведь придется прокручивать записи,что неудобно и требует внимательности, или применять,таки поиск) - записи, сделанные через выборку по полям на форме1;(на форме2 выводятся записи по выборке на форме1,на форме3 выводятся записи по выборке на форме2-щелчке на "+") - либо все записи скрыть.(какие именно и где?) Но моя проблема заключена в том, что у подчиненной формы2 есть своя подчиненная форма3. Поля на форме1 выведены как для выборки подчиненной формы2, так и для подчиненной формы3.(выборка на Ф3 соответствует записи на Ф2(иначе быть не может)- одновременно подчиняться и Ф1 и Ф2-так быть не может и какой в этом смысл?) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2018, 20:41 |
|
RecordSource подчиненной формы
|
|||
---|---|---|---|
#18+
sdkunataxa23У меня не так, моя форма1 к запросу не привязана и поля на ней свободные, в этом случае это дает возможность подчиненной форме2: - выводить либо все записи сразу;(А они поместятся на экран-не знаю Вашу базу-но ведь их может быть довольно много и очень спорна необходимость их вывода-ведь придется прокручивать записи,что неудобно и требует внимательности, или применять,таки поиск) - записи, сделанные через выборку по полям на форме1;(на форме2 выводятся записи по выборке на форме1,на форме3 выводятся записи по выборке на форме2-щелчке на "+") - либо все записи скрыть.(какие именно и где?) Но моя проблема заключена в том, что у подчиненной формы2 есть своя подчиненная форма3. Поля на форме1 выведены как для выборки подчиненной формы2, так и для подчиненной формы3.(выборка на Ф3 соответствует записи на Ф2(иначе быть не может)- одновременно подчиняться и Ф1 и Ф2-так быть не может и какой в этом смысл?) 1) если пользователю нужно вывести на распечатку все записи 2) форма1 формирует вывод записей для формы2 и формы3 по связанному ключевому полю у каждой формы свой запрос, я описала об этом в своем первом посте, чтобы не повторяться. А выборка делается так. Вначале формируется запрос формы3, затем по ключевому полю формируется запрос для формы2. Это нужно для того: а) если юзер делает выборку по полям, которые относятся только к форме2; б) если юзер делает выборку по полям, которые относятся только к форме3; в) если юзер делает выборку по полям формы2 и формы3. 3) под скрытием всех записей я имею ввиду форму2, типа отобразить пользователю пустую таблицу. Да выборка на Ф3 соответствует, чтобы сформировать запрос по полям, которые относятся к Ф2, а как же иначе то тогда? Я тогда не смогу сформировать запрос Ф3, если юзер будет делать выборку по полям к Ф2. А так я получаю вначале общий запрос для Ф3, а потом получаю запрос для Ф2. Если у Вас все же получится просмотреть мой выложенный пример, то при тестировании вы сможете увидеть такую штуку, что если не обращать внимания на ошибку 2455 (она у меня отлавливается моим сообщением с выводом названия процедуры, в которой она произошла) и повторно нажать кнопку поиск, то он формирует согласно сделанной выборке. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2018, 21:56 |
|
RecordSource подчиненной формы
|
|||
---|---|---|---|
#18+
Открыл! nataxa23, подподформой управлять из формы не получится, т.е. recordsource должен быть неизменный, (для примера попробуйте создать переменную form для неё - не получится). (Гетц рекомендует делать синхронизированные подформы 1-го уровня) SubdatasheetExpanded для того чтобы использовать нужно его создать кажется примерно так Код: vbnet 1. 2. 3. 4.
подобные задачи помоему проще и нагляднее решаются при помощи списков ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2018, 00:40 |
|
RecordSource подчиненной формы
|
|||
---|---|---|---|
#18+
Люди помогите с кодом добить вопрос: Ошибка 2455: «Введенное выражение содержит недопустимую ссылку на св-во "Form/Report".» Неужели никто не сталкивался с такой задачей? Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75.
... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2018, 17:16 |
|
RecordSource подчиненной формы
|
|||
---|---|---|---|
#18+
nataxa23, была у меня ситуация, вот так вот тоже вложенности глубиной 3. Все было сделано на табличных формах. Так вот я заметил, что событие Open самой глубокой формы срабатывало только при первом обращении к этой форме. Т.е. пока не кликнешь плюсик для раскрытия подчиненных - подчиненной как бы и не существует. После первого раскрытия потом уже все как обычно. Может и здесь попытка присвоить глубокой подчиненной источник влоб. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2018, 18:27 |
|
RecordSource подчиненной формы
|
|||
---|---|---|---|
#18+
ИгортанМожет и здесь попытка присвоить глубокой подчиненной источник влоб. Возможно, только я не пойму, как тогда правильно это реализовать? Сложно сказать при каком действии она срабатывает, после которого в коде процедуры " RefreshRecordSourse " происходит эта ошибка в указанной мной строке. Пытаюсь уловить этот момент. Возможно, скорее всего, похоже она происходит, если перед этим применялась моя процедура " HideAll " - для скрытия всех записей на ф2 " фпПоискЗаявок ". ИгортанТак вот я заметил, что событие Open самой глубокой формы срабатывало только при первом обращении к этой форме. Не знаю на ск-ко правильным можно считать код в моей процедуре " ShowAll ", но в ней он каждый раз заходит в процедуру " Form_Load " ф3 " фпПоискМИЦОВИВ ", когда таблица ф2 " фпПоискЗаявок " не пустая, а содержит какие-либо записи: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
Т.е. в ней он отрабатывает как надо, сбрасывая примененную ранее выборку и выводит весь источник данных. А вот как быть здесь, я ума не приложу? Ясно только одно, что ссылку надо каким то образом делать доступной. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2018, 20:15 |
|
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?all=1&fid=45&tid=1611241]: |
0ms |
get settings: |
13ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
53ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
others: | 284ms |
total: | 437ms |
0 / 0 |