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

Podobne dokumenty
Projekt Hurtownia, realizacja rejestracji dostaw produktów

Projekt Hurtownia, realizacja rejestracji dostaw produktów

Rejestracja sprzedaży

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

Access - Aplikacja. Tworzenie bazy danych w postaci aplikacji

Przygotowanie formularza do wypożyczenia filmu:

MsAccess - ćwiczenie nr 3 (zao) Budowa formularzy

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

Tworzenie bazy danych na przykładzie Access

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

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

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

Instrukcja obsługi Szybkiego paragonu w programie LiderSim [ProLider].

Autor: Joanna Karwowska

Implementacja relacyjnych baz danych w środowisku MS Access

Instrukcja użytkownika. Aplikacja Smart Paczka DPD

Plan. Raport. Tworzenie raportu z kreatora (1/3)

BAZY DANYCH Panel sterujący

Instrukcja EQU Kantech

Rejestracja faktury VAT. Instrukcja stanowiskowa

Struktura programu wykonana w Programie Visio.

Laboratorium Technologii Informacyjnych. Projektowanie Baz Danych

MODUŁ INTEGRUJĄCY ELEKTRONICZNEGO NADAWCĘ Z WF-MAG SPIS TREŚCI

BAZY DANYCH MAKRA I PRZYCISKI. Microsoft Access. Adrian Horzyk. Akademia Górniczo-Hutnicza

Ustawianie lokalizacji dla indeksów Ustawianie lokalizacji dla indeksów spis kroków

WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM. NetBeans. Wykonał: Jacek Ventzke informatyka sem.

Informatyka w Zarządzaniu

Kurs walut. Specyfikacja projektu. Marek Zając

INSTRUKCJA OBSŁUGI DO PROGRAMU I-ANALITYK GT WERSJA i-sys Integracja Systemów Spółka z o.o. ul. Zwoleńska 127 lok. 32, Warszawa

Informatyzacja Przedsiębiorstw

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

TRX API opis funkcji interfejsu

Oracle Application Express

Viatoll Calc v1.3. Viatoll Calc. Instrukcja użytkownika. Strona 1

1. Logowanie do systemu

UONET+ - moduł Sekretariat. Jak wykorzystać wydruki list w formacie XLS do analizy danych uczniów?

WebMobile7 and Sello Integrator wersja 1.1.2

Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie.

Tworzenie makr warunkowych

Instrukcja połączenia z programem Compas LAN i import konfiguracji

Laboratorium 7 Blog: dodawanie i edycja wpisów

Formularze i raporty w MS Access

ORAPACK NARZĘDZIE DO OBCIĘCIA BAZY DANYCH TYPU ORACLE DLA SYSTEMU APTECZNEGO KS-AOW

WinSkład / WinUcz 15.00

Krzysztof Kluza proste ćwiczenia z baz danych

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

Wykorzystanie modułu Crystal Reports firmy SAP

KURIER XL BY CTI DLA SIÓDEMKA

1. Proszę wejść na stronę: poczta.home.pl i zalogować się do nowej skrzynki za pomocą otrzymanych danych.

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

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

Dokumentacja modułu Woocommerce

Zapytania i wstawianie etykiet z bazy danych do rysunku

Lista wprowadzonych zmian w systemie Vario v. 3.3 od wydania do wydania

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

UONET+ moduł Dziennik

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

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:

1. Logowanie się do panelu Adminitracyjnego

Projektowanie baz danych

Poprawne opisanie szkoły dla dorosłych w module Administrowanie. 1. Zaloguj się do systemu jako administrator i uruchom moduł Administrowanie.

Programowanie Obiektowe GUI

Instrukcja połączenia z programem Compas LAN i import konfiguracji

Informatyzacja Przedsiębiorstw

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

Aplikacje WWW - laboratorium

Tablice. Jones Stygar na tropie zmiennych

LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS

PWI Instrukcja użytkownika

UNIWERSYTET RZESZOWSKI KATEDRA INFORMATYKI

4. Budowa prostych formularzy, stany sesji, tworzenie przycisków

Instrukcja użytkownika

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

MS Access formularze

Materiały do laboratorium MS ACCESS BASIC

Dodawanie operacji dodatkowych w WAPRO Mag.

Pobieranie komunikatów GIF

Instrukcja Integracja z istore. Wersja z 07/02/2015. Copyright Zakupteraz.pl

5. Bazy danych Base Okno bazy danych

Magazyn Optivum. Jak przeprowadzić inwentaryzację na zakończenie roku?

