powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / дайте совет – не могу наладить учет движения товара
12 сообщений из 12, страница 1 из 1
дайте совет – не могу наладить учет движения товара
    #36376259
Макс375
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня учет товара сдаваемого в аренду.
Один и тот же товар периодически приходит и уходит с разных складов, т.е. может быть сдан на одном складе, а возвращен на другой склад.
Сейчас мой учет построен в одной таблице, в которой учитывается приход/уход товара по складам.
Получается, что на один товар – много записей по приходу/уходу на разных складах.
Я совершенно не понимаю, как в запросе или форме отобразить – какой товар, где сейчас находиться.
Может нужно принципиально изменить схему учета?

Модератор: Тема перенесена из форума "Microsoft SQL Server".
...
Рейтинг: 0 / 0
дайте совет – не могу наладить учет движения товара
    #36376516
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Макс375 , оставить товар в покое, а по движениям сделать другую табличку...

Определить где товар был в какое-то время довольно просто - нужно найти максимальную дату, но не более нужной.
...
Рейтинг: 0 / 0
дайте совет – не могу наладить учет движения товара
    #36376896
Макс375
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
krvsa,

Я это уже пробовал, возможно не тем методом.
Я делаю группировку по максимальному значению даты для группы товара. В таком запросе я могу получить только два столбца - дата и товар, как только я добавляю другое поле (например "склад"), группировка сразу же добавляет записи по этим складам (товар приходил/уходил ранее по разным складам). В результате - в запросе один и тот же товар повторяется.
...
Рейтинг: 0 / 0
дайте совет – не могу наладить учет движения товара
    #36376901
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Макс375 , начни с того что отдели товар (одна таблица) от его движения (это вторая таблица) - посе этого обсудим sql-запросы... ;)
...
Рейтинг: 0 / 0
дайте совет – не могу наладить учет движения товара
    #36376935
Макс375
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
krvsa,

Оно так уже сделано.
В одной таблице "товар", а в другой таблице "движение", но в одной "Общей" таблице происходит учет движения товара. Таблица эта выглядит так:
дата (самостоятельное поле)
фирма (связана с табл. Поставщики/покупатели)
товар (связана с табл. Товары)
движение (связана с табл. Движение (приход, отгрузка и т.д.))
склад (связана с табл. Склады)

В результате записи в таблице Общая выглядят так:
дата фирма товар движение склад01.05.2009 Гоги Автобус приход Москва10.05.2009 Иванов Автобус отгрузка 05.08.2009 Сидоров Газель приход Москва10.08.2009 Иванов Газель отгрузка20.08.2009 Иванов Газель приход Питер02.03.2009 Гоги Каток приход Питер01.06.2009 Сидоров Мицубис приход Москва01.07.2009 Петров Мицубис отгрузка 01.10.2009 Петров Мицубис приход Питер03.07.2009 Иванов Трактор приход Питер15.08.2009 Петров Трактор отгрузка 20.08.2009 Петров Трактор приход Москва02.09.2009 Гоги Трактор отгрузка
...
Рейтинг: 0 / 0
дайте совет – не могу наладить учет движения товара
    #36376950
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Макс375В одной таблице "товар", а в другой таблице "движение", но в одной "Общей" таблице происходит учет движения товара.
Возможно мы с тобой по-разному понимаем формирование таблиц "Товар" и его "Движение"... Ну да ладно...

Макс375Таблица эта выглядит так:
дата (самостоятельное поле)
фирма (связана с табл. Поставщики/покупатели)
товар (связана с табл. Товары)
движение (связана с табл. Движение (приход, отгрузка и т.д.))
склад (связана с табл. Склады)
И какие ты говоришь у тебя проблемы с этой табличкой? Пример запроса покажи...
...
Рейтинг: 0 / 0
дайте совет – не могу наладить учет движения товара
    #36377445
Макс375
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
krvsa,

1. Я создаю запрос в конструкторе access стандартными методами.
Запрос в SQL выглядит так:

SELECT Общая.товар, Max(Общая.дата) AS [Max-дата], Общая.движение
FROM Общая
GROUP BY Общая.товар, Общая.движение;

Я сейчас постепенно пытаюсь освоить SQL, но процесс пока идет туго.

2.krvsa мы с тобой по-разному понимаем формирование таблиц
А в чем мои ошибки при формировании таблиц?
...
Рейтинг: 0 / 0
дайте совет – не могу наладить учет движения товара
    #36377502
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Макс375Запрос в SQL выглядит так:
Что ты хочешь получить таким запросом?

Макс375А в чем мои ошибки при формировании таблиц?
У меня есть подозрение что под таблицей "Товар" ты подразумеваешь некий "справочник" товара... Т.е. обычных названий товара...

Допустим для примера такую схему

ТоварКодНазваниеДругие его поля
СкладКодНазваниеДругие его поля
ДвижениеКодНазваниеДругие поля
Движение товараКодДатаКод товараКод движенияКод склада
Тогда на твой вопрос "как в запросе или форме отобразить – какой товар, где сейчас находиться" может ответить запрос такого вида

Select A.Название ( Select B.Название From Движение_товара as B Where B.Код_товара=A.Код AND B.Дата=(Select max(C.Дата) From Движение_товара as C Where C.Код_товара=A.Код ) ) as SkladFrom Товар as A

Но в один день товар может быть на нескольких складах сразу. Т.ч. это все очень схематично и в реальности не применимо...

P.S. Для начинающего может взять чего по проще?
...
Рейтинг: 0 / 0
дайте совет – не могу наладить учет движения товара
    #36377512
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Запрос не правильно выделил...

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Select
   A.Название,
   (
      Select (Select D.Название From Склад as D Where D.Код=B.Код_склада)
      From Движение_товара as B 
      Where 
         B.Код_товара=A.Код 
         AND 
         B.Дата=(Select max(C.Дата) From Движение_товара as C Where C.Код_товара=A.Код )
   ) as Sklad
From
   Товар as A
----------
Cache for Windows (x86-32) 2007.1.3 (Build 607) Wed Oct 17 2007 02:12:09 EDT
...
Рейтинг: 0 / 0
дайте совет – не могу наладить учет движения товара
    #36377513
Salimbek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Макс375,

Может что-то типа такого:

SELECT О1.товар, О1.дата AS [Max-дата], О1.движение, О1.склад FROM Общая О1 LEFT JOIN (SELECT Общая.товар, Max(Общая.дата) AS МаксДата, Общая.движение
FROM Общая
GROUP BY Общая.товар, Общая.движение) О2 ON О1.товар=О2.товар AND О1.дата=О2.МаксДата
...
Рейтинг: 0 / 0
дайте совет – не могу наладить учет движения товара
    #36377862
Макс375
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
krvsa,

Пошел думать...
мне это теперь дня на 2-3, а то и белее
Спасибо за подсказку по изменению структуры.
...
Рейтинг: 0 / 0
дайте совет – не могу наладить учет движения товара
    #36377882
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Заходи еще...
----------
Cache for Windows (x86-32) 2007.1.3 (Build 607) Wed Oct 17 2007 02:12:09 EDT
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / дайте совет – не могу наладить учет движения товара
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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