Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
 Нет в запросе-исчезает в форме!  [new]
Leytenant
Member

Откуда:
Сообщений: 157
Помогите. Есть форма приема заказа, в ней из запроса об остатка я выбираю имеющийся товар. Запрос сделан таким образом, что выводит только если товара>0. Проблема в том, что когда товар исчезает на складе,т.е. его не выдает запрос(>0), то во всех предыдущих заказах вместо названия этого товара выводится пустая строка! Это не совсем удобно. Как можно этого избежать?
14 фев 07, 18:52    [3786677]     Ответить | Цитировать Сообщить модератору
 Re: Нет в запросе-исчезает в форме!  [new]
Mitar
Member

Откуда:
Сообщений: 255
Добрый день...

Как связана таблица Склад и Наименование Товара?

А конкретней тип ОБЪЕДИНЕНИЯ...
14 фев 07, 18:58    [3786696]     Ответить | Цитировать Сообщить модератору
 Re: Нет в запросе-исчезает в форме!  [new]
Ёжик`
Member

Откуда:
Сообщений: 5992
можно в заказе условие убрать, и сделать всплывающую форму с этим условием, и через нее добавлять товар в заказ.
14 фев 07, 18:59    [3786702]     Ответить | Цитировать Сообщить модератору
 Re: Нет в запросе-исчезает в форме!  [new]
Leytenant
Member

Откуда:
Сообщений: 157
Таблица Товары и Склад не связаны. Я их связываю в отчете по коду товара. Если товар е сть - он отображается, нет - вообще не выводится.
14 фев 07, 19:03    [3786722]     Ответить | Цитировать Сообщить модератору
 Re: Нет в запросе-исчезает в форме!  [new]
Leytenant
Member

Откуда:
Сообщений: 157
Не совсем понял о всплывающей форме.Можно подробней?
14 фев 07, 19:04    [3786728]     Ответить | Цитировать Сообщить модератору
 Re: Нет в запросе-исчезает в форме!  [new]
Leytenant
Member

Откуда:
Сообщений: 157
Mitar
Добрый день...

Как связана таблица Склад и Наименование Товара?

А конкретней тип ОБЪЕДИНЕНИЯ...
14 фев 07, 19:05    [3786735]     Ответить | Цитировать Сообщить модератору
 Re: Нет в запросе-исчезает в форме!  [new]
Mitar
Member

Откуда:
Сообщений: 255
ТАк мож надо сделать запрос так , чтобы при отсутствии товара на складе ничего не выводилось.


В смысле связать в запросе таблицы так, что выбрать те записи из Склада, значение кода товара
которых совпадает с кодом ТАБЛИЦЫ НАИМЕНОВАНИЙ
14 фев 07, 19:09    [3786751]     Ответить | Цитировать Сообщить модератору
 Re: Нет в запросе-исчезает в форме!  [new]
Ёжик`
Member

Откуда:
Сообщений: 5992
по условию в первом посте вы хотите и рыбку съесть, и ... рыбку съесть.
поэтому - или менять условие, или думать как иначе.
один из вариантов я предложил.
всплывающая форма = модальная форма
маленькая форма с комбобоксом, в котором только нужный товар, вызывать через функцию, функция должна в итоге вернуть ID товара. кроме того, хорошо бы позиционирование формы прикрутить.
вообщем есть что попрограммить :)
14 фев 07, 19:10    [3786754]     Ответить | Цитировать Сообщить модератору
 Re: Нет в запросе-исчезает в форме!  [new]
mds_world
Member

Откуда: Ташкент
Сообщений: 27548
Leytenant
Таблица Товары и Склад не связаны. Я их связываю в отчете по коду товара. Если товар е сть - он отображается, нет - вообще не выводится.
Очевидно, в запросе вы связвязываете таблицы по INNER JOIN. Свяжите по LEFT JOIN, где слева будет таблица с наименованиями товаров и они высветятся. Левое соединение - все записи из табл. с наименованиями и только связанные из другой.
14 фев 07, 19:23    [3786811]     Ответить | Цитировать Сообщить модератору
 Re: Нет в запросе-исчезает в форме!  [new]
Leytenant
Member

Откуда:
Сообщений: 157
Очевидно, в запросе вы связвязываете таблицы по INNER JOIN. Свяжите по LEFT JOIN, где слева будет таблица с наименованиями товаров и они высветятся. Левое соединение - все записи из табл. с наименованиями и только связанные из другой.[/quot]


