20/09/ Języki programowania 1 Piotr Górczyński Kreator form
20/09/ Wstęp Kreator form danych służy do stworzenia formy, która umożliwia edycję danych. Programista definiuje tylko źródło danych i typ formy, a kreator tworzy graficzną formę oraz procedury jej obsługi.
20/09/ Krok 1 - Dodanie formy do projektu 1.Z menu Project wybieramy polecenie Add form 2.Z okna dialogowego, które się pojawi wybieramy z zakładki New ikonę VB Data Form Wizard i naciskamy Open
20/09/ Krok 2 - Skorzystanie z gotowego profilu Stworzone formy danych można zapisać w profilu. Ponieważ dodajemy formę po raz pierwszy, to jeszcze nie mamy żadnych form danych zapisanych, więc naciskamy przycisk Next.
20/09/ Krok 3 - Sposób definicji połączenia z bazą danych Access Połączenie będzie zdefiniowane za pomocą ścieżki do pliku bazy danych MS Access Remote (ODBC) Połączenie będzie zdefiniowane za pomocą Data Source Name (DSN) wskazującego bazę danych zdefiniowanych w źródłach ODBC. Dzięki temu forma może być podłączona do dowolnej bazy danych, która została zdefiniowana w ODBC.
20/09/ Krok 4 - Wybranie bazy danych W zależności od sposobu definicji połączenia wybranego w kroku poprzednim: Access Pokaże się okno dialogowe, w którym musimy wpisać lub wskazać za pomocą przycisku Browse ścieżkę i plik bazy MS Access UWAGA: Połączenie może nie działać dla nowych wersji MS Access. Należy wtedy zdefiniować źródło w ODBC (patrz prezentacja JP1-Laczenie z baza danych.ppt). Remote (ODBC) Pokaże się okno dialogowe, w którym musimy wybrać już zdefiniowane DSN, lub zdefiniować źródło ODBC wpisując odpowiednie informacje do pól tekstowych Database, Driver i Server.
20/09/ Krok 5 - Nazwa i wygląd formy oraz sposób zaprogramowania procedur jej obsługi W polu What name... wpisujemy nazwę formy (zwyczajowa konwencja frmNazwa) W liście Form Layout wybieramy wygląd formy: Single record - na formie będzie tylko pojedynczy rekord Grid - na formie będzie arkusz rekordów Master/detail - na formie będzie jeden rekord z tabeli master i arkusz rekordów powiązanych z tabeli detail W grupie Binding Type wybieramy ADO Code, dzięki czemu będą jawnie stworzone wszystkie procedury obsługi formy i będzie można je w razie potrzeby zmieniać
20/09/ Krok 6 - Źródło rekordów i pola Z listy rozwijanej Record Source wybieramy tabelę, z której mają być pobierane rekordy Dostępne pola pokazują się w liście Available Fields Za pomocą strzałek > i >> przenosimy do listy Selected Fields wybrane pola, które mają być pokazane na formie UWAGA! Jeżeli w poprzednim kroku wybrano wygląd formy Master/Detail, to okno z definicją źródła rekordów i pól pokaże się dwa razy - najpierw dla tabeli Master, a potem Detail
20/09/ Krok 7 - Przyciski W tym kroku należy odznaczyć przyciski, które nie mają się pokazywać na formie. Ich funkcja jest następująca: Add - dodaj rekord Edit - edytuj rekord Delete - usuń rekord Refresh - odśwież Close - zamknij formę
20/09/ Krok 8 - Zapisanie ustawień w pliku Profile Jeśli nie chcemy zachowywać ustawień naciskamy przycisk Next Ustawienia bieżącej formy można zapisać w pliku nazywanym Profile. Dzięki temu jeśli będziemy chcieli stworzyć podobną formę, będzie można z pliku Profile skorzystać w kroku 2, wtedy wszystkie ustawienia będą takie same jakie wybraliśmy dla bieżącej formy
20/09/ Krok 9 - Zakończenie Po dodaniu formy do projektu i zakończeniu pracy kreatora VB informuje nas oknem dialogowym. Naciskamy OK.
20/09/ Plik formy Domyślnie plik formy przyjmuje taka samą nazwę, jaką wprowadziliśmy dla formy w kroku 5. Na rysunku widać formę frmWydawnictwa i jej plik w oknie projektu frmWydawnictwa.frm
20/09/ Modyfikacja sposobu połączenia ze źródłem danych Sposób połączenia z bazą danych jest zdefiniowany w procedurze Form_Load() (patrz KOD #1) Jeżeli połączenie jest zdefiniowane globalnie dla całego programu na przykład w frmMain.Connection, to KOD #1 należy przerobić do postaci pokazanej w KOD #2. Przerobienie polega na: usunięciu definicji połączenia do bazy danych zmiany połączenia w zestawie danych adoPrimaryRS 'KOD #1 Private Sub Form_Load() Dim db As Connection Set db = New Connection db.CursorLocation = adUseClient db.Open "PROVIDER=MSDASQL;dsn=SOB2;uid=;pwd=;" Set adoPrimaryRS = New Recordset adoPrimaryRS.Open "select Wydawnictwo from Wydawnictwa", db, adOpenStatic, adLockOptimistic Set grdDataGrid.DataSource = adoPrimaryRS mbDataChanged = False End Sub 'KOD #2 Private Sub Form_Load() Set adoPrimaryRS = New Recordset adoPrimaryRS.Open "select Wydawnictwo from Wydawnictwa", frmMain.Connection, adOpenStatic, adLockOptimistic Set grdDataGrid.DataSource = adoPrimaryRS mbDataChanged = False End Sub
20/09/ Literatura vb4all.canpol.pl