|
Не отображаются данные в поле со списком.
|
|||
---|---|---|---|
#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 |
|
Не отображаются данные в поле со списком.
|
|||
---|---|---|---|
#18+
Изерлонер... Похоже действительно в начале форма не успевает загрузиться. Не пришла пора и вам взять на себя порядок создания форм в памяти и загрузки в них данных ? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2013, 11:02 |
|
Не отображаются данные в поле со списком.
|
|||
---|---|---|---|
#18+
Подскажите пожалуйста еще, у меня на форме контейнере есть еще и третья подчиненная форма, записи в которой отбираются исходя из первых двух. Критерии на картинке. При обработке события по текущей записи поля IDZAK, TypeID, iKF сохраняются в соответствующих полях формы контейнера и использование их в дальнейшем для задания критериев отбора не представляет проблемы. Однако что касается поля iKOD ... По замыслу форма cldRequestContent_Buh показывает детализацию содержания конкретного документа из cldRequest_Buh. А вот в третьей форме идет подсчет суммарного количества выписанных материалов/запчастей и сравнение их с нормативом. Хочу сделать так что бы каждая отображаемая запись в ней соответствовала соседней в cldRequestContent_Buh. То есть получится запрос типа Код: sql 1.
Как достать вот эти данные (перечень iKOD) высвечиваемые в данный момент, из рекордсоурса формы cldRequestContent_Buh? (собственно все iKOD содержащиеся в рекордсоурсе). ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2013, 11:26 |
|
Не отображаются данные в поле со списком.
|
|||
---|---|---|---|
#18+
Тоже все просто. авторПри обработке события по текущей записи поля IDZAK, TypeID, iKF сохраняются в соответствующих полях формы контейнера Особого смысла корячить код на Current, только чтобы только передать значения в контролыы парент формы значения нет. Достаточно сослаться в контролах на данные субформы - все само заработает. Написать в ControlSource строку =[subForm].Form!IDZAK авторКак достать вот эти данные (перечень iKOD) высвечиваемые в данный момент, из рекордсоурса формы cldRequestContent_Buh? (собственно все iKOD содержащиеся в рекордсоурсе). Можно, канешно, клеить предлинную строку айди через запятые, которую потом скармливать WHERE ... IN <Сия строка>. Как мне кажется, лучше по-другому. Модифицируйте источник правой нижней формы так, чтобы туда вошли те параметры, которые определяют iKOD левой формы (сделать их невидимыми). И тогда для нее подойдет то же условие фильтрации, что и для левой нижней формы. Ведь по смыслу содержание и левой и правой нижней формы у вас определяются текущей строкой верхней мастер-формы. Человеческие подписи полей и человеческие подписи субформ надо сделать... ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2013, 11:46 |
|
Не отображаются данные в поле со списком.
|
|||
---|---|---|---|
#18+
И резиновые формы, чтобы перед принтскрином размер делать поменьше. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2013, 11:47 |
|
Не отображаются данные в поле со списком.
|
|||
---|---|---|---|
#18+
П-ЛМодифицируйте источник правой нижней формы так, чтобы туда вошли те параметры, которые определяют iKOD левой формы (сделать их невидимыми). И тогда для нее подойдет то же условие фильтрации, что и для левой нижней формы. Ведь по смыслу содержание и левой и правой нижней формы у вас определяются текущей строкой верхней мастер-формы. Тут есть проблемка :( Я вообще эту всю возню затеял что бы уйти от того монстрообразного запроса, если помните таковой. Ну и параллельно интерфейс сменить. От запроса уйти удалось, все несколько проще стало. Однако добавить к полям 3-ей формы определяющее поле то же что и для второй субформы - iRequest пока толком не получается. Запрос тоже весьма тяжелый получается, действует очень медленно, да и выдает ... несколько больше чем должен бы. Раз в десять. Понятно что где то ошибка в запросе, но легче он от того не становится, скорее еще сложнее и медленнее станет если дополнительные join ы делать. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2013, 11:57 |
|
Не отображаются данные в поле со списком.
|
|||
---|---|---|---|
#18+
Хотя там все равно где то у меня ошибка в логике. Чувствую что что-то не так, но понять что и где пока не понимаю. Третья субформа (правая нижняя) по сути есть производное первых двух. Точнее сам запрос является производным от первых двух таблиц (плюс норматив). В этом запросе производится суммирование по критериям (IDZAK, TypeID, iKF) если добавить туда iRequest то смысл теряется, производится суммирование в пределах одного документа, а это мне совсем не надо. В то же время добавить iRequest позднее ... получается масло маслянное, да еще и тормоза дикие ... собственно вернулся к началу сообщения. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2013, 12:03 |
|
Не отображаются данные в поле со списком.
|
|||
---|---|---|---|
#18+
У меня впечатление, что ошибка в самой задумке. Если для синхронизации формы-субформы приходится вытаскивать НЕСКОЛЬКО полей - у вас явно не хватает сущности, где сосвокупность этих полей будет давать одну запись. А у нее должен быть ПК автосчетчик. И его одного было бы достаточно. Вопщем, уверен, если бы я мог поковыряться денек с этими данными, нашел бы способ... Яркое подтверждение просчетов в структруре БД - неудобно строить запросы и формы... Все должно идти как по маслу... ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2013, 12:34 |
|
Не отображаются данные в поле со списком.
|
|||
---|---|---|---|
#18+
П-Л, Ну а как? Ну вот смотрите, тут все построение достаточно просто. Имеется две таблицы: tblRequest_Buh - документы на списание материалов/запчастей ("требование"), с полями (указываю только существенные): IDZAK - номер заказа (конкретный агрегат, машина на ремонт которой производится списание) TypeID - ИД типа агрегата (по типу совместно с ИД элемента производится поиск нужной записи в нормативе) iKF - ИД цеха который производит списание материалов/запчастей. iRequest - PK документа Поля с датой документа и пр. опускаю, так как сейчас не существенно. Вторая таблица: tblRequestContent_Buh - как видно из названия состав документа - перечень материалов/запчастей выписываемых конкретным требованием. iRequest - FK ссылка на первую таблицу. iRequestContent - PK iKOD - ИД запчасти/материала CNT - количество списываемого материала/запчасти. Так как один и тот же материал/запчасть может быть выписан на ремонт изделия не однократно в течение ремонта, а мне нужно знать сколько было списано всего, и сравнивать это с нормативным количеством делаем запрос: qrySumZeh - суммарное количество материалов списанных на ремонт изделия конкретным цехом. Код: sql 1. 2. 3.
Вот они те самые три поля. Я не могу запихать в запрос ИД iRequest - иначе суммирование будет не по изделиям и цехам, а в пределах одного документа :( Затем уже в форме выводим таблицу tblRequest_Buh - для выбора конкретных документов которые проверяю по работе т.е. физически (приносят в рулонах бумаги распечатанные) таблицу tblRequestContent_Buh - для проверки построчно что и сколько конкретно выписывали. и запрос qrySumZeh для проверки того сколько вообще было списано материалов/запчастей в ходе ремонта данного изделия. Пример несколько упрощенный, что бы не перегружать деталями. Но все что имеет значение в рамках этой задачи здесь есть. За рамками остались таблицы нормативов (норматив включается в запрос qrySumZeh - что бы тут же и сравнить). А так же запрос qrySumIzd аналогичный первому, но выводящий сколько было списано материалов/запчастей вообще (всеми цехами) на ремонт изделия. Ну и как в этот запрос qrySumZeh, являющийся основой третьей формы включить ключевое поле iRequest? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2013, 16:04 |
|
Не отображаются данные в поле со списком.
|
|||
---|---|---|---|
#18+
Изерлонер Ну и как в этот запрос qrySumZeh, являющийся основой третьей формы включить ключевое поле iRequest? Я его пытался включить запросом: Код: sql 1. 2. 3.
но получается какая то чушь, записей в десяток раз больше чем должно быть, и работает это все очень и очень медленно (ну там еще в силу того что все чуть сложнее чем описал здесь). ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2013, 16:20 |
|
Не отображаются данные в поле со списком.
|
|||
---|---|---|---|
#18+
авторНу а как? Ну вот смотрите, тут все построение достаточно просто. Имеется две таблицы: tblRequest_Buh - документы на списание материалов/запчастей ("требование"), с полями (указываю только существенные): iRequest - PK документа IDZAK - номер заказа (конкретный агрегат, машина на ремонт которой производится списание) TypeID - ИД типа агрегата (по типу совместно с ИД элемента производится поиск нужной записи в нормативе) iKF - ИД цеха который производит списание материалов/запчастей. Поля с датой документа и пр. опускаю, так как сейчас не существенно Смешались в кучу кони, люди... Во время прошлого диалога я написал, что сущности в вашей БД не выделяются так выпукло и наглядно, как хотелось бы. Из-за этого трудно дать точный совет, потому что картина не ясна, надо глубоко вникать. Во всех вниканиях в вашу БД мне хотелось навести бОльший порядок в инменах таблиц и полей. Вы привыкли, вам так удобно - а мне непонятно, задача очень объемная. Так что кроме как общего сентенции: у вас что-то не так, дать не могу. Однообразия в именовании полей нет. iRequest - один стиль, IDZAK - второй, TypeID - третий омерзительно... Хачю tblRequestBuh - iRequestBuh !!!, iZakazID, iAggregatTypeID. авторtblRequest_Buh - документы на списание материалов/запчастей ("требование"), с полями (указываю только существенные): iRequest - PK документа IDZAK - номер заказа (конкретный агрегат, машина на ремонт которой производится списание) TypeID - ИД типа агрегата (по типу совместно с ИД элемента производится поиск нужной записи в нормативе) iKF - ИД цеха который производит списание материалов/запчастей. Заказ должен быть заказом. А не агрегатом. Тип агрегата достается через его таблицу, как свойство агрегата. У вас есть таблица документов на списание для ремонта агрегатов в цехе. Где для нее мастер-таблица РемонтАгрегатаВЦехе(PKАгрегатЦех, Агрегат, Цех, ОбщаяИнформацияОВсемРемонте возможно насчитанные агрегаты сколько уже списано для быстрой работы) ? Его-то айди и должен был бы использоваться в ТаблицеДокументовСписания (PKСписания, FKАгрегатЦех, ЧегоСписываем, Сколько, ...) А у вас все время как-то сумбурно, четко по полочкам не разложено. Ворох какой-то бесформенный. Еще раз повторюсь: в системе подобного класса сложности сущности и поля должны звенеть! По мне у вас не звенят... И вы, как сами уже признавались, все время откладываете наведение порядка на потом, светлое будущее... ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2013, 16:44 |
|
Не отображаются данные в поле со списком.
|
|||
---|---|---|---|
#18+
П-Л, П-Л, ну... светлое будущее не за горами. Разномастные имена полей – наследие внешней базы, ну и некоторых моих первоначальных попыток что то сделать. Внешняя база практически полностью переработана. Создана ответная система таблиц с «нормальными» обозначениями полей (правда таки не очень понятными было поле NUM стало iNum, как бы промежуточный вариант), составные ключи исключены, везде ключ автосчетчик. Так что работа идёт по тихоньку. .. красоту наводить это конечно хорошо, но ведь ещё и работа есть, и эта база мне прежде всего для работы и нужна. Так что приходиться идти на компромиссы :( поля IDZAK, iKF, iKOD, TypeID являются FK на соответствующие сущности. ... Ну не выкладывать же мне сюда всю базу в самом деле :( это только к ещё большей путанице приведёт. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2013, 18:30 |
|
Не отображаются данные в поле со списком.
|
|||
---|---|---|---|
#18+
Изерлонер, половину полей внешней базы я даже находясь здесь и имея возможность изучить ... вообще не понимаю что это такое и зачем. Тупо переношу в свою базу в ответные сущности по принципу ... ну а вдруг там полезная информация, которая мне ещё пригодится. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2013, 18:39 |
|
Не отображаются данные в поле со списком.
|
|||
---|---|---|---|
#18+
ИзерлонерПНу не выкладывать же мне сюда всю базу в самом деле ответная переработанная схема внешней БД если это поможет :(. Предвосхищая вопрос «х/з» это «хрен знает». Перенесенное поле значение которого мне пока не известно, но по сути для меня значения не имеет. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2013, 19:15 |
|
Не отображаются данные в поле со списком.
|
|||
---|---|---|---|
#18+
IDZAK, TypeID входят в tblRequest_Buh на следующем этапе. По сути в рекордсорсе не таблица, а запрос qryRequest_ Buh. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2013, 19:21 |
|
Не отображаются данные в поле со списком.
|
|||
---|---|---|---|
#18+
Сделал я то чего добивался. субФормочки обновляются, таблички отфильтровываются и запихиваются в рекордсоурс. Все выглядит страшненько пока конечно, но работает. Вопрос: вот есть рядом две подчиненных формы, записи в них соответствуют друг другу и установлены друг на против друга, одна субФорма является продолжением второй. Возможно ли, в случае если записей довольно много и в форму это все не вмещается, при прокрутке записей (мышкой, бегунком ли) синхронно прокручивать записи в двух (трех) субформах? Где копать? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.03.2013, 12:17 |
|
Не отображаются данные в поле со списком.
|
|||
---|---|---|---|
#18+
Штатным способом нет. Если у вас в разных субформах данные соответствуют друг другу, то они по смыслу должны быть в одной субформе. Хотите чтобы было не слишком громоздко и красиво - выводите в нее только главные данные, агрегаты. Детали для текущей записи выводите другими способами. Либо делаете в ней прибитые слева столбцы-заголовки строк и переменные наборы столбцов для неприбитой части с оциями выбора в виде опшон буттонов: Показывать данные (*) ля-ля-ля, (_) жу-жу-жу, (_) бе-бе-бе ... |
|||
:
Нравится:
Не нравится:
|
|||
26.03.2013, 12:53 |
|
Не отображаются данные в поле со списком.
|
|||
---|---|---|---|
#18+
Доброго дня, форумчане! В поле со списком Номенклатура выпадает список с позициями, наличие которых на складе >0. Но после переноса со склада всего остатка, в этом поле перестают отображаться наименования номенклатур, так как они перестают попадать в выборку, на основании которой формируется этот список. Есть ли способ сохранять отображение этих данных? Картинка в приложении. Спасибо) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.07.2018, 14:24 |
|
Не отображаются данные в поле со списком.
|
|||
---|---|---|---|
#18+
Конечно есть) Наверное) Только надо понять - а как именно данные в этот список попадают? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.07.2018, 14:29 |
|
Не отображаются данные в поле со списком.
|
|||
---|---|---|---|
#18+
Serg197311, источник строк для поля со списком - запрос: Код: sql 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.07.2018, 14:41 |
|
Не отображаются данные в поле со списком.
|
|||
---|---|---|---|
#18+
Правильно ли я понял - товары перемещаем в другое место и запрос не возвращает ничего потому что там где он ищет ничего нет? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.07.2018, 15:24 |
|
Не отображаются данные в поле со списком.
|
|||
---|---|---|---|
#18+
Я конечно не знаю точно - как там организовано все..... Там есть список "Со склада" - попробуйте там выбрать "Изолятор брака"....... ... |
|||
:
Нравится:
Не нравится:
|
|||
17.07.2018, 15:31 |
|
Не отображаются данные в поле со списком.
|
|||
---|---|---|---|
#18+
Serg197311, Если после перемещения некоего товара его количество на данном складе становится 0, этот товар пропадает из выборки для выпадающего списка, так как перестаёт выполнятся условие >0. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2018, 09:17 |
|
Не отображаются данные в поле со списком.
|
|||
---|---|---|---|
#18+
Значит, я правильно понял А какую(какие) именно "номенклатуры " надо отобразить в списке? Если они на складе(в данной таблице) есть, то они и отображаются.... Если их нет на складе( в данной таблице) то откуда их взять? Те которые были перед перемещением с количеством 0 или еще откуда то взятые? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2018, 09:29 |
|
Не отображаются данные в поле со списком.
|
|||
---|---|---|---|
#18+
Можно из кода VBA подменить rowsource списка на такой же но с условием =0.... будет ли это то что надо? перемещение происходит изменением количества на 0 или удалением строки? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2018, 09:36 |
|
Не отображаются данные в поле со списком.
|
|||
---|---|---|---|
#18+
Serg197311А какую(какие) именно "номенклатуры " надо отобразить в списке? Поясню: это журнал складских переносов. Плохо, что когда на данном складе у какой-либо номеклатуры обнуляется поле с наличием - пропадают заголовки в таблице внизу формы (наименование этой номенклатуры) всех строк с манипуляциями по данной номенклатуре. Serg197311перемещение происходит изменением количества на 0 или удалением строки? Строки не удаляются! Пример: На складе Технологического сектора числится Планка ЭАТЕФ 5шт. После оформления переноса её в кол-ве 5шт. со склада Технологического сектора на любой другой склад, её кол-во в наличии склада становится =0 и из выборки строк выпадающего списка пропадает. (+ это количество переходит в разряд "Проводки", пока его не оприходует принимающий склад, но это к делу не имеет особого отношения)) Serg197311Можно из кода VBA подменить rowsource списка на такой же но с условием =0.. Думаю это будет то, что надо! Только не знаю, как это реализовать( ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2018, 09:58 |
|
Не отображаются данные в поле со списком.
|
|||
---|---|---|---|
#18+
Ну как...... Имясписка.rowsource= (" SELECT Наличие_поСкладам.Код, Наличие_поСкладам.Наименование1, Наличие_поСкладам.ТС FROM Наличие_поСкладам WHERE (((Наличие_поСкладам.ТС)=0)) ORDER BY Наличие_поСкладам.ТС DESC;") Вот только на какое событие это вешать и когда возвращать rowsource c условием >0 - не скажу ибо для этого всю логику базы понимать надо.... А попробуй в действующем запросе вместо >0 поставить >=0..... Тогда номенклатура пропадать не будет, но и строки с колвом 0 всегда отображаться будут.... ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2018, 11:23 |
|
Не отображаются данные в поле со списком.
|
|||
---|---|---|---|
#18+
Serg197311А попробуй в действующем запросе вместо >0 поставить >=0..... Тогда номенклатура пропадать не будет, но и строки с колвом 0 всегда отображаться будут.... Так тогда потеряется логика) Защиту от передачи номенклатуры, если её "Доступное кол-во на складе" = 0 - я сделал. Но я хотел, чтобы эту номенклатуру даже выбрать в выпадающем списке было невозможно! ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2018, 11:37 |
|
Не отображаются данные в поле со списком.
|
|||
---|---|---|---|
#18+
Serg197311Вот только на какое событие это вешать и когда возвращать rowsource c условием >0 - не скажу ибо для этого всю логику базы понимать надо.... Вот и получается, что оба этих события должны работать как бы одновременно: с одной стороны я не должен иметь возможность выбрать эту номенклатуру из списка, а с другой, эта номенклатура должна быть видна в таблице внизу формы, а пропадать из строки после обнуления кол-ва. ТО есть как бы сохранять в поле эту номенклатуру, раз она когда-то была выбрана, несмотря на то, что теперь её кол-во 0. Я вот сейчас подумал, что видимо нужно сделать режим формы не "Разделённая форма", а форму с подчинённой таблицей "Переносы"! Тогда в ней будут видны все наименования номенклатур! ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2018, 11:54 |
|
Не отображаются данные в поле со списком.
|
|||
---|---|---|---|
#18+
Далее - не знаю.... нужно полностью вникать в вашу базу.... ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2018, 12:04 |
|
Не отображаются данные в поле со списком.
|
|||
---|---|---|---|
#18+
RikozenitВ поле со списком Номенклатура выпадает список с позициями, наличие которых на складе >0. Но после переноса со склада всего остатка, в этом поле перестают отображаться наименования номенклатур, так как они перестают попадать в выборку, на основании которой формируется этот список. Есть ли способ сохранять отображение этих данных?.... RikozenitSerg197311, источник строк для поля со списком - запрос: Код: sql 1. 2. 3. 4.
Стесняюсь спросить: а ЗАЧЕМ нужна строка WHERE (проверять передаваемую номенклатуру надо до передачи и если передается количество делающее остаток отрицательным запрещать передачу. Надеюсь "Наличие_поСкладам" это запрос-иначе огромные сомнения в структуре БД ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2018, 12:15 |
|
Не отображаются данные в поле со списком.
|
|||
---|---|---|---|
#18+
sdkuRikozenitВ поле со списком Номенклатура выпадает список с позициями, наличие которых на складе >0. Но после переноса со склада всего остатка, в этом поле перестают отображаться наименования номенклатур, так как они перестают попадать в выборку, на основании которой формируется этот список. Есть ли способ сохранять отображение этих данных?.... RikozenitSerg197311, источник строк для поля со списком - запрос: Код: sql 1. 2. 3. 4.
Стесняюсь спросить: а ЗАЧЕМ нужна строка WHERE (проверять передаваемую номенклатуру надо до передачи и если передается количество делающее остаток отрицательным запрещать передачу. Надеюсь "Наличие_поСкладам" это запрос-иначе огромные сомнения в структуре БД Запрет на передачу количества превышающего наличие на складе у меня стоит. Но хотелось чтобы номенклатуры с кол-вом 0 в наличии даже не выпадали в выпадающем списке. Наличие_поСкладам - это запрос: Код: sql 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2018, 14:37 |
|
Не отображаются данные в поле со списком.
|
|||
---|---|---|---|
#18+
Rikozenit....Запрет на передачу количества превышающего наличие на складе у меня стоит. Но хотелось чтобы номенклатуры с кол-вом 0 в наличии даже не выпадали в выпадающем списке.... Стесняюсь спросить: В данный момент на складе остаток по товару 0 и он не отображается в списке.Затем товар поступил,но как его оприходовать,в списке то его нет(ну разве что вместо 1 таблицы "движение" держать две "приход" и "расход") посмотрите форму "движение" ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2018, 18:05 |
|
Не отображаются данные в поле со списком.
|
|||
---|---|---|---|
#18+
Я бы решал эту задачу так: отображал все товары согласно перечня (в списке или на форме выбора с поиском-возможны варианты,в зависимости от количества товаров), выводя на форму текущий остаток и делал поле убыло не доступным при остатке=0 или две таблицы "приход" и "расход" (этот вариант,по моему, менее предпочтителен) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2018, 18:22 |
|
Не отображаются данные в поле со списком.
|
|||
---|---|---|---|
#18+
Rikozenit Запрет на передачу количества превышающего наличие на складе у меня стоит. Но хотелось чтобы номенклатуры с кол-вом 0 в наличии даже не выпадали в выпадающем списке. [/src] Ну так они и не выпадают.... Мож не надо ничего делать???? Или я ваще ничего не понимаю....... ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2018, 19:53 |
|
Не отображаются данные в поле со списком.
|
|||
---|---|---|---|
#18+
Serg197311...Или я ваще ничего не понимаю.......Аналогично!! (все идет,наверно, от структуры, а её то мы и не видели...) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2018, 20:28 |
|
Не отображаются данные в поле со списком.
|
|||
---|---|---|---|
#18+
[/src][/quot] Ну так они и не выпадают.... Мож не надо ничего делать???? Или я ваще ничего не понимаю.......[/quot] Так то, что они не выпадают после обнуления - это ЗАМЕЧАТЕЛЬНО!! - Плохо ТО, что они при этом ещё и пропадают из истории переносов! Я же приложил картинку! Внизу формы в табличной части у строк перестают отображаться заголовки (в заголовках были те самые переданные номенклатуры)! ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2018, 16:18 |
|
Не отображаются данные в поле со списком.
|
|||
---|---|---|---|
#18+
Rikozenit, В ленточной форме так и должно быть: в таблице записан код связанной таблицы и на форме отображается текст согласно инструкции SQL,удалив инструкцию для неких кодов Вы не увидите никакого текста в полеСоСписком. Для ленточной формы:на событии Current для всех записей,кроме новой,инструкция должна быть без какого либо отбора и только "по максимуму". Если же запись новая, в инструкции можно что-то отобрать.В этом же событии полеСоСписком надо обновить-речь о ленточной форме(в одиночной обновление ни к чему-оно происходит при переходе по записям) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2018, 17:06 |
|
|
start [/forum/topic.php?all=1&fid=45&tid=1611302]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
58ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
83ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 201ms |
0 / 0 |