Zapytania i wstawianie etykiet z bazy danych do rysunku Pracujemy z gotową bazą danych MSAccess o nazwie KOMIS.MDB. Baza ta składa się z kilku tabel, rys. 1 Rys. 1. Diagram relacji. Wybierając w MSAccess, zakładkę Kwerendy, a następnie przycisk Nowy, rys. 2, Rys. 2. Rozpoczynamy budowę kwerendy Otwieramy okno Nowa kwerenda, rys. 3, z której wybieramy Widok projektu i klikamy OK. Rys. 3. Wybieramy Widok projektu kwerendy. Otwieramy kolejne okno kreatora kwerendy, rys. 4, gdzie w oknie Pokazywanie tabeli wybieramy tabele biorące udział w zapytaniu i klikamy Dodaj, a po dodaniu wszystkich wymaganych tabel, Zamknij. mgr inż. Janusz Bonarowski, mgr inż. Jacek Jusis, dr inż. Grzegorz Linkiewicz 1
Rys. 4. Przygotowanie tabel do kwerendy. Możemy teraz do siatki zapytania poprzenosić dowolne pola z tabel. Przenieśmy zatem z tabeli Samochód dwa pola: SAM_ID i R_PROD, z tabeli Typy: pola MARKA i MODEL, a z tabeli Silnik pole MOC, jak na rys. 5. Rys. 5. Kwerenda gotowa do wykonania. Jeśli klikniemy przycisk Widok, rys. 5, w wersji Widok arkusza danych, zobaczymy wynik kwerendy - wszystkie samochody o roku produkcji większym od 1990, rys. 6. mgr inż. Janusz Bonarowski, mgr inż. Jacek Jusis, dr inż. Grzegorz Linkiewicz 2
Rys. 6. Wynik kwerendy. Zamykając kwerendę zapiszmy ją pod nazwą Po_1990. Teraz, aby sprawdzić stan komisu, co do samochodów wyprodukowanych po 1990 roku - wystarczy w oknie bazy danych, w zakładce Kwerendy kliknąć kwerendę: Po_1990. Zamykamy MSExcel i przechodzimy do AutoCad'a Praca w programie AutoCad 1. Otwieramy plik Komis.dwg, z katalogu: C:\TKM\GR1x (Uwaga na numer własnej grupy). 2. W AutoCad'zie wybierz z menu: Narzędzia Połącz z bazą danych - operacja ta (1) otworzy okno Menedżer połączeń DB, (2) Doda do menu pozycję Baza. 3. Z menu Baza wybierz Baza Źródła danych Konfiguracja i wpisz własna nazwę dla konfiguracji, np. SamochodyKomis i kliknij OK, rys. 7, Rys. 7. Pierwszy etap konfiguracji źródła danych. mgr inż. Janusz Bonarowski, mgr inż. Jacek Jusis, dr inż. Grzegorz Linkiewicz 3
Pojawi się okno Data Link Properties, rys. 8, w którym należy wybrać Provider. Rys. 8. Wybór właściwego dostawcy. 4. W Oknie: Data Link Properties (Właściwości połączenia z bazą danych), na zakładce Provider - wskaż Providera (Dostawcę połączenia): Microsoft Jet 4.0 OLE DB Provider i kliknij przycisk Next (Dalej). Takiego dostawcę połączenia wybieramy dla baz danych utworzonych w MS Access 2000. 5. W Oknie: Data Link Properties, na zakładce Connection, rys. 9, poprzez przycisk [...] wskaż bazę danych, czyli Komis.mdb, a następnie przyciskiem [Test Connection] sprawdź połączenie. Należy uzyskać komentarz: Test connection succeeded i zamknąć okno konfiguracji połączenia klawiszem OK. mgr inż. Janusz Bonarowski, mgr inż. Jacek Jusis, dr inż. Grzegorz Linkiewicz 4
Rys. 9. Następny krok konfiguracji połączenia bazy danych z rysunkiem. W oknie Menedżera połączeń BD, rys. 10, pojawi się obiekt połączenia SamochodyKomis, ale ze znaczkiem x pokazującym, że definiowane połączenie jeszcze nie działa. Rys. 10. Pojawi się nazwa źródła danych. 6. Wybrać z menu AutoCad'a: Baza Źródła danych Połącz. W oknie Wybierz obiekt z danymi, wskazać połączenie SamochodyKomis i kliknąć klawisz OK. Uzyskamy w definicji połączenia widok na tabele i kwerendy bazy danych Komis.mdb, rys. 11. mgr inż. Janusz Bonarowski, mgr inż. Jacek Jusis, dr inż. Grzegorz Linkiewicz 5
Rys. 11. Widać tabele i kwerendy. Od tej pory istnieje połączenie bazy danych z rysunkiem. Można, z poziomu AutoCad a, przeglądać (pierwszy przycisk w oknie Menedżera połączeń BD) i edytować (drugi przycisk w oknie Menedżera połączeń BD) bazę. Teraz należy zdefiniować Szablon połączenia, aby można było łączyć obiekty rysunkowe AutoCad a z rekordami tabel lub kwerend bazy danych. 7. Z menu AutoCad'a wybieramy Baza Szablony Nowy szablon połączenia. Zgłosi się okno Wybierz obiekt z danymi, jak na rys. 12. Rys. 12. Tworzymy nowy szablon połączenia. Klikamy kwerendę Po_1990 i przycisk Kontynuuj. Pojawi się okno dialogowe, Nowy szablon połączenia, rys. 13, gdzie możemy wpisać nową, własną nazwę połączenia lub pozostawić domyślną Po_1990Połączenie1 i nacisnąć przycisk Kontynuuj. mgr inż. Janusz Bonarowski, mgr inż. Jacek Jusis, dr inż. Grzegorz Linkiewicz 6
Rys. 13. Określenie nazwy Nowego szablonu połączenia. Pojawi się okno dialogowe Szablon połączenia, w którym zaznaczamy kratkę przy Sam_ID i klikamy OK., rys. 14. Podobnie jak przy tabelach tak i przy kwerendach, aby były możliwe połączenia obiekt rysunkowy rekord tabeli lub kwerendy bazy danych, należy móc jednoznacznie wskazać wymagany rekord w kwerendzie, którą na nasze potrzeby, możemy traktować podobnie jak tabelę. Unikalnym identyfikatorem rekordu jest pole Sam_ID. Rys. 14. Krok drugi. Po kliknięciu przycisku OK, w oknie Menedżera połączeń BD, pojawi się zdefiniowany uprzednio szablon połączenia, rys. 15 mgr inż. Janusz Bonarowski, mgr inż. Jacek Jusis, dr inż. Grzegorz Linkiewicz 7
Rys. 15. Szablon połączenia. Łączenie obiektów na rysunku z rekordami bazy danych 1. Po kliknięciu, w oknie Menedżera połączeń BD, przycisku Widok danych lub Edycja danych, AutoCad otwiera kwerendę Po_1990. 2. W kwerendzie należy wskazać (kliknąć) rekord z samochodem, któremu chcemy przyporządkować miejsce na parkingu, np. rekord pierwszy. 3. Kliknąć przycisk Połącz!, w oknie Widok danych. Okno zniknie, kursor przyjmie kształt kwadratu jak do wskazywania obiektów w programie AutoCad, w wierszu dialogowym AutoCad'a pojawi się napis: Wybierz obiekty należy wybrać przynajmniej jeden obiekt na rysunku, np. miejsce parkingowe nr 17 i zakończyć wybór klawiszem Enter (z klawiatury). Odnajdywanie na rysunku obiektów połączonych z rekordem 1. W tabeli Widok danych kliknij rekord (np. rekord 1), a następnie kliknij przycisk: Pokaż połączone obiekty na rysunku, obiekty związane z tym rekordem, w naszym przypadku miejsce parkingowe 17 zostanie wyróżnione linią kreskową. mgr inż. Janusz Bonarowski, mgr inż. Jacek Jusis, dr inż. Grzegorz Linkiewicz 8
Ćwiczenie tworzenia zapytań do bazy budowanych z programu AutoCad'a Pragniemy sprawdzić ile samochodów wyprodukowanych po 1995 roku i jakich marek, znajdują się w bazie. Posłużymy się zatem kwerendą Po_1990, do której mamy już połączenie i odfiltrujemy z niej samochody z datą produkcji po 1995 roku. W tym celu, w oknie Menedżera połączeń BD, zaznaczmy utworzone połączenie Po_1990Połączenie1 i kliknij przycisk Nowe zapytanie, pojawi się okno Nowe zapytanie. Możemy pozostawić domyślną nazwę lub wpisać własną i kliknąć przycisk Kontynuuj, rys. 16. Rys. 16. Określanie nazwy nowego zapytania. Pojawi się okno Edytora zapytań, rys. 17, w oknie tym możemy wybrać kilka rodzajów zapytań: Szybkie zapytanie, Zapytanie o zakres, Zaawansowanie zapytanie lub Zapytanie SQL. Zajmiemy się tylko pierwszymi trzema zapytaniami. Rys. 17. Szybkie zapytanie. mgr inż. Janusz Bonarowski, mgr inż. Jacek Jusis, dr inż. Grzegorz Linkiewicz 9
Wybierzmy Szybkie zapytanie i sprawdźmy ile jest samochodów wyprodukowanych po roku 1995. Uwaga! Aby zapytanie zadziałało bez zakłóceń lepiej jest zamiast Wykonaj wybrać przycisk Zachowaj, rys.17, a następnie w oknie Menedżera połączeń BD, wybierać przycisk Wykonaj zapytanie, efekt kwerendy przedstawia rys. 18. Rys. 18. Wynik kwerendy. Zapytanie o zakres Jeśli zamierzamy uzyskać listę samochodów wyprodukowanych po 1990 roku, których moc znamionowa mieści się w zakresie 100-120 KM - posłużymy się Zapytaniem o zakres. W tym celu (podobnie jak przy tworzeniu Szybkiego zapytania), w oknie Menedżera połączeń BD, zaznaczmy utworzone połączenie Po_1990Połączenie1 i kliknij przycisk Nowe zapytanie, pojawi się okno Nowe zapytanie, w którym wpisujemy własną nazwę zapytania Po_1990_Moc_100_120 i klikamy przycisk Kontynuuj. W oknie edytora zapytań, na zakładce Zapytanie o zakres, wpiszmy wymagany zakres mocy. Nie wykonujemy jednak zapytania lecz najpierw zapisujemy je przyciskiem Zachowaj, zamykamy okno edytora zapytań przyciskiem Zamknij, rys. 19. Rys. 19. Zapytanie o zakres. mgr inż. Janusz Bonarowski, mgr inż. Jacek Jusis, dr inż. Grzegorz Linkiewicz 10
Uruchamiamy zapytanie z Okna Menedżera połączeń BD, klikając 2 razy widoczne w nim zapytanie Po_1990_Moc_100_120. Efekt zapytania pokazuje rys. 20 Rys. 20. Efekt zapytanie o zakres. Zapytanie zaawansowane Jeśli zamierzamy sprawdzić, ile jest samochodów w bazie danych, wyprodukowanych po 1995 roku o mocy od 120 KM utworzymy Zapytanie zaawansowane. W tym celu (podobnie jak przy tworzeniu poprzednich zapytań), w oknie Menedżera połączeń BD, zaznaczmy utworzone połączenie Po_1990Połączenie1 i kliknij przycisk Nowe zapytanie, pojawi się okno Nowe zapytanie, w którym wpisujemy własną nazwę zapytania Po_1995_moc_od_120 i klikamy przycisk Kontynuuj, rys. 21 Rys. 21. Pierwszy krok definiowania zapytania. W oknie edytora zapytań wybierzmy zakładkę Zaawansowane zapytanie, rys.22, a następnie zdefiniujmy zapytanie. W kolumnie Pole, w pierwszym wierszu, po kliknięciu w nim, wybierzmy z listy rozwijalnej pole R_PROD, w kolumnie Operator wybierzmy z listy > Większe niż, w kolumnie Wartość wpiszmy 1995. Oba warunki połączymy operatorem logicznym And, wybierzmy zatem w kolumnie Logiczny operator And. Drugi wiersz skonfigurujemy następująco: kolumna Pole wybieramy MOC, kolumna Operator wybieramy >= Wieksze lub równe, w kolumnie Wartość wybieramy lub wpisujemy 120. Nie wykonujemy jednak zapytania lecz najpierw zapisujemy je przyciskiem Zachowaj i zamykamy okno edytora zapytań przyciskiem Zamknij, rys. 22. mgr inż. Janusz Bonarowski, mgr inż. Jacek Jusis, dr inż. Grzegorz Linkiewicz 11
Rys. 22. Zaawansowane zapytanie Podwójne klikniecie w oknie Menedżera połączeń BD, na utworzonym zapytaniu zwraca na jego efekt, rys. 23 Rys. 23. Efekt zapytania zaawansowanego. mgr inż. Janusz Bonarowski, mgr inż. Jacek Jusis, dr inż. Grzegorz Linkiewicz 12
Wstawianie etykiet z bazy do rysunku Zadanie. Pobierać z bazy i umieszczać na rysunku Markę, Model i rok produkcji samochodu przypisanego do miejsca parkingowego. Te informacje z bazy nazywamy etykietami. 1. Tworzenie szablonu etykiet Aby utworzyć szablon etykiet wybieramy z menu Baza Szablony Nowy szablon etykiety. Z okna dialogowego wybieramy, wcześniej utworzony, szablon połączenia, rys. 24. Po kliknięciu przycisku Kontynuuj pojawi się okno pozwalające nadać nazwę nowemu szablonowi, rys. 25. Rys. 24. Pierwszy krok przy tworzeniu etykiet. Rys. 25. Drugi krok - nazywanie szablonu. Możemy nadać swoją nazwę szablonu lub pozostać przy domyślnej, następnie klikamy przycisk Kontynuuj. Pojawi się okno dialogowe Szablon etykiety, rys. 26. Rys. 26. komponowanie etykiety. W oknie tym wybieramy z listy rozwijalnej Pole: wymagane pola etykiety, w naszym przypadku kolejno MARKA, MODREL i R_PROD, a następnie klikamy przycisk Dodaj, który przenosi je do okna edycyjnego. Rys. 27. Formatowanie etykiety na zakładce Znak. mgr inż. Janusz Bonarowski, mgr inż. Jacek Jusis, dr inż. Grzegorz Linkiewicz 13
W oknie tym możemy także wpisywać, wg potrzeby, dowolne teksty. W naszym przypadku pomiędzy markę a model wpisano spację, a pomiędzy model a rok produkcji wpisano przecinek i spację. Po wykreowaniu wymaganej etykiety możemy jeszcze sformatować tekst wybierając zakładkę Znak, rys. 27, na której zmieniono rozmiar tekstu do maksymalnej wartości 1.6. Po ukończeniu tworzenia etykiety klikamy przycisk OK, zamykający okno szablonu etykiety i dodający do okna Menedżera połączeń BD nowy szablon etykiety, rys. 28. 2. Dodawanie etykiet do rysunku W oknie Menedżera połączeń BD wybieramy utworzony szablon etykiet i klikamy przycisk Edycja danych, rys. 28. Otwarte zostanie okno Widok danych. W oknie tym rozwijamy listę na przycisku z opisem Tworzy dołączoną etykietę i wybieramy Utwórz dołączone etykiety. Możemy teraz łączyć etykiety z obiektami na rysunku. Jeśli zamierzamy samochodowi o wartości pola Sam_ID = 1017 przyporządkować miejsce parkingowe 17 należy: 1. Zaznaczyć rekord z polem Sam_ID = 1017 (pierwszy rekord). 2. Kliknąć przycisk z opisem Tworzy dołączoną etykietę. Okno Widok danych zniknie, w wierszu dialogowym AutoCad'a pojawi się polecenie Wybierz obiekty:, należy wskazać miejsce parkingowe nr 17 i nacisnąć klawisz Enter. Przy obiekcie pojawi się, pisana bardzo małymi literami etykieta. Rys. 28. Etykieta pobrana z bazy i wstawiona. mgr inż. Janusz Bonarowski, mgr inż. Jacek Jusis, dr inż. Grzegorz Linkiewicz 14