powered by simpleCommunicator - 2.0.54     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Помогите по запросу
25 сообщений из 44, страница 1 из 2
Помогите по запросу
    #39315383
Abisma2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброе утро!

Есть запрос:
Код: sql
1.
2.
SELECT Склад.Код, Склад.Название, Sum([Склад].[Количество])-Sum([Продажа].[Количество]) AS Остаток
FROM Склад RIGHT JOIN Продажа ON Склад.Название = Продажа.Название;


Скажите пожалуйста где моя ошибка?
Спасибо!
...
Рейтинг: 0 / 0
Помогите по запросу
    #39315386
Abisma2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот пример:
...
Рейтинг: 0 / 0
Помогите по запросу
    #39315482
Abisma2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть кто?)
...
Рейтинг: 0 / 0
Помогите по запросу
    #39315503
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Abisma2008,

может это имелось ввиду ?
Код: sql
1.
2.
3.
SELECT Склад.Название, Sum([Склад].[Количество])-Sum([Продажа].[Количество]) AS Остаток
FROM Склад RIGHT JOIN Продажа ON Склад.Название = Продажа.Название
GROUP BY Склад.Название;
...
Рейтинг: 0 / 0
Помогите по запросу
    #39315505
Abisma2008
Код: sql
1.
2.
SELECT Склад.Код, Склад.Название, Sum([Склад].[Количество])-Sum([Продажа].[Количество]) AS Остаток
FROM Склад RIGHT JOIN Продажа ON Склад.Название = Продажа.Название;


Не хватает группировки и NZ для кол-ва продаж.
Код: sql
1.
2.
3.
SELECT Склад.Код, Склад.Название, Sum([Склад].[Количество])-NZ(Sum([Продажа].[Количество]),0) AS Остаток
FROM Склад RIGHT JOIN Продажа ON Склад.Название = Продажа.Название
GROUP By Склад.Название, Склад.Код;

"Код" - это код склада или товара? А "Название"?
И почему у вас связь по "Название", а не "Код товара" из справочника. Или нет справочника товара?
ЗЫ. Базу смотреть лень... :-)
...
Рейтинг: 0 / 0
Помогите по запросу
    #39315532
Abisma2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_rusimport, Анатолий ( Киев )

Спасибо что ответили.
Но Результат не то что я хотел)
Наименование должны сгруппировать. (То есть Книга в запросе должен показать одну строку. (Сут запроса вот такая суммируем все приходи и отнимает суммирование продажа...))
Еще раз Спасибо!
...
Рейтинг: 0 / 0
Помогите по запросу
    #39315535
Abisma2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Анатолий ( Киев ),
На код не обращайте внимание. считаем что его нет!)
Справочник товара нету!)
...
Рейтинг: 0 / 0
Помогите по запросу
    #39315536
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Abisma2008где моя ошибка?Для начала - в логике имхо... FROM Склад RIGHT JOIN Продажа заставляет думать, что есть продажи того, чего нет на складе...
...
Рейтинг: 0 / 0
Помогите по запросу
    #39315539
Abisma2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Abisma2008guest_rusimport, Анатолий ( Киев )

Спасибо что ответили.
Но Результат не то что я хотел)
Наименование должны сгруппировать. (То есть Книга в запросе должен показать одну строку. (Сут запроса вот такая суммируем все приходи и отнимает суммирование продажа...))
Еще раз Спасибо!

Ой извиняюсь. я на верный код (Ответ от: guest_rusimport) не обращал внимание)
Всё тему можно закрыть)
Я очень благодарен!
...
Рейтинг: 0 / 0
Помогите по запросу
    #39315686
Abisma2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_rusimport, Анатолий ( Киев )
Опять Я!
Немножко усложнил задачу:
Код: sql
1.
2.
3.
SELECT Склад.Название, Склад.Номер_партия, Sum([Склад].[Количество])-Sum([Продажа].[Количество]) AS Остаток
FROM Склад RIGHT JOIN Продажа ON (Склад.Номер_партия = Продажа.Номер_партия) AND (Склад.Название = Продажа.Название)
GROUP BY Склад.Название, Склад.Номер_партия;


