Projekt Hurtownia, realizacja rejestracji dostaw produktów



Podobne dokumenty
Projekt Hurtownia, realizacja rejestracji dostaw produktów

Projekt Hurtownia, realizacja skojarzeń dostawców i produktów

Rejestracja sprzedaży

Informatyzacja Przedsiębiorstw

Informatyzacja Przedsiębiorstw

UNIWERSYTET RZESZOWSKI KATEDRA INFORMATYKI

Krzysztof Kluza proste ćwiczenia z baz danych

Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości

Politechnika Poznańska Wydział Budowy Maszyn i Zarządzania

2. Kliknij Insert->Userform. Jeżeli Toolbox nie pojawi się automatycznie, kliknij View -> Toolbox. Otrzymany widok powinien być jak poniżej.

Plan. Formularz i jego typy. Tworzenie formularza. Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza

3 Delegacje. 3.1 Tworzenie delegacji. 3.2 Skojarzenie delegacji z procedurą czy funkcją

Laboratorium Technologii Informacyjnych. Projektowanie Baz Danych

Makra Access 2003 wg WSiP Wyszukiwanie, selekcjonowanie i gromadzenie informacji Ewa Mirecka

Ratownictwo Medyczne

Dodawanie operacji dodatkowych w WAPRO Mag.

Tworzenie bazy danych na przykładzie Access

Aplikacje WWW - laboratorium

Budowa aplikacji z graficznym interfejsem użytkownika - GUI (Graphic User Interface)

Laboratorium 7 Blog: dodawanie i edycja wpisów

Kurs walut. Specyfikacja projektu. Marek Zając

Instrukcja użytkownika

BAZY DANYCH Panel sterujący

Ekran główny lista formularzy

Tworzenie makr warunkowych

Zaawansowane aplikacje internetowe - laboratorium

Instrukcja użytkownika. Aplikacja dla WF-Mag

Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości

Currenda EPO Instrukcja Konfiguracji. Wersja dokumentu: 1.3

INSTRUKCJA OBSŁUGI OPROGRAMOWANIA MOBILNY WERYFIKATOR ETYKIET 1.0

Zintegrowany System Zarządzania Biblioteką SOWA2/MARC21 OBSŁUGA CZASOPISM

Access - Aplikacja. Tworzenie bazy danych w postaci aplikacji

Rejestracja faktury VAT. Instrukcja stanowiskowa

Instrukcja do programu Przypominacz 1.6

Kolumna Zeszyt Komórka Wiersz Tabela arkusza Zakładki arkuszy

Obsługa zdarzeń w formularzach przy pomocy makr

III. Dane podstawowe definiowanie organizacji

wstawianie przycisków umożliwiających wybieranie wartości poprzez klikanie strzałek

1. Logowanie do systemu

Instrukcja obsługi aplikacji MobileRaks 1.0

Uzupełnij pola tabeli zgodnie z przykładem poniżej,

Bazy danych TERMINOLOGIA

Wprowadzenie do projektu QualitySpy

1. Logowanie się do panelu Adminitracyjnego

Obiektowy PHP. Czym jest obiekt? Definicja klasy. Składowe klasy pola i metody

Programowanie Obiektowe GUI

Moduł Handlowo-Magazynowy Przeprowadzanie inwentaryzacji z użyciem kolektorów danych

Instrukcja do programu Do7ki 1.0

Baza danych sql. 1. Wprowadzenie

Część 3 - Konfiguracja

ACCESS ćwiczenia (zestaw 1)

Dokumentacja systemu NTP rekrut. Autor: Sławomir Miller

Arkusze kalkulacyjne i VBA

Szanowni Państwo. Należy przy tym pamiętać, że zmiana stawek VAT obejmie dwie czynności:

Rejestracja dokumentu PZ. Instrukcja stanowiskowa

MsAccess - ćwiczenie nr 3 (zao) Budowa formularzy

Przygotowanie formularza do wypożyczenia filmu:

LK1: Wprowadzenie do MS Access Zakładanie bazy danych i tworzenie interfejsu użytkownika

