| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > MS Access > Данные поля со списком на основе другого |
| Автор: Nikolya 20.4.2007, 09:36 |
| Помогите решить маленькую "головоломку". Есть поля со списками: Больница и Отделения. Как сделать так: При выборе больницы из списка, во втором списке (который с отделениями) появлялись бы отделения относящиеся только к выбранной больнице. Отвечайте пожалуйста по подробнее - что куда подставлять. А головоломка потому, что мучаюсь уже долго с ней и никто помочь не может. Надеюсь на Вас. |
| Автор: Akina 20.4.2007, 12:39 |
| Смотреть в аттаче: Схему данных Источник данных поля "Отделения" Программу макета формы |
| Автор: Nikolya 20.4.2007, 18:12 |
| Спасибо Akina огромное, ты мне очень очень помог. Ты просто гений. Я так долго искал решение этой проблемы. Я в восторге. Прямо таки камень с души упал. А форум Ваш класненький, долго искал что-то стоящее в сети. |
| Автор: alexIrish 25.4.2007, 16:45 |
| A у меня в ComboBox ( forms!CapacityForm) poстоянно висит первое значение. Attached file removed |
| Автор: Akina 25.4.2007, 17:31 | ||
|
| Автор: alexIrish 25.4.2007, 20:38 |
| Прошу всех извинить за secured базу. здесь все снято, нo блин как легко ставить защиту и как не легко потом ее снять. все смотрим почему так и советуем. Спасибо |
| Автор: Akina 25.4.2007, 21:55 |
| Не понимаю где собсно проблема. В поле WHS selection выбираем нужный, после чего в поле LocationSelect становятся доступны только те итемы, которые в таблице соответствуют выбранному в первом поле значению... что не так? |
| Автор: alexIrish 26.4.2007, 00:41 |
| Не так то, что активный итем, всегда только первый из списка. Если выбрать WHS Sercom, то CM. А нужно что бы в окне оставался выбранный. Т.е если для Sercom я выбрал LM то в поле должен быть LM а не CM. In your example with hospitals you can select department as well:) Блиn надo клаву русскую поставить. Достал транслит. |
| Автор: Akina 26.4.2007, 07:46 |
Этого быть НЕ должно. Хотя бы потому что при изменении значения первого поля может оказаться, что значение второго с ним несовместимо. Или переосмыслите задачу и сформулируйте ее так, чтобы стала понятна особая цель этого действия. |
| Автор: alexIrish 26.4.2007, 10:53 |
| ОК. Вы v форме справа поля видели. Так вот идея в том что бы в поле WHS selection Выбрали слад, поля слева показали результат для етого склада. А полe LocationSelect нужно выбрать одно значение иz доступных для етого склада и получить результат в поляx напротив. Ja поетому и спрашивал как в текстовое поле запихнуть результат запроса. Воt сейчас думаю над етим тоже. |
| Автор: alexIrish 26.4.2007, 13:58 |
| Да нет же! Речь идет о плях со списком ( а точнее о поле) То что справа(действительно А у меня получается во втором комби, нa что ни кликай а получишь первоe в спискe значение (Для Sercom -> CM). |
| Автор: Akina 26.4.2007, 14:14 |
| Начинаем сравнивать... 1) В таблице WHS Capacity отсутствует ключевое поле 2) Отсутствует схема данных |
| Автор: alexIrish 27.4.2007, 01:13 |
| Спасибо Akina. Все поправил, работает. теперь сам Но думаю до скорого. Работка предстоит большая |
| Автор: alexIrish 3.5.2007, 11:43 |
| Zдравствуйте. А можно ли сделать тажe самое нa основе запросов? Т.е. row source получается запрос к запросу. А есче, как передать значениe переменной в запрос. Обьясняю: В одном спискe выбирается значение и присваивается текстовой переменной. А другой список отображает записи выбранные на из сложного запроса с фильтром по етой переменной. Или как вариант: Если для формы объявить переменную как recordset, то можно ее потом использовать как источник данных для списка на форме. Thank you. |
| Автор: Akina 3.5.2007, 12:01 |
| А какая разница-то? не въехал... |
| Автор: alexIrish 3.5.2007, 13:05 |
| Vот и я нe въехал. Если делаю с таблицами тo все ок, но опять жe приходиться их связывать. А если их связать нe возможно, потому однa иz них обновляется раз в неделю, то нe получется сделать так что бы на основе выбранной строки иz одного поля со списком в другом выдавались значения s условием выбора по первому. Пример: первый список - имена операторов погрузчиков. Истоник - таблица с двумя полями : ИД и логон. Второй список: 4 столбца-> дата, логон, кол-во операций, кол-во предментов. Источник: запрос, который выбирает нужные данные из таблицы которая импортируется из SAP. Данные каждоего импорта разные. Так вот, если в Row source второго написать:[code=sql] Select Query.Date, Query.Log, Query.[Oper Q-ty],Query.[Item q-ty] From Query Where Query.Log=[Forms]![FromName]![ListBox1Name] [code=sql] to внем ничего не будет. Если условие убрать, то он выдает полный recordset запроса. Я ввел техтовую переменную Лог=[Forms]![FormName]!ListBox1.column(1) Она получает правильное значение(проверено через Msgbox) А как передать ее в запрос не знаю. Возможно есть какое нибудь другое решение, посоветуйте. |
| Автор: Akina 3.5.2007, 13:27 |
Связать возможно всегда. Не в схеме данных - так в макете запроса. Макет - в студию. Из объяснений "на пальцах" я мало что понял. |
| Автор: alexIrish 3.5.2007, 14:39 |
| Here you go. В форме PAForm List18. dолжен показывать записи дла выбранного слева оператора. А потом ещe будет ныжна возможность вывести всех операторов за неделю выбранную слева или по введенной дате. Dа и v другой формe с SStab.tab nи фига нe выходит. У меня пока нe хаватает ни знаний ни практики. Спасибо. |
| Автор: alexIrish 4.5.2007, 14:20 |
| Макеt в студии. Я на выходныe ухожу 3 дня домa биться буду. И поясню, что данные для PPTable1 и PPTable2 беруться из Allrecords (Locations=count(Allrecords.[Source bin],ItemsPicked=SUM([Source taget]), [TO Q-ty= count (DISTINCT [TO number]). который в свою очередь инпортируется из SAP и содержит ~50-70 тыс. записей. к тому же и обновляется еженедельно. Накапливать их нет смысла. Лучше посчитать что надо и занести в таблицы. А с них уже работать. Спасибо за внимание. |
| Автор: Akina 4.5.2007, 15:24 | ||||
List18 - это Caption контрола Label19. Как я понимаю, речь о ListBox по имени Result. Для получения того что тебе надо, перед строкой
добавь строку
А "Источник данных" этого ListBox по имени Result в макете формы можно вообще оставить пустым. |
| Автор: alexIrish 4.5.2007, 16:37 |
| Господа, вы просто чудо! Всем спасибо и хороших выходных!!! |
| Автор: Ole_H 4.3.2008, 12:39 |
| Уважаемый Akina! Что бы не засорять форум - решил написать в ветке, которая более-менее меня удовлетворяет, а именно: возьмем пример с больницей и отделением - но я хочу сделать это не в форме, а в таблице - выпадающий список в поле "Больницы", а далее, на основании нашего выбора - в следующем поле "Отделения" - выбирать отделения, уже соответствующие выбранной больнице. зараннее благодарен!!! |
| Автор: bopoha 4.3.2008, 15:24 |
| В таблице такое не удастся... Только на форме. Форма может быть в режиме табилцы ;-). |
| Автор: Ole_H 4.3.2008, 15:40 | ||
спасибо, bopoha! а как же можно сделать эту форму в виде таблицы? вообще-то смысл моей базы такой: забиваются продукты в лист заказа и вот в одной из граф хочу сделать, что бы в выпадающем списке был тип продукта: напитки, конд.изделия, консервы, колбасы ... и т.п., а в следующей колонке список, соответствующий уже выбранному типу для того, что бы не выбирать из всего списка продуктов - представьте, что в магазине их очччч много!!!! а в бланке заказа тип уже не указывается - только название товара, цена и т.п.... кстати, хотелось, что бы цена ставилась автоматом. |
| Автор: Akina 4.3.2008, 15:56 | ||
|