Еще одна таблица добавил: "Номер_партия"
Посмотрите пожалуйста!
Спасибо!
...
Рейтинг: 0 / 0
Помогите по запросу
    #39315704
Abisma2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Abisma2008,
Не таблица, а "Столбец" добавил)
...
Рейтинг: 0 / 0
Помогите по запросу
    #39315814
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Abisma2008,
нарисуйте результат в виде таблички, что вы хотели из ваших данных получить?
...
Рейтинг: 0 / 0
Помогите по запросу
    #39315838
Abisma2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_rusimportAbisma2008,
нарисуйте результат в виде таблички, что вы хотели из ваших данных получить?
Таблица="Склад":
НазваниеНомер_партияКоличествоРучка156Книга224Линейка226Линейка235Книга232Книга112Книга212Книга12Ручка25Ручка20Книга221Линейка165Линейка168

Таблица="Продажа":
НазваниеНомер_партияКоличествоКнига12Книга21Ручка13Ручка24Книга21Линейка13Линейка11

Запрос="Сумма_склада":
НазваниеНомер_партияSum-КоличествоКнига114Книга289Линейка1133Линейка261Ручка156Ручка25

Запрос="Сумма_продажа":
НазваниеНомер_партияSum-КоличествоКнига12Книга22Линейка14Ручка13Ручка24

Вот то чего я хочу:
Запрос="Остаток":
НазваниеНомер_партияОстатокКнига112Книга287Линейка1129Ручка153Ручка21


В таком случаи всё получается, но здесь три запроса. Я хочу сделать единственный запрос в место одного!
Надеюсь Вы меня поняли)
...
Рейтинг: 0 / 0
Помогите по запросу
    #39315863
КВВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Abisma2008,
подразумевается, вероятно, что не может быть продано больше,
чем есть на складе?
...
Рейтинг: 0 / 0
Помогите по запросу
    #39315872
Abisma2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
КВВ,
Спасибо за ответ!
Завтра ваш пример посмотрю. По поводу склада здесь примерно, могу добавить на склад.
...
Рейтинг: 0 / 0
Помогите по запросу
    #39315889
nikolay_magagin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У тебя не выходит значение линейка2 в остатке т.к. ни одна из них не продана. Ты хочешь чтобы выходили и ни разу не проданные вещи в остатке.
...
Рейтинг: 0 / 0
Помогите по запросу
    #39315899
Abisma2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
nikolay_magaginУ тебя не выходит значение линейка2 в остатке т.к. ни одна из них не продана. Ты хочешь чтобы выходили и ни разу не проданные вещи в остатке.
Ту я забыл про "Nz"
...
Рейтинг: 0 / 0
Помогите по запросу
    #39315920
nikolay_magagin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не понял.
...
Рейтинг: 0 / 0
Помогите по запросу
    #39315956
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как вариант
...
Рейтинг: 0 / 0
Помогите по запросу
    #39316022
КВВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
nikolay_magagin,
Судя по сообщению Abisma2008 "Вот то чего я хочу: Запрос="Остаток":",
Номер_партия - это не количество партий, а только номер.
Ведь, ручка2 у него в этом сообщении в остатке = 1 шт. :),
что соответствует вычислениям и других остатков по партиям.
...
Рейтинг: 0 / 0
Помогите по запросу
    #39316059
Abisma2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
КВВAbisma2008,
подразумевается, вероятно, что не может быть продано больше,
чем есть на складе?
Вот этот вариант то чего я хотел)
Спасибо за труд!
И остальным джентльменам благодарность за участия!
...
Рейтинг: 0 / 0
Помогите по запросу
    #39316147