Ćwiczenie 4 Aktualizacja tabel. 1. Skopiuj aplikację przygotowaną na poprzednich zajęciach w katalogu SKOKI1 do nowego katalogu SKOKI2.

Microsoft Access materiały pomocnicze do ćwiczeń cz. 1

Wdrożenie modułu płatności eservice. dla systemu Zen Cart

OBIEKTY TECHNICZNE OBIEKTY TECHNICZNE

LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS

Monitoring procesów z wykorzystaniem systemu ADONIS. Krok po kroku

Obszar Logistyka/Zamówienia Publiczne

Funkcje terminalowe. Podstawowe informacje o działaniu aplikacji terminalowej głównym narzędziu dla magazyniera

Dodanie nowej formy do projektu polega na:

Identyfikator komórki organizacyjnej, w której złożono deklarację

Konfiguracja i uruchomienie usługi Filtry adresów IP dla użytkowników Centrum Usług Internetowych dla Klientów Banku Spółdzielczego w Łęcznej.

Programowanie komponentowe. Przykład 1 Bezpieczeństwo wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz

MS Access formularze

Instrukcja użytkownika. Aplikacja dla Comarch Optima

1. Zarządzanie informacją w programie Access

Część XVII C++ Funkcje. Funkcja bezargumentowa Najprostszym przypadkiem funkcji jest jej wersja bezargumentowa. Spójrzmy na przykład.

Wprowadzenie (17) Część I. Makra w Excelu - podstawy (23)

Przykładowa dostępna aplikacja w Visual Studio - krok po kroku

Budowa aplikacji ASP.NET współpracującej z bazą danych do obsługi przesyłania wiadomości

1.0 v2. INSTRUKCJA OBSŁUGI SAD EC Win - Moduł Ewidencja Banderol

Pobieranie komunikatów GIF

MsAccess ćwiczenie nr 3 Kwerendy wybierające cd oraz kwerendy funkcjonalne

Formularze i raporty w MS Access

Karty pracy. Ustawienia. W tym rozdziale została opisana konfiguracja modułu CRM Karty pracy oraz widoki i funkcje w nim dostępne.

Microsoft Access zajęcia 3 4. Tworzenie i wykorzystanie kwerend, formularzy i raportów

Ciekawym rozwiązaniem służącym do obsługi zdarzeń dla kilku przycisków w ramach jednej aktywności może być następujący kod:

Instrukcja do programu Przypominacz 1.5

Ćwiczenie 25 Działania matematyczne we Flashu

Instrukcja do programu DoDHL 1.5

Informatyka w Zarządzaniu

Eksport dokumentów do systemu ECOD

I. Interfejs użytkownika.

Wykład 8: klasy cz. 4

Microsoft PowerPoint Poziom Zaawansowany PROGRAM SZKOLENIOWY. Plan szkolenia zawiera: Microsoft Excel Poziom Zaawansowany

Instrukcja użytkownika. Eksport dokumentów do systemu Comarch EDI Wersja

Bazy danych Ćwiczenie 1 Instrukcja strona 1 Wersja ogólna

Produkcja by CTI. Proces instalacji, ważne informacje oraz konfiguracja

Integracja oprogramowania GASTRO z systemem Blue Pocket

Definiowanie filtrów IP

Etykieta logistyczna GS1

Wdrożenie modułu płatności eservice. dla systemu oscommerce 2.3.x

Transkrypt:

Projekt Hurtownia, realizacja rejestracji dostaw produktów Ćwiczenie to będzie poświęcone zaprojektowaniu formularza pozwalającego na rejestrację dostaw produktów dla naszej hurtowni. Dane identyfikujące dostawę będą zapisywane w tabelach Dostawy i DetaleDostawy, których definicje pokazane są niżej. Poszczególne pola tabeli Dostawcy przechowują następujące informacje: id automatyczny identyfikator dostawy; iddo klucz dostawcy z tabeli Dostawcy; datad data dostawy danego produktu. Poszczególne pola tabeli DetaleDostawcy przechowują: id automatyczny identyfikator (klucz) tej tebeli; idde klucz dostawy z tabeli Dostawcy; idp klucz produktu z tabeli Produkty; datap data przydatności danego produktu; ilepalet liczba palet tego produktu; ilekartonow liczba opakowań zbiorczych na palecie; CenaJednostkowa cena jednostkowa; Pozostalo pole, którego zadaniem jest przechowywanie informacji o bieżącym stanie danego produktu. Tabela Dostawy powiązana jest z tabelą DetaleDostawy relacją typu jeden-do-wielu poprzez pola id oraz idde, a tabela DetaleDostawy jest powiązana relacją jeden-do-wielu z tabelą Produkty poprzez pole idp. Fragment relacji łączących wybrane tabele pokazany jest niżej.

