Temat: Access Magazyn

Witam, mam pytanie, mianowicie chodzi o to ,że dysponuje 2 tabelami:
- Stan magazynu ( id_przedmiotu / nazwa / ilość )
- Wydania ( id_przedmiotu / nazwa / ilość )
Do obu stworzyłem formularz umożliwiający dodawanie rekordów i pytanie jak mogę pomniejszyć stan magazynu o materiał ,który został wydany, domyślam się ,żeby użyć kwerendy ,ale nie wiem, jak to wykonać.

Temat: Access Magazyn

Witam,
Widzę tabele z wydaniami ale nie widzę tabeli z przyjęciami zewnętrznymi ( skądś i kiedyś jednak materiały lub towary przyjechały i zostały przyjęte na magazyn).

Stan magazynowy będzie to różnica pomiędzy przyjęciami a wydaniami z magazynu.

Tabela 'Stan magazynowy" zmieniłbym na coś w rodzaju 'Operacje magazynowe", gdzie wrzucane byłyby wszystkie operacje magazynowe (PZ, WZ, PM, Inwentaryzacja, Korekty).

Temat: Access Magazyn

Oczywiście będzie osobna tabela do przyjęć, ale na razie do testu zrobiłem tabelę z dwoma przedmiotami aby zorganizować najważniejszą kwestię mianowicie tą różnicę pomiędzy przyjęciami a wydaniami.

Temat: Access Magazyn

A więc:
Nie chodzi o nomenklaturę jakiej używamy ale dążymy do tego żeby nazwy obiektów były najbardziej zbliżone do danych jakie te obiekty przechowują lub generują.

Jak niżej. Pomiń wątek tabeli o nazwie "Stany magazynowe", chyba, że potrzebna Ci jest do przechowywania historii stock'u.

Utwórz tabele o dowolnej nazwie ważne żebyś Ty ją rozumiał, o strukturze:
ID operacji magazynowej
ID wyrobu
Rodzaj operacji magazynowej (Sprzedaż, zakup, inwentaryzacja, ..) - z biblioteki (może być z innej tabeli)
Ilość
ID PZ - jak stworzysz tabelę z przyjęciami to będziesz mógł przypisać relacją wartość do odpowiedniego rekordu w tabeli przyjęć
ID WZ - j.w.

Następnie stwórz 2 kwerendy
1. dla sumy 'Pezetów' - musisz wiedzieć ile przyjąłeś towaru, np.

SELECT ID_wyrobu ID, Sum([Ilosc]) as Qty
FROM tblOpercjeMagazynowe
GROUP BY ID_towaru
HAVING [RodzajOperacjiMagazynowej]='Zakup';

2 dla sumy 'Wuzetów' - -||- -||- -||- wydałeś -||-
Następnie stwórz union dla tych kwerend,

I w trzecim kroku robisz kwerendę w której odejmujesz ilosc wydaną od ilości przyjętej.

Jak bedziesz miał kwerendy z sumami pz i wz, bedziesz wiedział ze sa porawne to mozesz je wykorzystac do stworzenia UNION z kwerend i potem możesz je usunąć.

Voila. Stana magazynowy gotowy.

Temat: Access Magazyn

Dziękuje za obszerną instrukcję wykonania, czy była by możliwość aby w bazie ,która już stworzyłem https://ufile.io/0vto1 wykonać daną funkcję odejmowania danych ze stanu magzynu o ilość z wydania ?
Pozdrawiam

Temat: Access Magazyn

Wszystko da sie zrobic ale ... w załączonej bazie jedyna rzecz która jest dobrze zrobiona to chyba przyciski ale to akurat nie jest elementem bazodanowymi dlatego działa.

W zaden sposob nie neguję ilości włożonej pracy ale baza danych jest blednie stworzona. Brak relacyjności tabel (przepraszam, występuje jedna relacja bez wymuszonych więzów). Mozna baze zrobić by później nie korzystać z relacyjności bazy ale sądząc po poziomie znajomości programowania na podstawie zaimplementowania przez Ciebie przycisków byłoby to niemożliwe na tym etapie.
Pola tabel są w ogóle nie zdefiniowane (oprócz nazwy), występuję nadmiarowość danych.

Nie chciałbym abyś odebrał to jako bezpośredni atak a swoje dzieło ale jako terapie szokową.