Не получается! В запросе, который является источником данных для формы, стоит условие Количество>0.Соответсвенно, когда товара нет то в запросе он выводится не как 0, а просто не выводится, соответственно в форме не выводится. Но кроме этого, если данный товар был в других заказах-то он отображается как пустая строка....
15 фев 07, 00:22    [3787486]     Ответить | Цитировать Сообщить модератору
 Re: Нет в запросе-исчезает в форме!  [new]
NG
Member

Откуда: Екатеринбург
Сообщений: 1492
2 Leytenant
Ёжик` уже предложил вам правильное решение. Вам нужно вынести выбор товаров за пределы табличной части заказа. Хоть в главную форму, хоть вообще в отдельную. Последний вариант имеет преимущество, т.к. позволяет самостоятельно ее открыть (не из формы Заказ) и просмотреть/распечатать остатки по складу.

В полях заказа стоит КодТовара и его Наименование, которые никак не связаны с наличием на складе. Для обострения восприятия -- это простые текстовые поля (не поле со списком).

* Двойным кликом/кнопкой вызываете диалоговую форму -- Остатки с передачей ей кода товара из текущей записи (поле было пустым - Null, нет - КодТовара);
* в событии Open формы Остатки анализируете OpenArgs . Если Len(OpenArgs) > 0, то у вас есть КодТовара, который вы подставляете в запрос и находите остатки по конкретному товару (или находите нужную запись в списке), иначе - остатки по всем товарам. Любым способом (самое простое - через глобальные переменные) сохраняете для последующей вставки КодТовара и Количество (в пределах остатка). Форму Остатки закрываете;
* вставляете КодТовара и Количество в текущую запись формы Заказ (предварительно посмотрев, что Количетво не Null, иначе ничего не вставляете). После вставки переменные обнуляете.
+ На форме Заказ полезно иметь переключатель вставка/замена товара. От его состояния зависят действия перед открытием формы Остатки.
Успехов!
15 фев 07, 03:39    [3787641]     Ответить | Цитировать Сообщить модератору
 Re: Нет в запросе-исчезает в форме!  [new]
Leytenant
Member

Откуда:
Сообщений: 157
NG
* вставляете КодТовара и Количество в текущую запись формы Заказ (предварительно посмотрев, что Количетво не Null, иначе ничего не вставляете). После вставки переменные обнуляете.
+ На форме Заказ полезно иметь переключатель вставка/замена товара. От его состояния зависят действия перед открытием формы Остатки.
Успехов!

А как правильно сделать, если я в новой открывающейся форме принимаю заказ, напромер, на 10 позиций? Нужно внести 10 переменных, или как-то по-другому?
18 фев 07, 09:42    [3801362]     Ответить | Цитировать Сообщить модератору
 Re: Нет в запросе-исчезает в форме!  [new]
NG
Member

Откуда: Екатеринбург
Сообщений: 1492
Как и обычно, -- одно за другим, последовательно. Одновременно работаете с одной записью.
18 фев 07, 10:08    [3801370]     Ответить | Цитировать Сообщить модератору
 Re: Нет в запросе-исчезает в форме!  [new]
Leytenant
Member

Откуда:
Сообщений: 157
NG
Как и обычно, -- одно за другим, последовательно. Одновременно работаете с одной записью.


Не совсем удобно. Возможен-ли вариант, что при переходе на новую строку в модальной форме-предыдущая сразу вносилась в нужную форму? Или только в один заказ можно добавлять поочереди 10 позиций, каждый раз открывя и закрывая форму?
18 фев 07, 10:12    [3801373]     Ответить | Цитировать Сообщить модератору
 Re: Нет в запросе-исчезает в форме!  [new]
NG
Member

Откуда: Екатеринбург
Сообщений: 1492
Можно и так, как вы описали (без закрытия формы, но тогда она не будет диалоговой). Смотрите, как вам удобнее будет реализовывать.
18 фев 07, 10:41    [3801389]     Ответить | Цитировать Сообщить модератору
 Re: Нет в запросе-исчезает в форме!  [new]
Leytenant
Member

Откуда:
Сообщений: 157
NG
Можно и так, как вы описали (без закрытия формы, но тогда она не будет диалоговой). Смотрите, как вам удобнее будет реализовывать.

Спасибо! Т.е. каждую строку я сразу сохраняю в основную форму?
18 фев 07, 10:45    [3801396]     Ответить | Цитировать Сообщить модератору
 Re: Нет в запросе-исчезает в форме!  [new]
NG
Member

Откуда: Екатеринбург
Сообщений: 1492
Именно. Но учтите, что форм, ползующихся списком товаров может быть несколько, например, входящие и исходящие накладные. В какую вставлять будете? -- Возникает необходимость передавать имя формы для вставки нового товара.
Успехов!
18 фев 07, 10:49    [3801402]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Access Ответить