nikolay_magagin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
По моему мнению нельзя объединять приход с расходом в одну форму редактирования. К одной записи прибыло могут существовать несколько записей убыло или не быть записей. Поэтому первичен склад-прибыло к убыло. Остаток должен выводится по всем пунктам прибыло даже если в убыло нет такого пункта. А то выходит, что первую запись убыло нужно занести в отдельном окне, иначе название не отражается в списке. Также я думаю ограничение по внесению нужно вводить не только для названия, но и для количества. А так по моему форма движение абсурдна. Наличие таблиц предполагает внесение данных, для последующей обработки в запросе, но к ним нет форм для внесения данных. Существующая форма предполагает предварительный ручной подсчет и внесение данных, не влияя на первичные таблицы, но требуя, чтобы в первичных таблицах были внесены количественные данные.
...
Рейтинг: 0 / 0
Помогите по запросу
    #39316500
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
думал не отвечать, но немного задело
nikolay_magaginПо моему мнению нельзя объединять приход с расходом в одну форму редактирования. К одной записи прибыло могут существовать несколько записей убыло или не быть записей. Поэтому первичен склад-прибыло к убыло.
Остаток должен выводится по всем пунктам прибыло даже если в убыло нет такого пункта.Это совершенно не понятно-а цифры 0 у нас нет. По моему так: по каждому товару(а не по записи прибыло) могут существовать несколько или ни одной записи убыло
nikolay_magagin А то выходит, что первую запись убыло нужно занести в отдельном окне, иначе название не отражается в списке. Таблица "товар" является обычным справочником и само собой если в ней нет наименования его не будет и в списке (новое наименование можно занести обработав событие NotInList-ещу бы я в примере делал форму на справочнике)nikolay_magaginTакже я думаю ограничение по внесению нужно вводить не только для названия, но и для количества. А так по моему форма движение абсурдна.Если Вы считаете что форма абсурдна-значит так и есть
Вот ограничение по количеству, о котором Вы говорите это да.
Если какого-то товара 100 шт занести в таблицу можно, то 101 уже низя
Наличие таблиц предполагает внесение данных, для последующей обработки в запросе, но к ним нет форм для внесения данных. Существующая форма предполагает предварительный ручной подсчет и внесение данных, не влияя на первичные таблицы, но требуя, чтобы в первичных таблицах были внесены количественные данные.[/quot]
Что надо предварительно считать? И в каких таблицах,кроме "движения", есть количественные данные (а запретить к выдаче товар, если его количество к выдаче превышает остаток очень просто)
...
Рейтинг: 0 / 0
Помогите по запросу
    #39316542
nikolay_magagin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Перефразирую поговорку: чтобы продать, что-то ненужное, нужно купить, что-то ненужное. Не может быть убыло без прибыло. А прибыло, оно прибыло. Это две разные операции. В запросе на выдачу остатка надо поставить связь все из склада к связанным в продаже. В столбце продано (при отсутствии продаж) будет null. При вычислении остатка количество прибыло минус выражение "если количество убыло null;0;количество убыло". Запрос готов на отчеты: прибыло, убыло, прибыло-убыло, остаток только от убыло и т.д. В форме продаж подстановка товара из созданного запроса по количеству>0. А ограничение не по кличеству записей, а по количеству продаваемого. Например остаток 3 и при внесении 4 выдает ошибку.
...
Рейтинг: 0 / 0
Помогите по запросу
    #39316553
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nikolay_magaginПерефразирую поговорку: чтобы продать, что-то ненужное, нужно купить, что-то ненужное. Не может быть убыло без прибыло

Легко... даже в 1С розница была такая фича в настройках "Разрешить минусовые остатки", завел я например весь хлеб в классификатор и поставил заветную галочку, теперь нет надобности ездить каждый день в магазин только из-за прихода хлеба... булки продаются и спокойненько уходят в минуса, товаровед может раз месяц приехать, поставить на приход старые накладные, булки опять уйдут в плюса - можно пойти, посчитать для ревизии и опять на месяц слинять по своим делам...
...
Рейтинг: 0 / 0
25 сообщений из 44, страница 1 из 2
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Помогите по запросу
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]