|
Не отображаются данные в поле со списком.
|
|||
---|---|---|---|
#18+
Здравствуйте. На форме (в табличном виде) имеется комбобокс. В источнике строк ссылка на запрос. Присоединенный столбец 1. Число столбцов 2 (в первом столбце ID, во втором текстовые данные). Ширина столбцов 0см;3см. Когда открываю форму в большей части строк (практически во всех) не отображается значение (хотя в некоторых строках таки в наличии), просто пусто. Хотя я точно знаю что значение есть, да и при нажатии комбобокса выходит куча этих значений. Меняю ширину столбцов ставлю 0,01см;3см. Теперь во всех строках отображается только первый столбец - ID, текстовой части нет. А при нажатии на комбобокс наоборот видно текстовую часть но нет ID. Что за глюки? Может я что не так делаю? Проект ADP Access 2003 + MS SQL 2008 R2 ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2013, 20:57 |
|
Не отображаются данные в поле со списком.
|
|||
---|---|---|---|
#18+
Иллюстрация к первому случаю: ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2013, 21:10 |
|
Не отображаются данные в поле со списком.
|
|||
---|---|---|---|
#18+
Иллюстрация ко второму: ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2013, 21:11 |
|
Не отображаются данные в поле со списком.
|
|||
---|---|---|---|
#18+
Изерлонер, я спрошу ещё раз, на всякий вы вот это - 13682062 - точно сделали ? может - непомните или "приснилось" ... - сделайте ещё раз ... ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2013, 23:55 |
|
Не отображаются данные в поле со списком.
|
|||
---|---|---|---|
#18+
Предположу, что в показанной таблице tblRequestContent_Buh содержатся коды, отсутствующие в таблице-источнике комбо. И записи с этими кодами в поле iKOD будут видеться пустыми в комбо, так как не имеют аналогов в таблице. Можно проверить запросом есть ли такие коды Код: sql 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2013, 23:58 |
|
Не отображаются данные в поле со списком.
|
|||
---|---|---|---|
#18+
qwerty112, я этого (установка фикса на сп3) точно не делал. После того как намучался с этими сервиспаками, фиксами, не получая удовлетворительного результата – скачал сборку со «всё включено» достаточно стабильную, в которой всех тех проблем не было. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2013, 04:32 |
|
Не отображаются данные в поле со списком.
|
|||
---|---|---|---|
#18+
mds_world, как и ожидал в результатах запроса пусто. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2013, 04:34 |
|
Не отображаются данные в поле со списком.
|
|||
---|---|---|---|
#18+
qwerty112Изерлонер, я спрошу ещё раз, на всякий вы вот это - 13682062 - точно сделали ? может - непомните или "приснилось" ... - сделайте ещё раз ... на всякий случай установил фикс еще раз. Без изменений. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2013, 07:39 |
|
Не отображаются данные в поле со списком.
|
|||
---|---|---|---|
#18+
В дополнение. Определил что не показываются данные с определенного ID. :( т.е. все данные из текстового столбца с номером ID до 16746 в наличии. А вот дальше все пусто. Хотя в исходной таблице все в порядке. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2013, 07:54 |
|
Не отображаются данные в поле со списком.
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2013, 08:07 |
|
Не отображаются данные в поле со списком.
|
|||
---|---|---|---|
#18+
Ну в общем ... причину нашел. Причина в ограничении выводимых записей - 10000. Начиная с записи 10000 данные таблицы подстановки не отображаются. Решил установкой ограничения в настройках акса на 100000. ... Но как-то это... Вдруг количество записей там достигнет свыше 100000? Что теперь каждый раз ограничение менять? И второе, если хочу что бы в таблице в комбобоксе отображались текстовые значения, а при выборе комбо можно было увидеть так же и коды, то как тогда быть? Установка ширины первого столбца (с ID) на 0,001 приводит к тому что отображается таки только первый столбец с ID, вместо текста. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2013, 08:30 |
|
Не отображаются данные в поле со списком.
|
|||
---|---|---|---|
#18+
Изерлонер, зачем в форме держать 10000+ записей? они все нужны в один момент (при каждом открытии)? когда записей много форму опирают на запрос с критериями или используют фильтр ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2013, 08:57 |
|
Не отображаются данные в поле со списком.
|
|||
---|---|---|---|
#18+
При таком количестве записей вместо комбобокса надо дать пользователю более удобный диалог выбора. С фильтрами, опциями выбора. Кроме того такого размера плоский однородный справочник - тоже не дело. Надо делать его иерархическим, переходить от плоского справочника а классификатору. А там если даже 1 000 000 разбить на три уровня - по 1000 на одном уровне останется. Вопщем, похоже на ошибку проектирования. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2013, 10:16 |
|
Не отображаются данные в поле со списком.
|
|||
---|---|---|---|
#18+
ЫLL HEAD, это подчиненная форма. В форме контейнере видно только часть данных этой формы (весьма не большую не более 50 записей) отобранную по определённым критериям (вторая форма со связанной таблицей). Однако после отбора по этим критериям всё равно части текстовых данных не хватало. Пока не увеличил ограничение акса. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2013, 10:43 |
|
Не отображаются данные в поле со списком.
|
|||
---|---|---|---|
#18+
Программист-Любитель, это просто справочник материалов. Там иерархии то особо и не нужно. Вообще не однократно убеждался в вашей правоте по тем или иным вопросам, но как правило только после того как сам массу шишек набью, потом вдруг вспоминаю ... а вот П–Л что то такое писал. :) иначе как то не получается. Ирония ещё в том что как раз сейчас пытаюсь несколько переделать свой первоначальный интерфейс на основе вашего замечания, набив несколько шишек :) видимо не достаточно набил раз опять всё не так. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2013, 10:53 |
|
Не отображаются данные в поле со списком.
|
|||
---|---|---|---|
#18+
Более чем уверен, что материалы можно классифицировать по куче признаков. Сразу честно предупредю, что решения, когда в рамках табличной субформы можно разрулить мега комбобокс на туеву хучу позиций, я не знаю. Могу предложить некий паттерн для удовлетворительного на мой взгляд решения проблемы, как бы сделал я. В вашей самой детальной таблице в дополнение КодуМатериала (это который щас комбобокс на 100000+ записей можно сделать временные поля Код1 и Код2. Источником табличной формы делаем запрос, соединяющий таблицу данных со справочником материалов, с 2 уровнем, затем с 2 уровнем. Отображать в форме поля (обычные, не комбо): НазваниеКода1 из таблицы Классификация Уровень1, НазваниеКода2 из таблицы Классификация Уровень2, НазваниеМатериала из Справочника материалов В нижней части формы сделать еще одноу субформу типа карточку, в которой выводить данные текущей записи детальной таблицы. Поскольку это форма-карточка, там можно динамически формировать источники строк комбо, забирая в источник только ограниченной число позиций. Последовательно выбирается Код1 - Фильтруется Код2, Код2 - Фильтруется КодМатериала. Для работы этой формы-карточки использовать дополнительные временные поля Код1 и Код2 (денормализованные поля), которые специально сделать в таблице материалов. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2013, 11:25 |
|
Не отображаются данные в поле со списком.
|
|||
---|---|---|---|
#18+
Давайте так. Конкретно вот эта задача, в этом топике не касается выбора каких то элементов списка из поля со списком. Только отображение. Возможность использования комбобокс блокирована. Может быть можно делать постановку с другими контролами, но мне проще показалось так, так как комбобокс уже использовал. Там где комбо используется для выбора, там тоже выбора как такового (крутить через многие сотни позиций) не происходит, там просто начинаем водить первые символы, остальное уже автоматом поставляется. Однако обратил внимание на одно весьма существенное, как мне показалось, замечание. У меня на самом деле часто встречается такой подход когда в форму загружается вся таблица, и уже затем отфильтровываются нужные данные. А как можно сделать иначе? Ну вот конкретно по задаче в этом топике: имеется две связанные таблицы, в форме представлены в виде подчиненных форм связанных через поле в форме– контейнере. Одна таблица документы («требования») вторая содержимое документа. При выборе документа в первой субформе по ключу, через поле в форме контейнере, выводится его содержимое (перечень материалов, запчастей) во второй. Однако изначально во вторую субформу загружена вся таблица (около ста тыс. записей). Такой же подход и в других подобных задачах. А как можно по другому? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2013, 12:49 |
|
Не отображаются данные в поле со списком.
|
|||
---|---|---|---|
#18+
Учитывая что проект АДП ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2013, 12:54 |
|
Не отображаются данные в поле со списком.
|
|||
---|---|---|---|
#18+
Я об этом уже писал на этом форуме много-много раз. Мне таки пришлось полностью взять на себя все механизмы загрузки данных в формы и субформы. Как следует из вашего ТЗ, у вас главная форма-окно контейнер без данных и две вложенных табличных формы - мастер и детельная. Как это сделано у меня. 1. Загружается главная форма. Она сразу же проявляется на экране. 2. На месте мастер грида выводится (строго такого же размера) бледно-желтая панель - данные загружаются, подождите, пожалуйста... Когда данные загрузились в мастер грид, желтая панель убирается, видны сами данные. 3. На месте детального грида выводится (строго такого же размера) бледно-желтая панель - данные загружаются, подождите, пожалуйста... В детальный грид загружаются только те данные, которые соответствуют текущей записи мастер-грида. Когда данные загрузились в детальный грид, желтая панель убирается, видны сами данные. Как это устроено внутри. В главной форме источники субформ очищены. Поэтому открывается пустая форма, мгновенно. Присваивается саурс обжект мастер-гриду. В мастер-субформе источник строк тоже очищен. Он формируется, присваивается. Начинается загрузка данных. Пока она не закончится, видна желтая заставка. Когда данные загрузились (событие каррент) желтая панель убирается. Присваивается саурс обджект детальному гриду. От тоже хранится с очищенным рекордсаурс. Источник строк формируется с отбором WHERE ID = <Значение из мастер грида>. Присваивается в роусаурс детального грида. Начинается загрузка отобранных детальных данных. Пока она не закончится, видна желтая заставка. Когда данные загрузились (событие каррент) желтая панель убирается. Занимеются этим универсальные классы, обслуживающие все прикладные формы. На одном окне контейнере можно иметь много субформ, связванных иерархическими отношениями. Мастер-чаилд пришлось полностью переписать. Чтобы сей механизм заработал, достаточно воткнуть в главную форму-контейра два пустых контрола-субформы и иметь все формы как таковые. Все остальное настраивается в конфигураторе прикладных форм, т.е. ни главная форма, ни субформы никакого кода не содержат, вся функциональность обеспечивается библиотекой классов. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2013, 18:35 |
|
Не отображаются данные в поле со списком.
|
|||
---|---|---|---|
#18+
В конструкторе. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2013, 18:36 |
|
Не отображаются данные в поле со списком.
|
|||
---|---|---|---|
#18+
А вот ее код. Код: 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.
Кстати, я случайно взял у себя пример, где такая связка двух гридов сделана в форме-карточке, а не через форму-таблицу. Там внутри примерно то же самое. У меня даже форма-карточка оказалась достаточно смышленной - справилась. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2013, 18:42 |
|
Не отображаются данные в поле со списком.
|
|||
---|---|---|---|
#18+
А возможно ли установить рекордсорс одной подчиненной формы находясь в другой подчиненной форме? Уже несколько раз перечитал FAQ по обращению к полям (и т.д.) подчиненных форм, все равно ничего не получается :( По переходу на какую-либо запись в подчиненной форме являющейся ведущей выполняется следующий код: Код: vbnet 1. 2. 3. 4.
который неизменно завершается ошибкой: "Введенное выражение содержит недопустимую ссылку на свойство "Form/Report" Первой строкой задается значение поля в форме контейнере. Второй строкой по идее должен задаваться рекордсорс для второй подчиненной формы из таблицы отфильтрованной по значению поля в контейнере. frmRequest - форма контейнер podchRequestContent_Buh - контрол c подчиненной формой cldRequestContent_Buh - подчиненная форма с детализацией. ID_TAB - поле на форме контейнере. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2013, 10:18 |
|
Не отображаются данные в поле со списком.
|
|||
---|---|---|---|
#18+
Вы плохо читали ФАК . Если правильно указывать имена контролов, то успех неизбежен. Совет: используйте Me. находясь в контексте формы. Не тащите цепочку имен от Forms! Я бы написал примерно так: Код: vbnet 1. 2. 3. 4. 5.
Если имена правильные, должно работаь. Если не работает - ищите ошибки. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2013, 10:34 |
|
Не отображаются данные в поле со списком.
|
|||
---|---|---|---|
#18+
авторкоторый неизменно завершается ошибкой: "Введенное выражение содержит недопустимую ссылку на свойство "Form/Report" А форма-то к этому времени в SourceObject уже загружена ? Под отладчиком все проверяется за пять секунд. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2013, 10:36 |
|
Не отображаются данные в поле со списком.
|
|||
---|---|---|---|
#18+
П-Л Если имена правильные, должно работаь. Если не работает - ищите ошибки. При первом использовании выдает ту же самую ошибку. Однако если в выданном сообщении нажать End вместо Debug, дальше все работает как надо. ... Похоже действительно в начале форма не успевает загрузиться. Спасибо за Me.Parent! . Самого ломает полностью путь прописывать, не знал что можно к родительской форме так обратится. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2013, 11:00 |
|
|
start [/forum/topic.php?fid=45&msg=38196299&tid=1611302]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
63ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
62ms |
get tp. blocked users: |
1ms |
others: | 283ms |
total: | 458ms |
0 / 0 |