Zastępstwa Optivum. Jak przenieść dane na nowy komputer?

emszmal 3: Automatyczne księgowanie przelewów w sklepie internetowym PrestaShop (plugin dostępny w wersji ecommerce)

Tworzenie prostej etykiety i synchronizacja etykiet z wagą. AXIS Sp. z o.o. Kod produktu:

KOMISJE WYBORCZE PIT EKSPORT E-PITY

Wprowadzenie do projektu QualitySpy

INSTRUKCJA INSTALACJI APLIKACJI PROF- EAN 2

Zamawianie Taxi Aktywator Instrukcja użytkownika

Funkcje standardowe. Filtrowanie

TeleLock.NET. Instrukcja programu

Wymagane jest podłączenie serwera do Internetu (konieczne do zdalnego dostępu).

Obsługa zdarzeń w formularzach przy pomocy makr

ACCESS ćwiczenia (zestaw 1)

LABORATORIUM Z INŻYNIERII ZARZĄDZANIA- MRP II

MS Access 2010 instrukcja część Wstaw do tworzonego formularza wszystkie pola z tabeli wydzial:

KORPORACYJNE SYSTEMY ZARZĄDZANIA INFORMACJĄ

Jak zaimportować bazę do system SARE

Instrukcja obsługi aplikacji MobileRaks 1.0

6. Formularze tabelaryczne, obiekty nawigacji - rozgałęzienia

Ogranicz listę klasyfikacji budżetowych do powiązanych z danym kontem księgowym

Transkrypt:

niżej. Projekt Hurtownia, realizacja skojarzeń dostawców i produktów W bazie danych HurtowniaSP istnieją tabele Dostawcy oraz Produkty, ich definicje przypomniane są W bazie zdefiniowano także tabelę DostawcyProdukty, która będzie wykorzystywana przy rejestracji dostaw produktów danego dostawcy. W tabeli tej zdefiniowano klucz złożony zbudowany z dwóch kluczy obcych będących identyfikatorami obu wymienionych wyżej tabel. Zajmiemy się teraz problemem zbudowania formularza ułatwiającego kojarzenie dostawców i oferowanych przez nich produktów. Zadanie to można zrealizować na wiele sposobów, w tym materiale zostanie przedstawione rozwiązanie maksymalnie optymalne dla użytkownika. Koncepcja formularza frmskojarzeniadostawcyprodukty Wydaje się, że najlepszym rozwiązaniem będzie przyjęcie takiego projektu formularza, który maksymalnie wyeliminuje możliwość popełnienia choćby takiego błędu jak próba zapisania w tabeli DostawcyProdukty rekordu o takiej kombinacji obu kluczy, który już w tej tabeli jest. Konsekwencją byłoby zgłoszenie błędu przez serwer SQL, co nie jest zbyt eleganckim rozwiązaniem. Zbudujemy taki formularz, który pozwoli na wybór dostawcy z pola kombi, a po jego wyborze wyświetli w formancie typu ListBox te produkty, które jeszcze nie występują w tabeli DostawcyProdukty w kombinacji z identyfikatorem wybranego dostawcy. Zadanie to zrealizuje pokazana niżej procedura przechowywana SQL, która otrzymuje jako argument identyfikator dostawcy. Bezparametrowa procedura SQL będzie odpowiedzialna za dostarczenie źródła danych dla pola kombo wyświetlającego listę potencjalnych dostawców.

W standardowy sposób dodajemy do rozwiązania nowy formularz, którego nazwę zmieniamy na frmskojarzeniedostawcyprodukty. Na powierzchni formularza umieszczamy cztery formanty: cbodostawcy formant typu ComboBox, w nim będziemy wyświetlać dostawców z tabeli Dostawcy; lstprodukty formant typu ListBox, po wyborze dostawcy w polu cbodostawcy wyświetlimy w nim te produkty, które mogą być skojarzone z wybranym dostawcą (czyli te, których identyfikatory nie są jeszcze skojarzone z identyfikatorem wybranego dostawcy w tabeli DostawcyProdukty); btnzapisz formant typu Button, jego klik będzie uruchamiał metodę z klasy CDostawcyProdukty odpowiedzialną za zapisanie skojarzeń w tabeli DostawcyProdukty; etykietę formant typu Label opisującą pole cbodostawcy z właściwością Text równą Wybierz dostawcę. Etykieta ta ma pozostawioną nazwę domyślną, bowiem nie będziemy się do niej odwoływać w trakcie działania programu; lblkomunikat formant typu Label wyświetlający tekst wyjaśniający dlaczego nie widzimy listy produktów. Etykieta ta będzie ustawiona tak, jak to pokazano niżej i będzie przykryta przez listę lstprodukty. Końcowe ustawienie formantu lstprodukty zakrywa etykietę lblkomunikat, za pomocą właściwości Visible będziemy jeden z tych formantów ukrywać, a drugi pokazywać.