Proces rejestracji nowej dostawy będzie wyraźnie rozdzielony na dwa etapy. W pierwszym dla wybranego dostawcy w tabeli Dostawy zostanie zarejestrowany jego identyfikator oraz data dostawy. Zadanie to wykona pokazana niżej procedura SQL. Procedura ta zwraca identyfikator dostawy, zostanie on wykorzystany przez kolejną procedurę, która będzie wstawiać rekord do tabeli DetaleDostawy. Procedura ta będzie wywołana tyle razy, ile różnych produktów będzie w danej dostawie. W bazie danych będziemy musieli utworzyć jeszcze kilka innych procedur przechowywanych, które będą wspierać funkcjonowanie formularza rejestracji dostaw, ale do ich kodu wrócimy później. Projekt formularza frmrejestracjadostawy Dodajemy nowy formularz do naszego rozwiązania i umieszczamy na jego powierzchni potrzebne formanty. Ich nazwy systemowe, typ i funkcja wymienione są niżej. cbodostawca typu ComboBox, będzie pozwalał wybrać dostawcę produktu; cboprodukt typu ComboBox, w nim będziemy wyświetlać produkty oferowane przez wybranego wcześniej dostawcę; lblilesztukkg typu Label, będzie w niej wyświetlać informację opisującą zawartość opakowania zbiorczego wybranego produktu; nudilepalet typu NumericUpDown, formant pełniący funkcję pokrętła, pozwala wybrać wartość liczbową z określonego zakresu (od minimum=1 do maximum=20 z increment=1); nudilekartonow również typu NumericUpDown, pozwoli wybrać liczbę kartonów (opakowań zbiorczych) na palecie z zakresu od 30 do 60 ze skokiem 1; txtcena typu TextBox, będzie wykorzystany do podania ceny opakowania zbiorczego; dtpdatadostawy typu DateTimePicker, pozwoli na wskazanie daty dostawy produktu; dtpdataprzydatnosci typu DataTimePicker, będziemy w nim ustawiać datę przydatności produktu do spożycia, informacja ta będzie wykorzystywana do pilnowania, aby produkty były wydawane odbiorcom w takiej kolejności, aby nie dopuścić do ich przeterminowania; btnzapisz typu Button, jego klik uruchomi proces rejestracji produktu w bazie; btndodajdostawce typu Button, przycisk umieszczony na prawo od cbodostawca, jego klik pozwoli na otwarcie dodatkowych formularzy pozwalających na uzupełnienie listy dostawców; etykiety opisujące wybrane formanty (ich nazwa systemowa nie została zmieniona); formant typu ErrorProvider, jego nazwa systemowa również nie została zmieniona; txtpomoc formant typu TextBox, wykorzystamy go do przekazywania identyfikatora dostawy do procedury odpowiedzialnej za zarejestrowanie detali danej dostawy. Właściwość Visible tego formantu zostanie docelowo ustawiono na False. Pole to na formularzu nie będzie poprzedzone żadną etykietą (nie jest to potrzebne, bo pole nie jest widoczne dla użytkownika). Rozmieszczenie tych formantów na powierzchni formularza pokazane jest niżej.