Musisz zacząć od nowa.
1. Tabela 'Material' powinna zawierac informacje podstawowe, elementarne o materialach\towarach w sprzedazy., przykład poprawnie zdefiniowanej tabeli:
Ids_ID_Towaru (Autonumerowanie);ID towaru
chr_Nazwa (Krótki tekst - 20) ;Tytuł: Nazwa ; wymagane: Tak; Indeksowanie: Tak (Bez duplikatów)
chr_Kod_Towaru (krótki tekst - 50); Tytuł: Kod towaru ; wymagane: Nie; Indeksowanie: Tak (Bez duplikatów
lng_Kod_Producenta (Liczba całkowita długa), Tytuł: Kod producenta; Wymagane: Nie; Indekowanie: Nie
2. tworzysz tabele z danymi o przyjeciach magazynowych (ID_przyjecia, Data przyjecia, jaki taowar - ALE TYLKO ID z Tabeli Material, ile tego przyjąles, jaki byl nr dokumentu na którym ten towar przyjechal...)
3. tworzysz tabele z zamowieniami (Id zamowienia, kto zamawia - najlepiej zrobić tabele o zamawiajacych, ile zamawia, na kiedy to chce, kiedy wyslane, opcjonalnie kiedy zrealizowanie, ew uwagi do zamowienia)
4. Tworzysz tabele z wydaniami z magazynu (ID wydania, jaki towar - TYLKO ID, ile wydane, ID zamowienia na podstawie jakiego jest wydanie, itd.)
5. Tworzysz tabele z operacjami magazynowymi ale to juz opisalem wyzej.
itd.

jeżeli chodzi o pole 'JM' tylko i wyłącznie w tabeli Material (to jest tylko miejsce dla tego pola) to mozesz wykorzystac pole kombi do tego. Żeby to zrobić wszystkie potrzebne rzeczy są w zakładce 'Odnośnik'.

W razie wątpliwości, pytań - 'BEZ KREMPACJI' - PISZ.

Temat: Access Magazyn

Bardzo dziękuje za poświęcony czas na moje "wypociny" :) jak wrócę do domu to usiądę do tematu i zastosuje Pana uwagi.

Temat: Access Magazyn

Usiadłem do Bazy i nie jestem w stanie tego poskładać mimo dokładnego rozpisania schematu :/ czy mógłbym prosić o wykonanie bazy ?

Temat: Access Magazyn

Szanowny Forumowiczu,
Posty ktore zamiescilem powyzej sa to podatawy podstaw relacyjnych baz danych, nie wspomnialem tylko o 3NF, oraz podstawy tworzenia tabeli w MSAccess.
Chec wykonania jakiejkolwiek baz danych nie ogranicza sie tylko do napisania watku na forum aby ktos taka baze wykonal. Chodzi mi o sama celowosci robienia takich projektow.

Z zalozenia forum jest to narzedzie do dzielenia sie wiedza, spostrzeniami i uwagami. Posiadam nieograniczone morze cierpliwosci i moge poprowadzic Cie Drogi Forumowiczu przez te arkana baz danych tlumaczac krok po kroku co masz zrobic ( prosze polozyc prawa/lewa reke na myszy komputerowej, itd.) i domyslam sie ze wiecej zapamietalbys Drogi Forumowiczu z tego niz z faktu ze ktos to za Ciebie zrobi. Ale chyba nie o to w tym wszystkim chodzi. Chodzi o zdobywanie wiedzy i rozumienie z procesow ktore sie tworzy.

Znajdzie sie ktos napewno kto zrobi to za pieniasze. Fakt. Ale czy nie wieksza satysfakcja bedzie w momencie kiedy samemu sie to zrobi i w glowie zostanie cokolwiek?

Drogi Forumowiczu, nie zadales sobie trudu aby sprawdzic co napisamem w postach powyzej. Internety sa pelne informacji. Poczawszy od tego w jaki sposob tworzy sie tabele a na VBA konczac.

Moze z Twej nauki inni tez mogliby zaczerpnac nowejwiedzy?

Reasumujac:
Stworzenie przez kogos stuktury bazodanowej na niewiele sie zda poniewaz w pozniejszy etapach kiedy to tworzy sie interfejs aplikaji wymagana jest znajomosc bazy oraz jej relacyjnosc.

Zawsze pomocny
K. B.

Temat: Access Magazyn

Ma Pan rację chciałem dostać gotowca i mieć to za sobą ,ale zreflektowałem się i stworzyłem bazę według zaleceń ,która spełnia potrzeby danego magazynu i mam problem z utworzeniem kwerendy z pomocą SQL ponieważ ciągle mam błąd ,że nie może odnaleźć danej bazy.

https://files.fm/u/be5ups3r

Temat: Access Magazyn

