Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Jan Aleksander Wierzbicki

Podobne prezentacje


Prezentacja na temat: "Jan Aleksander Wierzbicki"— Zapis prezentacji:

1 Jan Aleksander Wierzbicki
Bazy Danych wykład VII Jan Aleksander Wierzbicki

2 Interfejs użytkownika
procedury zdarzeń (VBA) podstawowe można wykonywać przy użyciu kreatora bardziej zaawansowane – tworzymy „ręcznie” kod funkcje własne użytkownika

3 USTAWIENIE „FOCUSU” NA DANYM POLU
Sub Przycisk4_Click () On Error GoTo Err_Przycisk4_Click DoCmd GoToRecord , , A_NEWREC wydawnictwo.SetFocus Exit_Przycisk4_Click: Exit Sub Err_Przycisk4_Click: MsgBox Error$ Resume Exit_Przycisk4_Click End Sub nowy rekord aktywne pole

4 WŁĄCZENIE MOŻLIWOŚCI WYKONYWANIA EDYCJI DANYCH W FORMULARZU
Sub EDYTUJ_Click () Me.AllowEdits = True End Sub WYŁĄCZENIE MOŻLIWOŚCI WYKONYWANIA EDYCJI DANYCH W FORMULARZU Me.Allow Edits = False MsgBox "Koniec" zmienna logiczna

5 PROCEDURA OBSŁUGI ZINTEGROWANEGO PRZYCISKU UMOŻLIWIAJĄCEGO WŁĄCZENIE I WYŁĄCZENIE MOŻLIWOŚCI EDYCJI DANYCH FORMULARZA Private Sub p1_Click() If Me.AllowEdits = False Then p1.Caption = "koniec edycji" Me.AllowEdits = True Else p1.Caption = "edycja" DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70 Me.AllowEdits = False End If End Sub tytuł przycisku zapisanie rekordu

6 PROCEDURA ZAMYKAJĄCA AUTOMATYCZNIE PRZY ZAMYKANIU DANEGO FORMULARZA DRUGI OTWARTY FORMULARZ, np. formularz Książki Private Sub Form_Close() If SysCmd(acSysCmdGetObjectState, acForm, "KSIAZKI") <> 0 Then DoCmd.Close acForm, "KSIAZKI" End If End Sub sprawdza czy dany formularz jest otwarty

7 {do formularza - zdarzenie przed aktualizacją}
PROCEDURA SPRAWDZAJĄCA CZY SĄ WYPEŁNIONE POLA „WYDAWNICTWO” ORAZ „CENA”. Gdy pole wydawnictwo jest wypełnione, a pole cena nie, pojawia się komunikat z możliwością powrotu do wypełniania pola cena. {do formularza - zdarzenie przed aktualizacją} Sub Form_BeforeUpdate (cancel As Integer) Dim komunikat As String Dim opcja As Integer Dim wybor As byte If Not IsNull(wydawnictwo) And IsNull(cena) Then komunikat = "Brak ceny" opcja = vbquestion + vbokcancel wybor = MsgBox(komunikat, opcja) If wybor = vbcancel Then cena.SetFocus cancel = True End If End Sub możliwość wyboru: akceptacji lub anulowania jeśli wybrane Anuluj, następuje powrót - ponowna możliwość wpisania ceny

8 {do pola cena - zdarzenie po aktualizacji} Sub cena_AfterUpdate ()
PROCEDURA wypełniająca automatycznie pole „NUMER WYDANIA” w zależności od wartości w polu „CENA” {do pola cena - zdarzenie po aktualizacji} Sub cena_AfterUpdate () Select Case cena Case 50 To 100 [numer wydania] = 2 Case Is > 100 [numer wydania] = 3 End Select End Sub wpisywana wartość jest warunkowana od zadanego przypadku

9 podformularz ma dane związane z formularzem głównym
Formularz – podformularz (wyskakujący) formularz główny podformularz ma dane związane z formularzem głównym

10 PROCEDURY UMOŻLIWIAJĄCE KOPIOWANIE KLUCZA GŁÓWNEGO DO PODFORMULARZA WYSKAKUJĄCEGO PRZY DOPISYWANIU DANYCH Option Compare Database Option Explicit Public klas As String ___________________________________________ Private Sub uczniow_Click() On Error GoTo Err_uczniow_Click Dim stDocName As String Dim stLinkCriteria As String stDocName = "uczniowie_pdf" klas = Me![id_klasy] stLinkCriteria = "[id_klasa]=" & Me![id_klasy] DoCmd.OpenForm stDocName, , , stLinkCriteria Exit_uczniow_Click: Exit Sub Err_uczniow_Click: MsgBox Err.Description Resume Exit_uczniow_Click End Sub formularz główny zmienna globalna przypisanie wartości zmiennej globalnej

11 Private Sub nowy_rec_Click() On Error GoTo Err_nowy_rec_Click
DoCmd.GoToRecord , , acNewRec [id_klasa] = Form_klasa_gl.klas Exit_nowy_rec_Click: Exit Sub Err_nowy_rec_Click: MsgBox Err.Description Resume Exit_nowy_rec_Click End Sub podformularz wczytanie wartości ze zmiennej globalnej

12 FUNKCJA WYŚWIETLAJĄCA KOMUNIKAT
Option Compare Database 'Użyj porządku bazy danych do porównania ciągów znakowych Function komunikat() MsgBox "Okno komunikatu!" End Function

13 FUNKCJA LICZĄCA PIERWIASTEK Function pierw() As Double
Function pierw() As Double Komunikat = "Podaj liczbę" Tytul = "Pierwiastek" Domyslnie = "1" wczytane = InputBox(Komunikat, Tytul, Domyslnie) pierw = Sqr(wczytane) MsgBox "obliczony pierwiastek" End Function wczytanie zadanej liczby

14 Graf formularzy i raportów
formularz startowy - rozprowadzający formularz I formularz II raport I formularz III raport II

15 Koniec wykładu VII


Pobierz ppt "Jan Aleksander Wierzbicki"

Podobne prezentacje


Reklamy Google