Tak przygotowany formularz będzie mógł być pokazany użytkownikowi po jego zainicjowaniu danymi pobranymi z bazy danych będą to informacje pozwalające na jednoznaczną i łatwą identyfikację dostawcy, dane te będą źródłem danych dla pola kombo cbodostawca. Konieczne będzie przygotowanie rozwiązania pozwalającego na dynamiczną modyfikację źródła danych dla pola kombo cboprodukt zależnie od wybranego dostawcy. Klik przycisku btnzapisz wymaga stworzenia instrukcji obsługujących to zdarzenie, podobnie musimy stworzyć procedury uruchamiające klik przycisku btndodajdostawce. Znaczną część tego kodu możemy zgromadzić w postaci metod utworzonych w klasie CDostawcyProdukty. Modyfikacja klasy CDostawcyProdukty W klasie CDostawcyProdukty dodajemy nowy interfejs, będzie on zawierał komplet procedur i funkcji wykorzystywanych do obsługi formularza frmrejestracjadostawy i innych, współpracujących z nim formularzy. W kodzie samej klasy zapowiadamy implementację tego interfejsu. Tworzymy kod implementujący funkcję DajIdd(). oraz uzupełniamy implementacje funkcji Komunikat() oraz DajTabelę() poprzez wskazanie w istniejących implementacjach obsługi tych funkcji w interfejsie INowaDostawa.

Tworzymy kod implementujący metody interfejsu INowaDostawa.

Metody te uruchamiają odpowiednie procedury przechowywane SQL, procedura vb_wstawdostawe była już pokazana, a kod pozostałych dwóch pokazany jest niżej. Modyfikacja formularza frmmdi W menu naszej aplikacji możemy dodać pozycję uruchamiającą formularz (dokładniej instancję formularza) frmrejestracjadostawy, można takie polecenie dodać w grupie Produkty. Pozycja menu Rejestracja dostawy otrzymała nazwę systemową mnurejestracjadostawy, poniżej pokazany jest kod zdarzenia Click tego polecenia. Efektem kliku jest utworzenie instancji naszego formularza, pobranie z bazy danych informacji o dostawcach, przypisanie ich do pola cbodostawca i pokazanie formularza użytkownikowi. Jednak jego poprawne funkcjonowanie wymaga napisania kilku dalszych procedur bezpośrednio w oknie kodu tego formularza. Kod formularza frmrejestracjadostawy Zaczynamy od zaimportowania przestrzeni nazw CValidacjaJG oraz utworzenia instancji klasy CValidacja, którą będziemy wykorzystywać do walidacji danych. Procedura zdarzenia Load ustawia pusty ciąg znaków w etykiecie lblilesztukkg. W momencie wyboru dostawcy w polu kombo cbodostawcy musimy zaktualizować źródło danych formantu cboprodukt, realizuje to pokazana niżej procedura.

Procedura ta tworzy instancję klasy CDostawcyProdukty z wykorzystaniem interfejsu INowaDostawa i wywołuje metodę DajDostawcyProdukty, która zwraca źródło danych dla cboprodukty. Kilka kolejnych instrukcji przypisuje to źródło danych do pola kombi. Proszę zwrócić uwagę na zmienną globalną bflaga, jej wartość jest ustawiana na False przed zdefiniowaniem źródła danych i ponownie ustawiana na True po zakończeniu definiowania. Potrzebne jest to do zablokowania na czas definiowania źródła danych obsługi zdarzenia SelectedIndexChange dla tego formantu (jeżeli takie zdarzenie jest lub będzie obsługiwane). Pokazana niżej procedura jest uruchamiana w momencie wyboru produktu w polu cboprodukt, a jej zadaniem jest skomponowanie informacji wyświetlanej w etykiecie lblilesztukkg. W procedurze tej ciekawy jest sposób odwołania się do składowych informacji o wybranym produkcie pobieranych właściwością SelectedItem z odpowiednim indeksem. Prywatna funkcja SprawdzPrzydatnosc będzie wykorzystywana do zweryfikowania, czy data przydatności produktu do spożycia jest poprawna (dokładniej czy jest większa od daty rejestracji dostawy można ten warunek doprecyzować). Procedura zdarzenie KeyPress dla pola tekstowego txtcena blokuje wprowadzenie do tego formantu innych znaków niż cyfry lub przecinek. Teraz seria procedur walidujących kilka formantów.

I na zakończenie tego fragmentu procedura obsługująca klik przycisku btnzapisz.