Uzupełnienia w klasie CDostawcyProdukty Zaczynamy od dodania nowego interfejsu, tak jak to pokazano niżej. Interfejs ten deklaruje (zapowiada, opisuje) dwie funkcje, przy czym funkcja Komunikat spełnia analogiczne zadanie jak we wcześniejszych interfejsach, a funkcja DajTabele ma za zadanie dostarczyć źródło danych dla listy lstprodukty. Metoda PrzygotujSkojarzenieDostawcyProdukty będzie odpowiedzialna za przygotowanie instancji formularza frmskojarzeniedostawcyprodukty do pokazania użytkownikowi, czyli za pobranie danych o dostawcach (via procedura SQL vb_dajdostawcow), zdefiniowanie źródła danych dla cbodostawcy oraz ukrycie listy lstprodukty z pokazaniem etykiety lblkomunikat. Metoda spowoduje także, że przycisk polecenia btnzapisz stanie się nieaktywny. Metoda DajProduktyDostawcy będzie odpowiedzialna za pobranie z bazy danych (korzystając z procedury SQL vb_dajproduktywgdostawcy) tych produktów, które mogą jeszcze być skojarzone dostawcą wybranym w polu kombi cbodostawcy. Metoda ZapiszSkojarzeniaDostawcyProdukty będzie odpowiadać za zapisanie wybranych skojarzeń w tabeli DostawcyProdukty, kod procedury SQL realizującej to zadanie będzie pokazany później. W kolejnym kroku przechodzimy do kodu klasy i zapowiadamy implementację tego nowego interfejsu (jego funkcji i metod). Implementacja funkcji Komunikat wymaga jedynie uzupełnienia istniejącej implementacji tej funkcji dopisując do wykazu interfejsów IProduktyDostawcy. Analogicznie postępujemy z funkcją DajTabele. Kod pozostałych trzech metod musimy napisać od początku.

Ostatnia z tych metod wywołuje procedurę SQL, której kod pokazany jest niżej. Jeszcze mały komentarz odnośnie kodu metody ZapiszSkojarzeniaDostawcyProdukty. Metoda jako argumenty otrzymuje identyfikator wybranego dostawcy oraz kopię formantu ListBox (lstprodukty), który miał tak ustawioną właściwość selekcji, aby można było zaznaczyć więcej niż jedną pozycję listy. Odczytanie zaznaczonych pozycji (identyfikatorów produktów) odbywa się poprzez przegląd kolekcji indeksów zaznaczonych pozycji, która zostaje zwrócona właściwością SelectedIndices tego formantu (czyli ListBox). Przegląd wykonywany jest standardową pętlą dedykowaną do tego celu (przejściu po elementach kolekcji, czyli For Each). Po odczytaniu indeksu zaznaczonego elementu pobierany jest sam element właściwością Items i przypisywany do zmiennej wiersz, która wcześniej została zadeklarowana jako typ DataRowView (mocna nazwa typu, czyli System.Data.DataRowView nie jest konieczna z uwagi na wcześniejsze zaimportowanie przestrzeni nazw System.Data. Z kolei identyfikator produktu pobierany jest ze zmiennej wiersz z wykorzystaniem właściwości Item tej zmiennej.

Kod formularza frmskojarzeniadostawcyprodukty Po przygotowaniu metod i funkcji interfejsu IProduktyDostawcy musimy jeszcze utworzyć kilka procedur w kodzie formularza frmskojarzeniadostawcyprodukty. Pokazana niżej procedura będzie uruchamiana w momencie wyboru dostawcy w polu kombi cbodostawcy. Jeżeli metoda DajProduktyDostawcy została wykonana poprawnie, to lista lstprodukty otrzymuje nowe źródło danych i zostaje pokazana użytkownikowi Skromna procedura obsługująca klik listy lstprodukty dba o to, żeby przycisk polecenia btnzapisz był dostępny dla użytkownika wtedy, gdy w liście produktów został zaznaczony co najmniej jeden z nich. Jeżeli żaden produkt nie został zaznaczony, to przycisk jest ustawiany jako niedostępny. Ostania z procedur odpowiada za realizację kliku przycisku btnzapisz.