BAZY DANYCH II - SQL, Formularze Michał Turek Cwiczenie 4 Częsć 1) ( częsć 3 z ćwiczenia 3 ) Modyfikacja zawartosci tabeli – posługujac się np. wczesniejsza tabela zawodników wypróbuj działanie klauzul: - INSERT INTO Dodawanie nowych wierszy do tabeli. Przykład (z okresleniem kolumn docelowych): INSERT INTO zawodnicy (imię, nazwisko) VALUES ("Jan", "Kowalski"); bez okreslania kolumn docelowych (gdy znamy kolejnosć kolumn i wiemy co i gdzie zostanie zapisane) INSERT INTO zawodnicy VALUES ("Jan", "Kowalski",0); - DELETE FROM Usuwanie wierszy. Przykład: DELETE FROM zawodnicy WHERE nazwisko LIKE "Kowalski" - UPDATE Modyfikacja wierszy. Przykład: UPDATE zawodnicy SET Nazwisko = "Kowalski" WHERE nazwisko = "Kowalllski"; Częsć 2) Modyfikacja struktury tabeli. Wypróbuj działanie klauzul - CREATE TABLE Tworzenie nowej tabeli Przykład: CREATE TABLE kursanci (ID INTEGER, Imię TEXT, nazwisko TEXT, [Data Urodzenia] DATETIME, CONSTRAINT ograniczenie1 PRIMARY KEY (ID)); Przy tworzeniu tabeli zastosuj klauzulę definiujaca ograniczenia (CONSTRAINT) w połaczeniu z PRIMARY KEY | UNIQUE | NOT NULL. Sprawdź skutek stosowania takiej konstrukcji. - ALTER TABLE - ADD COLUMN , DROP COLUMN Modyfikacja struktury tabeli. Przykład: ALTER TABLE kursanci ADD COLUMN punkty INTEGER; - DROP TABLE Usunięcie tabeli Przykład: DROP TABLE kursanci; SELECT INTO Tworzenie tabeli na podstawie wyników zapytania Przykład: SELECT * INTO [pracownicy dzialu Reklama] FROM pracownicy WHERE dzial=2; Częsć 3) Tworzenie formularzy Z widoku "Formularze" bazy danych można tworzyć nowy formularz. Formularz można utworzyć automatycznie (za posrednictwem kreatora) na podstawie struktury tabeli bazy danych - gdy potrzebujemy jedynie w prosty sposób przegladać i modyfikować rekordy w danej tabeli. Przeważnie jednak za posrednictwem formularza wykonuje się operacje bardziej specjalistyczne. Taki formularz należy zaprojektować ręcznie prz pomocy "Widoku projekt". Projektowanie formularza polega przede wszystkim na osadzaniu w nim formatek majacych na celu posredniczenie w wymianie informacji pomiędzy baza danych a użytkownikiem lub przejmujacych funkcje sterowania interfejsem użytkownika (np przejscie do innego formularza). Wywolywanie akcji (makro, zapytanie SQL) z formularza Dołacz do formularza przycisk polecenia. Automatycznie uruchomiony kreator przycisków polecenia poprosi o podanie akcji, jaka ma być realizowana po nacisnięciu przycisku przez uzytkownika. Akcja taka może się wiazać z edycja lub przegladaniem rekordów (jesli dany formularz jest sprzężony z tabela), ze sterowaniem interfejsem (grupa 'Operacje na formularzach'), generowaniem raportów itp. W grupie 'różne' znajduja się także dwie bardzo istotne funkcje: "Uruchom makro" i "Uruchom SQL". Dzięki nim można uruchomić dowolna procedurę lub zapytanie SQL - wyzwalane bezposredno z formularza (przz użytkownika). Gdy wybierzemy taka funkcję, mależy podać nazwę wczesniej przygotowanego makro lub zapytania SQL do uruchomienia. Dostęp do formatek formularza z poziomu makra i zapytania SQL Najbardziej uniwersalnym sposobem na dostęp do wartosci zapisanych w formatkach formularza jes użycie kolekcji 'Forms' (formularze). Gdy np. kwerenda została uruchomiona w wyniku nacisnięcia guzika formularza, to w celu otrzymania wartsci wpisanych w formatkach można w niej zastosować konstrukcję: Forms![nazwa formularza]![nazwa formatki]. Przykład: Zakładamy, że istnieje tabela 'osoby' z polami 'imie' i 'nazwisko'. Tworzymy formularz 'form' z polami tekstowymi 'im' i 'nazw', oraz guzikiem 'guzik'. Guzik konfigurujemy tak, aby po jego nacisnieciu zostało uruchomione wczesniej utworzone zapytanie SQL o tresci: INSERT INTO osoby ( imie, nazwisko ) VALUES (Forms![form]![im], Forms![form]![nazw]); Gdy użytkownik nacisnie guzik, nastapi dodanie do tabeli 'osoby' nowego rekordu o wartosciach pól 'imie' i 'nazwisko' pobranych z pól tekstowych 'im' i 'nazw' formularza 'form' (czyli danych wprowadzonych przez użytkownika). Postępujac analogicznie do tego przykładu można zbudować dowolny interfejs użytkownika bazujacy na zapytaniach SQL.