|
|
|
| Ошибка, извините не на ту педаль нажал. | |
|
| |
|
22 Кб. |
|
| Справочник ТОВРЫ имеет много товаров, чтобы упростить заполнение подч.формы заказы (Orders) мы создаем комбо (Group) при помощи которого задаем группу товаров после чего соответственно в подчиненном списке TOVARID остаются товары заданной группы.
Но при этом могут быть два варианта интерфейса формы заказов (Orders) и (Orders 2)
Недостаток первого
ширину первого стлбца подчиненного списка TOVARID установл. =0 - тогда в подчиненном списке TOVARID видем не код, а название товара - но только тех групп товаров которые установлены в критерии отбора "категории" (Group) см. форму Orders
Недостаток второго
ширину первого стлбца подчиненного списка TOVARID установ. <>0 - тогда на форме в подчиненном списке будем видеть коды товаров - по всем "категориям" (коды не исчезают в отличии от названий из 1-го интерфейса), но нужно добавлять в форму поле с названием товара. Получается нужно иметь лишнее поле (название товара). см. форму Orders 2
Я сейчас использую 2-ой интерфейс от которого хочу отказаться - лишнее поле (название товара).
Но чтобы использовать 1-ый интерфейс сталкиваюсь с проблемой того что в подчиненном списке TOVARID выводятся названия товара только тех групп которые установлены в критерии отбора "категории" (Group)
Отсюда вопрос что можно сделать чтобы нормально использовать 1-ый интерфейс т.е.
что нужно для того чтобы видеть все названия товаров в подчиненном списке TOVARID
см. аттач. | |
|
| |
|
|
|
| Ответ простой:
1. Источник строк комбобокса - товары всегда должен быть полным (весь справочник).
2. Выбор товара надо осуществлять из справочной формы, где должен быть фильтр по группе.
Желательно, что бы значение фильтра сохранялось при последующем вызове формы-справочника.
Можно использовать значение комбобокса группы товаров, для передачи значения группы товаров через OpenArgs форме-справочнику товаров, где на основании переданного аргумента открытия производится фильтрация. Либо сразу открывать справочную форму с фильтром (на основе значения комбобокса группы товаров), если она ленточная. | |
|
| |
|
|
|
| Давай по порядку
1.
Источник строк комбобокса - товары всегда должен быть полным (весь справочник).
Ну почему же тогда в форме Orders видны все значения, а в Orders2 видны толко те которые соответствуют фильтрующему списку Group | |
|
| |
|
|
|
| У меня в форме Orders в комбобоксе Tovar видны только товары из группы, выбранной в комбобоксе группы товаров (Group).
При источнике строк:
SELECT [Tovar].[ID], [Tovar].[Tovar] FROM Tovar WHERE ((([Tovar].[Group])=[Forms]![Orders]![Group])) ORDER BY [Tovar].[Tovar];
|
другого варианта быть просто и не может. | |
|
| |
|
|
|
| Сори перепутал
вопрос должен быть такой
Ну почему же тогда в форме Orders2 видны все значения, а в Orders видны толко те которые соответствуют фильтрующему списку Group | |
|
| |
|
|
|
| В форме "Orders 2" в комбобоксе Combo7 я вижу числовое значение - значение поля [TOVARID] запроса-источника данных формы.
То есть, значение поля [TOVARID] источника данных формы, не входит в состав возвращаемых значений запроса-источника данных комбобокса Combo7, если выбрана другая группа. | |
|
| |
|
|
|
| Немного непонятно получилось. Попробую еще раз.
Комбобокс Combo7 связан с полем [TOVARID]. Когда мы устанавливаем ширину первого столбца больше 0 и Присоединенный столбец-1., комбобокс отображает нам значение связанного поля.
Когда мы Устанавливаем ширину первого столбца в 0, комбобокс отображает значение следующего столбца с шириной, большей 0. Значение следующего столбца мы получаем из запроса-источника данных строк комбобокса. Если значение связанного поля входит в состав источника данных строк комбобокса-мы его видим, если не входит-не видим. | |
|
| |
|
|
|
| И вообще, в твоем случае нужно пользоваться справочной формой полюбому. Когда ассортимент товаров станет достаточно большим, выбирать его из комбобокса станет медленно и неудобно.
И желательно отключить автоподстановку в комбобоксе, чтобы ускорить работу формы. | |
|
| |
|
|
|
| Это писалось для предыдущего сообщения. С последними 2-мя щас попробую разобраться
Давай еще раз
В форме "Orders 2" в комбобоксе Combo7 числовое значение не исчезает визуально, при выборе другой группы товара списке Group
а
В форме "Orders" в комбобоксе Combo7 название товара исчезает визуально, при выборе другой группы товара списке Group
Вопрос
Почему это происходит и можно ли это как то обойти. Надо чтобы в форме "Orders" в комбобоксе Combo7 название товара не исчезало визуально, при выборе другой группы товара в списке Group (в главном), а надо чтобы просто фильтровался комбобокс Combo7
Это как раз и происходит в форме "Orders 2"
Различие списков Combo7 только в том, что в одном ширина первого столбца равна 0, а в другом нет | |
|
| |
|
|
|
| Поскольку ширина связанного столбца больше 0, и он первый, комбобокс показывает значение связанного поля, а не подстановочного значения из источника строк комбобокса. | |
|
| |
|
19 Кб. |
|
| 1. Спасибо за помощь . С Вашего разрешения попробую продолжить
Поскольку ширина связанного столбца больше 0, и он первый, комбобокс показывает значение связанного поля, а не подстановочного значения из источника строк комбобокса
Возможно зто так и есть. А как это обойти и можно ли это обойти ?
Я пробывал поиграть св-вами: BoundColumn 2, при этом устанавливая ColumnWith 3cm; 0cm, но ничего не выходит.
Может надо еще какие-то св-ва поменять
Одно решение у меня есть (см.аттач.). На Group_AfterUpdate() подсовывать новый RowSource для Combo7, но это мне не очень нравится. Вот я и пытаюсь найти что-то более элегантное.
2. Если не получиться, тогда можно будет говорить про это
И вообще, в твоем случае нужно пользоваться справочной формой полюбому | |
|
| |
|
|
|
| Я в эту игру играл лет пять назад. Через голову прыгнуть не получилось.
Полистай sql.ru. Там эта тема постоянно возникает. Других решений, чем справочная форма, я там не нешел.
Не трать время понапрасну:
В этом случае нужно пользоваться справочной формой полюбому
Не успеешь оглянуться, как справочник товаров разрастется до такого состояния, что в нем трудно будет что-нибудь найти. Организуй быстрый поиск в справочнике. (может даже без фильтра по группе товара).
Если не веришь мне, найди у кого-нибудь установленную 1С склад (бухгалтерию, торговлю, предприятие и т.д.) и посмотри как там реализовано. А ведь люди на этом уже не одну "собаку съели". | |
|
| |
|
|
|
| Я в эту игру играл лет пять назад. Через голову прыгнуть не получилось
А ведь хочется. Отважные герои всегда идут в обход...
Отсутствие результата - тоже результат. Еще раз спасибо
По теме
Для тех кто сталкивался с подобной задачей прошу подтвердить или опровергнуть утверждения уважаемого Lukas- a | |
|
| |
|
46 Кб. |
|
| Вот примерчик прицепил для ленточной формы, но с товарами этот вариант долго не проработает.
При большом количестве записей "уронит" Access-а. | |
|
| |
|
|
|
| Что-то вариантов не добавилось. | |
|
| |
|
|
|
| Люди прокоментируете предложенное выше решение. ПЛИЗ
Обязательно ли нужно использовать (создавать) справочную форму для ввода значений
или
Возможно настроить Combo7 (чтобы не пропадали названия в форме "Orders") при изменении значения в фильтрующем списке Group
зы
мне пока достаточно просто фильтрующего списка Group (данных не слишком много) | |
|
| |
|
13 Кб. |
|
| Есть такой вариант, код открытый | |
|
| |
|
20 Кб. |
|
| Спасибо Lukas
Скромненько и со вкусом (проще не придумаешь). Кажись все дееспособно.
Слегка подформатировал и вот что получилось см.аттач.
Вот только список вываливается как то не привычно.
Не будет ли это смущать юзеров ?
Пожалуй это единственный недостаток
Если есть другие предложения или коментарии, интересно было бы их посмотреть | |
|
| |
|
|
|
| А я бы спрятал кнопочку от закрытого комбобокса накладкой, а кнопочку от открытого комбобокса оставил слева. Тоже непривычно, но по-другому. | |
|
| |
|
|
|
| смущать никого ето не будет - я часто так делаю.
или ещё можно на клик по текст17 выводить форму ленточную и в ней выбирать.
А ещё можно поле добавить для поиска, вводишь в поле часть искомого - какую помнишь, жмёшь ентер, выходит ленточная форма на основе запроса, с отобранными подходящими вариантами - жмёшь на нужный.(это кода их сотни - товаров..... ....) | |
|
| |