wyk7 2

background image

Bazy Danych

wykład VII

Jan Aleksander Wierzbicki

background image

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

background image

Graf formularzy i

raportów

formularz startowy

- rozprowadzający

formularz I

formularz II

raport I

formularz III

raport II

background image

Otwieranie formularza i raportu

DoCmd.OpenForm

nazwa_formularza[,widok][,nazwa_filtru]
[,warunek_WHERE] [,tryb_danych][,tryb_okna]

Np. widok - acDataForm, acFormDS,

tryb danych, okna - acFormReadOnly,

acIcon

DoCmd.OpenReport

nazwa-raportu[,widok][,nazwa-filtru][,warunek-
WHERE
]

Chodzenie po rekordach formularza

(rekord następny, poprzedni, pierwszy, ostatni,
nowy)

DoCmd.GoToRecord

, ,

acFirst

(acPrevious,

acNext, acLast, acNewRec)

background image

Zamykanie obiektów

(np. Formularza)

DoCmd.Close

– bieżący,

DoCmd.Close

acForm, „Ksiazki"

– zadany

Uruchomienie kwerendy

DoCmd.OpenQuery

nazwa-kwerendy, acNormal,

acEdit

Filtrowanie zawartości

formularza

DoCmd.ApplyFilter

, "[Rok wydania]>=Forms!

[Ksiazki]![Data]"
[Data]

– zadane pole tekstowe

DoCmd.ShowAllRecords

– wszystkie rekordy

background image

PROCEDURA ZAMYKAJĄCA AUTOMATYCZNIE

PRZY ZAMYKANIU DANEGO FORMULARZA

DRUGI OTWARTY FORMULARZ, np. formularz

Książki

{do formularza - zdarzenie zamknięcie
formularza}

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

background image

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 If
End Sub

Możliwość wyboru:
akceptacji lub anulowania

Jeśli wybrane Anuluj, następuje powrót

- ponowna możliwość wpisania ceny

background image

PROCEDURA wypełniająca automatycznie

pole „UWAGI” 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
[uwagi] = ”tania”
Case Is > 100
[uwagi] = ”droga”
End Select
End Sub

Wpisywana wartość jest warunkowana

od zadanego przypadku

background image

Formularz – podformularz

(wyskakujący)

formularz

główny

podformularz

ma dane związane

z formularzem

głównym

background image

KOPIOWANIE WARTOŚCI ZADANEGO KLUCZA

GŁÓWNEGO DO PODFORMULARZA

WYSKAKUJĄCEGO (KLUCZ OBCY) PRZY

DOPISYWANIU DANYCH

{do przycisku nowy rekord - zdarzenie kliknięcie}

Private Sub nrek_Click()
On Error GoTo Err_nrek_Click

DoCmd.GoToRecord , , acNewRec
[wydawnictwo] = Forms![wydawnictwo]![skrot]
Exit_nrek_Click:
Exit Sub

Err_nrek_Click:
MsgBox Err.Description
Resume Exit_nrek_Click
End Sub

Przypisanie wartości

dla klucza obcego

background image

Private Sub Form_Open(Cancel As Integer)
   Dim Haslo as String
   Haslo = InputBox("Podaj hasło: ")
   If Haslo <>”Bazy" Then
      MsgBox "Niepoprawne hasło"
      Cancel = True
   End If
End Sub

Hasło na

otwarcie

formularza

Zdarzenie do formularza –

Przy otwarciu

background image

Przy usunięciu

Zdarzenie do formularza –

Przy usunięciu

Potwierdzenie, czy na pewno usunąć
bieżący rekord

Private Sub Form_Delete(Cancel As Integer)
If MsgBox("Czy na pewno usunąć?", vbYesNo)
= vbNo Then Cancel = True
End If
End Sub

background image

PROCEDURA dopisująca nowe wydawnictwo z
poziomu formularza opartego na tabeli
Ksiazki.
Wartość pola Wydawnictwo (klucz obcy) jest
wyświetlana poprzez pole kombi – zbudowany
odnośnik.
 
opcja

Dane|Ogranicz do listy

– włączona na

TAK

{do pola kombi wydawnictwo
- zdarzenie przy wartości spoza listy}

background image

Private Sub WYDAWNICTWO_NotInList(

NewData

As String,

Response

As Integer)

Dim ctl As Control
Set ctl = Me![WYDAWNICTWO]

If MsgBox("Czy chcesz dodać nowe wydawnictwo?",
vbYesNo, "UWAGA") = vbYes Then

DoCmd.RunSQL "INSERT INTO Wydawnictwa(skrót)
VALUES('" &

NewData

& "')"

Response

= acDataErrAdded

Else

Response

= acDataErrContinue

ctl.Undo
End If | End Sub

Wartość wpisana do pola kombi

Okno komunikatu – wybór działania

Dodanie rekordu

do tabeli

Wydawnictwa

Cofnięcie wpisu, rekord

nie zostanie dodany

background image

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

background image

FUNKCJA LICZĄCA PIERWIASTEK
 

Function

pierw() As

Double

Dim komunikat As String
Dim tytuł As String
Dim domyslnie As Integer
Dim wczytane 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

background image

Graf formularzy i

raportów

formularz startowy

- rozprowadzający

formularz I

formularz II

raport I

formularz III

raport II

background image

Koniec wykładu VII


Document Outline


Wyszukiwarka

Podobne podstrony:
af-wyk7, FIR UE Katowice, SEMESTR V, Analiza finansowa
fp-wyk7, UE Katowice FiR, finanse publiczne
wyk7
ban-wyk7, UE Katowice FiR, bankowość
wyk7 Wat
di-wyk7
isd wyk7
mik-wyk7, UE Katowice FiR, mikroekonomia
wyk7 IR
Farmakologia tekst ?rmakologia Wyk7
wyk7 Wat
wyk7
EKONOMIA wyk7
KZP wyk7 Organizacja ucząca się, Archiwum, Semestr VIII, Ekonomia menedżerska
fpr-wyk7, FIR UE Katowice, SEMESTR IV, Finanse przedsiębiorstw, Finanse Przedsiębiorstwa
fin-wyk7, Finanse

więcej podobnych podstron