Jest o wiele lepiej ale do ideału jeszcze daleko. Relacje są okreslone ale bez więzów integralności.
Jeżeli łączymy jakieś pola relacją, to muszą one być takiego samego typu (
Tabela "Materiał":
- Dla pola 'Nazwa' raczej nie powinna być dozwolona zerowa dł ciągu znaków - musi byc tam zawsze jakaś wartość - wiec właściwość ustawiamy na 'Nie'.
- Pole Kod_Producenta - czy dla produktów zawsze występuje numeryczny kod producenta? może jest alfanumeryczny? Rozmiar pola - jak długi jest kod producenta? może warto zastanowić sie nad zmianą pola na mniej wymagające pamięciowo? Np liczba całkowita?
https://support.office.com/pl-pl/article/ustawianie-roz...

Tabela 'Przyjecia":
- Pole Data_Przyjecia: nie wypełniony jest tytuł pola, Pole powinno być wymagane, indekowanie też powinno być ale z duplikatami, We Właściwości warto wprowadzić taką o to linijkę: =Date() - pozwoli to na automatyczne wstawianie daty systemowej.
- Pole Jaki_Towar powinno być encją z tabelą Materiał: najprostszy sposób to wybrać z pola kombi opcję 'Kreator odnośników...' Obiekt ma wybierac wartośc z innej tabeli lub kwerendy, naciskamy 'Dalej', wybieramy Tabele 'Material', w następnynm kroku wybieramy: 'ID_Towaru' oraz pole 'Nazwa', naciskamy 'Dalej', w następnym kroku wybieramy sortowanie rekordów i nacismy dalej, pozostawiamy ukrytą kolumnę klucza (bedziemy widzieć tylko nazwę materiału) i naciskamy 'Dalej', w ostatnim kroku zaznaczamy CheckBox 'Włącz integralność danych' i naciskamy 'Zakończ'. W taki o to sposób uzyskaliśmy relację z tabelą 'Material' z więzami integralności.
- Pole 'Ilość' - czy naprawdę iość z przyjęcia jest tekstem? Czy ja dobrze widzę? Ustawiamy tu rodzaj na 'Liczba' i wybieramy rodzaj liczby: może to być liczba całkowita, dziesiętna, pojedyncza lub podwójna precyzja i uzupełniamy Tytuł pola, Jest to pole wymagane!
- Pole 'Nr_Przyjecia': czy to jest nr czy może wartość alfanumeryczna? jezeli to jest numer to ustawiamy pole jako liczba. jezeli występują litery w ciągu to czy naprawde pole musi posiadać az 255 znaków? nie sądzę że jakaś firma daje mi np WZ-ke, której numer mam 255 znaków. W przypadku pola jako tekst może też warto zastanowić sie na maską wprowadzania?

Tabela 'Wydania':
Analogiczna sytuacja do tabeli 'Przyjęcia'.

Tabela 'OperacjeMagazynowe':
Hmm.

Temat: Access Magazyn

https://ufile.io/v4162
Najprostszy z możliwych sposobów na wyliczane stock'u magazynowego.Ten post został edytowany przez Autora dnia 09.10.18 o godzinie 09:39

Temat: Access Magazyn

Bardzo dziękuje za podesłanie gotowca aktualnie chcę go przerobić na moje potrzeby czyli dodać jakiś formularz oraz wybór magazynu na, którym ma być składowany materiał, dodatkowo otrzymałem zestawienie materiałów z ,którego wynika ,iż Kod towaru to tekst i z tym mam problem ponieważ zmieniłem w tabelach wszędzie na krótki tekst i limit 10 i przy tworzeniu relacji występuje błąd "Relacja musi dotyczyć takiej smej liczby pół o takich samych typach danych"

Temat: Access Magazyn

Już poradziłem sobie z problemem, natomiast teraz pojawił się problem gdy na jednej Wz/Pz będzie więcej przedmiotów, ;/

Temat: Access Magazyn

Nie bardzo rozumiem w czym problem. Chyba, że nastąpiły jakieś zmiany, o których nic nie wiem.
Jeżeli są na dokumencie kilka pozycji to je dodajesz do bazy One by One, i dla każdego z nich dodajesz taki sam numer WZ. Tyle.

Ale... nie padły podstawowe pytania projektowe dla tworzonej bazy danych., np. ile magazynów ona ma obsłużyć, ilu użytkowników będzie ją obsługiwać, itd. itp.
Take pytania wpływają na skomplikowanie struktury bazodanowej, ba, przed rozpoczęciem projektowania czegokolwiek odpowiedzi powinne być znane. Zmniejsza to poźniej ilość poprawek i tym samym aplikacja może być wcześniej wdrożona.

Przyjąłem, że w tym wątku chodzi o zapoznanie sie ze sposobem wyznaczania stanu magazynowego w MS Access, ale widzę, że jest to grubsza sprawa.

Zatem sprawdź coś takiego. To lepiej sprawdzi się u Ciebie.
https://ufile.io/otc4t

Temat: Access Magazyn

I do tego podstawowy interfejs.
Bez sprawdzania czy stock magazynowy pozwala na stworzenie dokumentu.
https://ufile.io/xgn9g

Życzę powodzenia.

Temat: Access Magazyn

Aktualnie cała baza tworzona jest na "spontanie" aby sprawdzić czy kupić program do magazynowania czy można sobie poradzić, tworząc samemu bazę w accesie, faktycznie danych nie podałem, baza będzie obsługiwana przez 1 użytkownika, liczba magazynów wynosi 3. Wydaje mi się, że wszystko co powinno być już jest i pozostaje jedynie wkleić faktyczne dane materiałów oraz magazynów.

Następna dyskusja:

MS Access - sztuczki i chwyty




Wyślij zaproszenie do