ivica kartelo - visual basic baze podataka
TRANSCRIPT
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
1/180
IIIvvviiicccaaaKKKaaarrrttteeelllooo
VViissuuaallBBaassiiccbbaazzee
ppooddaattaakkaaza 8. razred osnovne kole
KKKOOOLLLAAAEEE---999222SSSPPPLLLIIITTTSSSpppllliiittt222000000222...
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
2/180
2
Mojoj dragoj majci i mom dragom ocu!
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
3/180
3
Autor:Ivica Kartelo, dipl. ing.
Urednik:Ivica Kartelo
Naslov:
Visual Basic baze podatakaNakladnik:kola E-92 d.o.o.
Fax/Tel.: 021 569-777, 021 569-333, E-mail: [email protected]
web: http://www.e92.hrZa nakladnika:
Tisak:
Dalmacija papir Split
Ivica Kartelo
kod nakladnika.Ivica Kartelo
I izdanje/Naklada: 500 kom.Split, srpanj 2002.
Sva imena firmi, osoba, proizvoda i usluga koja se pojavljuju u knjizi i uprimjerima koji prate knjigu na Internetu su izmiljena.Autor i Nakladnik ne snose odgovornost za posljedice koritenja ove knjige, niti knjigu, tako i na pohranjene datoteke na Internetu.
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
4/180
4
ISBN 953 - 6245 - 14 - 4
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
5/180
5
UVOD........................................................................................................................... ............... - 1 -
Ivamar.pdv..................................................................................................................... ................- 1 -ivamar.mdb..................................................................................................................... ...............- 1 -
LEKCIJA 1...................................................................................................................... ........... - 2 -
VISUAL BASIC APLIKACIJA....................................................................................................... - 2 -Ivamar.vbp.......................................................................................................................... - 2 -
LEKCIJA 2................................................................................................................................. - 3 -
MICROSOFT ACCESS BAZA PODATAKA..................................................................................... - 3 -ivamar.mdb......................................................................................................................... - 3 -
Gotova baza na Internetu...............................................................................................................- 3 -Podaci o bazi ivamar.mdb ....................................................................................................... ...... - 3 -Sve tablice i njihove relacije..........................................................................................................- 3 -Tablica 'Administracija'.................................................................................................................- 4 -Tablica 'Knjige'..............................................................................................................................- 4 -Tablica 'Kupci'...............................................................................................................................- 5 -Tablica 'StavkeNarudzbe' ....................................................................................................... ....... - 5 -
Unos podataka u tablice..................................................................................................... - 5 -Unos podataka u tablicu 'Administracija'.......................................................................................- 5 -
Unos podataka u tablicu 'Kupci' ................................................................................................ .... - 6 -Unos podataka u tablicu 'Knjige' ............................................................................................... .... - 6 -Unos podataka u tablicu 'StavkeNarudzbi' .................................................................................... - 6 -
LEKCIJA 3................................................................................................................................. - 7 -
VEZA IVAMAR.VBP IVAMAR.MDB.......................................................................................... - 7 -Microsoft Access i Jet ......................................................................................................... .......... - 7 -Data control, DAO i ADO.............................................................................................................- 8 -Dodavanje nove forme projektu .................................................................................................. .. - 8 -Dodavanje kontrola na formu frmAdministrator ......................................................................... - 11 -Proirivanje izbornika Ivamar-a ................................................................................................ .. - 14 -
.................................................................- 16 - .....................................................................................- 17 -
Kako radi kontrola Data .................................................................................................. - 18 -Povezivanje forme frmAdministrators tablicom Administracijau bazi ivamar.mdb-18 -
LEKCIJA 4............................................................................................................................... - 24 -
FORMA 'LOGIN' ...................................................................................................................... - 24 -Nova forma..................................................................................................................................- 24 -Dodavanje kontrola ............................................................................................................. ........ - 25 - .............................................................................................- 28 -Kreiranje standardnog modula.....................................................................................................- 30 -
Deklariranje globalnih varijabli u sekciji General Declarations standardnog modula.................- 31 -
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
6/180
6
LEKCIJA 5 ............................................................................................................................... - 33 -
PISANJE KDA ZA FORMU LOGIN ............................................................................................ - 33 -Dodavanje kda gumbu Cancel .................................................................................................. - 33 -Dodavanje kda gumbu OK.............................................................. .......................................... - 34 -Testiranje forme Login ne autorizirani korisnik....................................................................... - 37 -Testiranje forme Login autorizirani korisnik je zaboravio zaporku ......................................... - 38 -
Testiranje forme Login autorizirani korisnik ........................................................................... - 39 -
............................................................................ - 40 -
LEKCIJA 6 ............................................................................................................................... - 42 -
PROMJENE NA FORMI ADMINISTRATOR .................................................................................. - 42 -Provjerite svojstva od forme Administrator ................................................................................ - 47 -
LEKCIJA 7 ............................................................................................................................... - 48 -
FORMA ADMINISTRATOR KDIRANJE .................................................................................. - 48 - .................................................... - 48 -
............................................ - 48 -
............................................................ - 49 -
............................................................... - 49 -
.................................................... - 52 - .............................................. - 53 -
........................................................... - 53 - ...................................................... - 54 -
........................................................... - 55 -
............................................................. - 58 -
........................................................ - 58 -
LEKCIJA 8 ............................................................................................................................... - 60 -
FORMA KNJIGE....................................................................................................................... - 60 -Dodavanje kontrola formi Knjige ............................................................................................... - 60 -
.................................. - 62 -Provjerite svojstva od forme Knjige............................................................................................ - 65 -
LEKCIJA 9 ............................................................................................................................... - 67 -
KNJIGE - KDIRANJE .............................................................................................................. - 67 -
................................................................ - 67 -
........................................................ - 67 - ............................................................ - 67 -
............................................................... - 67 - ....................................................... - 68 -
........................................................... - 69 -
...................................................... - 69 -
........................................................... - 69 -
............................................................. - 70 - ........................................................ - 71 -
.............................................................................. - 71 -
LEKCIJA 10 ............................................................................................................................. - 74 -
FORMA KUPCI ........................................................................................................................ - 74 -Dodajmo formu frmKupci ......................................................................................................... . - 74 -Izgradnja forme Kupci .......................................................................................................... ...... - 74 -
KODIRANJE FORME KUPCI ...................................................................................................... - 81 -
................................................................. - 81 -
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
7/180
7
.........................................................- 82 - ............................................................- 82 - ................................................................- 82 - ............................................................- 83 - .....................................................- 84 - .................................................- 84 - ..........................................................- 84 -
...........................................- 84 -
.....................................................- 85 - ............................................................- 85 -
.......................................................- 86 -
...........................................................- 86 -
..............................................................- 87 -
........................................................- 87 -Kodiranje procedure mnuKupci_Click() ..................................................................................... - 88 -
LEKCIJA 11............................................................................................................................. - 89 -
FORMA 'STAVKENARUDZBE' .................................................................................................. - 89 -
Kreiranje forme StavkeNarudzbe ................................................................................................ - 89 -Dodavanje kontrola formi StavkeNarudzbe.................................................................................- 89 -Svojstva kontrola.........................................................................................................................- 92 -
KODIRANJE FRMSTAVKENARUDZBE ...................................................................................... - 97 -
.................................................- 97 -
.........................................- 97 -
............................................................- 97 - ..............................................................- 98 -mnuStavkeNarudzbe_Click() ...................................................................................................... - 98 -
LEKCIJA 12............................................................................................................................. - 99 -
S .............................................................................................. - 99 -Micrososft Access baza podataka................................................................................................- 99 -Forma Login..............................................................................................................................- 100 -Naredbe izbornika Zaposlenici.................................................................................................. - 100 -Forma Administrator ............................................................................................................ ..... - 101 -Forma Knjige.............................................................................................................................- 101 -Forma Kupci..............................................................................................................................- 102 -Forma StavkeNarudzbe ........................................................................................................... .. - 103 -Sljedi... ...................................................................................................................... ................ - 103 -
LEKCIJA 13........................................................................................................................... - 104 -
POVRATAK FORMI GLAVNIOBRAZAC ................................................................................... - 104 -
Ugradnja gumba 'Ovo kupujem' ................................................................................................ - 104 -Dodavanje novog kda gumbu cmdIzracunaj............................................................................- 105 -Kreiranje forme PitanjaKupcu...................................................................................................- 106 -Dodavanje kontrola formi PitanjaKupcu...................................................................................- 106 -Kdiranje forme PitanjaKupcu..................................................................................................- 109 -
LEKCIJA 14........................................................................................................................... - 115 -
FORMA TRAZIKUPCA........................................................................................................... - 115 -Kdiranje forme TraziKupca.....................................................................................................- 118 -
LEKCIJA 15........................................................................................................................... - 122 -
FORMA NOVIKUPAC ............................................................................................................ - 122 -Kodiranje forme NoviKupac ..................................................................................................... - 129 -
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
8/180
8
to dalje... ................................................................................................................... .............. - 132 -
LEKCIJA 16 ........................................................................................................................... - 133 -
P ........................................................................................................... - 133 -Dodavanje dvije kontrole Data formi GlavniObrazac ............................................................... - 133 -Kreiranje subprocedure PunjenjeListBox ................................................................................. - 134 -Promjene u proceduri Form_Load() forme GlavniObrazac ...................................................... - 137 -
Dodavanje globalne varijable za odabir boje ............................................................................ - 138 -Globalna zamjena m_lngBojaPozadine s g_lngBojaPozadine.................................................. - 138 -Upis kda u proceduru Load..................................................................................................... - 139 -
........................................ - 140 -Promjene varijabli u formi frmGlavniObrazac.......................................................................... - 140 -Kreiranje funkcije CijenePronadji............................................................................................. - 141 -Promijene u proceduri cmdIzracunaj_Click................................... ........................................... - 144 -Promjene kda cmdPonisti ....................................................................................................... - 151 -
LEKCIJA 17 ........................................................................................................................... - 153 -
U ....................................................................................................... - 153 -
Promjene vrijednosti svojstva Tag od chkFormatKnjige .............................................. ............ - 153 -Kreiranje funkcije IDknjigePronadji....................... .................................................................. - 153 -Kreiranje subprocedure AzuriranjeStavki................................................................................. - 155 -Promjene kda cmdOvoKupujem............................................................................................. - 160 -
LEKCIJA 18 ........................................................................................................................... - 162 -
T ........................................................................................................... - 162 -Kreiranje subprocedure TiskajNarudzbu .................................................................................. - 162 -Promjena kda gumba cmdOvoKupujem .............................................. ................................... - 165 -Access Keys.................................................................................................................... .......... - 166 -
Testiranje programa ....................................................................................................... - 167 -
Otkrivanje nepravilnosti u probnom periodu.................................................................. - 167 -Pitanje za kraj... ............................................................................................................. ........... - 169 -Odgovor... .................................................................................................................... ............. - 169 -Toliko smo puta... ............................................................................................................. ........ - 169 -
Na kraju .......................................................................................................................... - 169 -
Kako dalje?.................................................................................................................... - 170
LITERATURA ...................................................................................................................... - 171
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
9/180
9
O autoruIvica Kartelo je suvlasnik kole "E-92" i ustanove "Kartelo", ustanove za
Spomenimo samo neke njegove knjige: Visual Basic 6 za 8. razred, JavaScript za Internet, FrontPage 2000, Word XP, Excel XP, Access 2000, Windows ME,CorelDraw, Adobe Photoshop itd.Osim pisanja knjiga i predavanja u "E-92", Ivica Kartelo redovno vodi programeosposobljavanja i usavravanja za zanimanja u ustanovi "Kartelo". Neka od
zanimanja su: Web kreator, Internet programer, Specijalist uredskih i Internetaplikacija, CAD specijalist itd. Sva zanimanja su verificirana od Ministarstva i to da Ivica Kartelo vodi te programe i preko Interneta. Tako je ustanova"Kartelo" prva u Hrvatskoj u kojoj se nastava u cijelosti odvija multimedijalno, na
to vam je potrebno za rad po ovojknjizi
Za rad po ovoj knjizi vam je dovoljan program Visual Basic 6., i to najjeftinijaedicija koju nudi Microsoft.
uspjeno obaviti sve svoje poslove vezane za bazu podataka.
Kako se obavlja integracija baze podataka i vae Visual Basic aplikacije.Skinite s Interneta
knjigom. Ostali mogu skinuti s Interneta sve potrebne datoteke: Visual Basic projekt Ivamar,
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
10/180
10
VisualBasic6.jpg i JavaScript.jpg.
URL Opis
http://www.e92.hr/vbbazepocetak.zip
zadnje stranice.
http://www.e92.hr/vbbazekraj.zip Gotovi projekt sa svim potrebnim datotekama. Sve ove
C:\Ivamar. Pritisnite tipku mia dva puta na Ivamar
Visual Basic Project .
Microsoft Access
gradivo. Oni koji imaju taj program (format 97) i znaju ga koristiti, mogu po knjizi napravitipotrebnu bazu podataka ivamar.mdb. Ostali mogu skinuti s Interneta gotovu bazu podataka
http://www.e92.hr/vbbazepocetak.zip
Visual Basic 6 Working Model Edition Basic-a.
Za koga je pisana ova knjiga razreda osnovne kole.
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
11/180
1
UvodIvamar.pdv
stao u knjizi "Visual Basic 6". Napravili smo projekt Ivamar i stekli dobre osnove povezati ga s relacijskom bazom ivamar.mdb.
http://www.e92.hr/vbbazepocetak.zipSve datoteke pohranite u mapu C:\Ivamar.
ivamar.mdb
U knjigama o Microsoft Accessu, od prve do posljednje verzije, XP, kroz primjer
knjizi.
Na Web-u, URL: http://www.e92.hr/vbbazepocetak.zip se nalazi relacijska baza
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
12/180
2
Lekcija 1Visual Basic aplikacija
Na gore navedenoj adresi na Internetu nalazi se Visual Basic projekt Ivamar. Tajsmo projekt napravili u knjizi "Visual Basic 6". Skinite ga s navedene adrese i
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
13/180
3
Lekcija 2Microsoft Access baza podataka
Gotova baza na Internetu
Na Web-u, URL: http://www.e92.hr/vbbazepocetak.zip se nalazi relacijska baza
Podaci o bazi ivamar.mdb
bazu podataka i pohraniti je u C:\Ivamar pod imenom ivamar.mdb (format Access97).
Sve tablice i njihove relacije
njih:
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
14/180
4
Tablica 'Administracija'
Field Name Field Type Field Size Required? Opis
IDadministratora Text 13 Yes ID zaposlenika
Zaporka Text 8 Yes Zaporkazaposlenika
Tablica 'Knjige'
Field Name Field Type Field Size Required? Opis
IDknjige AutoNumber Identifikacijskibroj knjige
Naslov Text 20 Yes Naslov knjige
Format Text 20 Yes Format knjigeCijena Currency Yes Cijena knjige
Index
Dok vam je tablica 'Knjige' otvorena u dizajn prozoru odaberite View/Indexes. Udijalogu Indexes: Knjige tipkajte ono to nedostaje prema slici dolje:
najvie 10).
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
15/180
5
Tablica 'Kupci'
Field Name Field Type Field Size Required? Opis
IDkupca AutoNumber ID kupca
Ime Text 20 Yes Ime kupca
Prezime Text 30 Yes Prezime kupcaUlicaIbroj Text 30 Yes Ulica i broj
kupca
Grad Text 30 Yes Grad kupca
Postanskibroj Text 5 Yes Potanski brojkupca
Telefon Text 10 No Telefon kupca
Tablica 'StavkeNarudzbe'
Field Name Field Type Required? Opis
IDstavkeNarudzbe AutoNumber ID stavke
IDkupca Number Yes ID kupca
IDknjige Number Yes ID knjige
Kolicina Number Yes
kupljenih knjigaCijena Currency Yes Cijena knjige
DatumKupovine Date/Time Yes Datum kupovine
Unos podataka u tablicu 'Administracija'
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
16/180
6
Unos podataka u tablicu 'Kupci'
Unos podataka u tablicu 'Knjige'
Unos podataka u tablicu 'StavkeNarudzbi'
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
17/180
7
Lekcija 3Veza Ivamar.vbp ivamar.mdb
Microsoft Access i Jet
Microsoft Accessje program u kojem smo napravili relacijsku bazu podatakaivamar.mdb
upravljanjerelacijskim bazama podataka.
Koji je to dio u Accessu koji upravlja bazama podataka? Taj dio je 'motor'Accessa i zove se database engine- kod Accessa se konkretno zove Jet.
datoteke. Jedna datoteka je EXE datoteka, konkretno Ivamar.exe i druga datoteka
je MDB datoteka, konkretno Ivamar.mdb. Prva je Visual Basic aplikacija a drugaje relacijska baza podataka naputena od svog 'roditelja' Access-a i 'mrtva' bez Jet-a.
DLL
programa koji su potrebni za rad drugih programa. Ti su programi poznati pod
Podsjetimo se DLL programi mogu biti veliki desetke megabajta, a rijetko je
mnogo nepotrebno tekih aplikacija. I do 99% tereta svake aplikacije je znalo biti iskoriteni.
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
18/180
8
Data control, DAO i ADO
kontrole Data DAOi
ADO.
knjizi.
Data Access Object, a ADO od ActiveX Data Object. posljednji doao na svijet, a DAO i kontrol Data bi bili OUT.
detaljno objanjenje spoja s bazom podataka.
Dodavanje nove forme projektu
1. Otvorite projekt Ivamar u Visual Basic-u.2. Odaberite naredbu Project/Add Form.
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
19/180
9
Izgled dijaloga Add Form ovisi o ediciji Visual Basica.
3. mia na Form.4. 5. Otvorite prozor Properties pritiskom na tipku F4.6. Pritisnite tipku mia na svojstvo Name u prozoru Properties i tipkajte novo
ime frmAdministrator.
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
20/180
10
7. Pritisnite tipku mia na gumb Save .8. Visual Basic otvara dijalog Save File As i nudi ime form datoteke
frmAdministrator. Odaberite mapu C:\Ivamar datoteke promijenite u Administrator.
9. Pritisnite tipku mia na gumb Save.10.
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
21/180
11
U naem projektu Ivamar sad vidimo dvije form-e:frmGlavniObrazaci frmAdministrator.
Dodavanje kontrola na formu frmAdministrator
Nastavljamo raditi na novoj formi frmAdministrator.
1. jednu kontrolu Data .
2. Pozicionirajte i dimenzionirajte kontrole otprilike kao na slici dolje:
3.
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
22/180
12
Property Vrijednost (value) Komentar
Name lblIDadministratora (lbl...za Label).
Caption ID administratora:
4. Property Vrijednost (value) Komentar
Name lblZaporka (lbl...za Label).
Caption Zaporka:
5. Property Vrijednost (value) Komentar
Name txtIDadministratora (txt...za TextBox).
Text (blank - nita) Pritisnite tipku mia nasvojstvo Text pa pritisnitetipku DeleteiliBackspace.
6. Property Vrijednost (value) KomentarName txtZaporka
(txt...za TextBox).
Text (blank - nita) Pritisnite tipku mia nasvojstvo Text pa pritisnitetipku DeleteiliBackspace.
7. Na formi frmAdministrator
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
23/180
13
Property Vrijednost (value) Komentar
Name frmAdministrator (frm...za Form).
BorderStyle 1-Fixed Single
Caption Administratori Ivamar-a
Height 3450 Samo sugestija.
MaxButton False maksimizira formu.
MinButton False minijaturizira formu.
Moveable False premijeta formu.
StartUpPosition 2-Center Screen sredini objekta Screen.
Width 5055 Samo sugestija.
8. 9.
u nastavku ove knjige.
Na novi obrazac frmAdministrator sad izgleda ovako:
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
24/180
14
Proirivanje izbornika Ivamar-a
Nastavljamo raditi na projektu Ivamar.
1. U prozoru Project Explorer pritisnite tipku mia dva puta nafrmGlavniObrazac da se otvori.
2. mia na nju.3. Ako je otvoren prozor Code, zatvorite ga.4.
5. Pritisnite tipku mia na prazni redak ispod ".........Boja p&redzadana" i va
6. njemu:
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
25/180
15
Caption Name Podizbornik? Roditelj
Zaposlenici mnuZaposlenici Ne
Pregled/AzuriranjeAdministracija
mnuAdministracija Da mnuZaposlenici
Pregled/AzuriranjeKupci
mnuKupci Da mnuZaposlenici
Pregled/Azuriranje
Knjige
mnuKnjige Da mnuZaposlenici
PregledStavkeNarudzbe
mnuStavkeNarudzbe Da mnuZaposlenici
7. Kad pravite podizbornik, ne zaboravite pritisnuti strelicu desno.8.
9.
10.Pohranite projekt Ivamar odabirom gumba Save na liniji alata.
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
26/180
16
11.Pokrenite program Ivamar i provjerite strukturu novog izbornika. Ako kdirati to to se mora desiti.
1. alata.
2. Pritisnite tipku mia dva puta na frmGlavniObrazac u Project Explorer-u,da se glavna forma otvori.
3. U pogledu Object, pritisnite tipku mia na izbornik Zaposlenici pa nanaredbu Pregled/Azuriranje Administracija.
4. Private Sub mnuAdministracija_Click()
Me.Hide
frmAdministrator.Show
End Sub
5. 6. 7. Odaberite Zaposlenici/Pregled/Azuriranje Administracija.
Pokazao se obrazac frmAdministrator, a sakrio obrazac
8. Forma frmAdministrator je nestala s ekrana, a frmGlavniObrazac se nije
'End' na liniji alata.
Analiza
Bilo je vrlo uzbudljivo kad smo odabrali naredbu Zaposlenici/Pregled/AzuriranjeAdministracija i kad se pojavila druga forma, a prva forma se sakrila. To smo
Me.Hide
Me Mogli smo kdirati i ovako:
frmGlavniObrazac.Hide'Hide' je metoda od forme. Mogli smo ukloniti formu i ovako:
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
27/180
17
Unload frmGlavniObrazac
vidjeti, morali bi napisati naredbu:Load frmGlavniObrazac
vidjeti na ekranu.
Po istoj logici smo mogli i ovako kdirati pojavljivanje forme frmAdministrator:Load frmAdministrator
frmAdministrator.Visible = True
Nije dovoljan samo prvi redak:
Load frmAdministrator
Zato je potreban i ovaj redak:frmAdministrator.Visible = True
ekranu.
Zato smo kdirali:frmAdministrator.Show
'Show' je metoda od forme. 'Visible' je svojstvo od forme. U ovoj analizi smo
svojstva 'Visible' i vrijednosti 'False', nego smo dali prednost metodi 'Hide'.
pojavljivanje forme frmGlavniObrazac, nakon zatvaranja formefrmAdministrator.
1. Zaustavite Ivamar ako radi.2. Pritisnite tipku mia dva puta na frmAdministrator u Project Exploreru.3. Pritisnite tipku mia dva puta na formu frmAdministrator.4. U prozoru Code odaberite proceduru QueryUnload.5. Tipkajte ovaj kd:
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
28/180
18
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As
Integer)
frmGlavniObrazac.Show
End Sub
6. Pohranite Ivamar.7. Pokrenite program Ivamar i odaberite naredbu
Zaposlenici/Pregled/Azuriranje Administracija.
8. Zatvorite formu frmAdministrator.Ponovo se pojavila forma frmGlavniObrazac.
Analiza
kdirali jer nije potrebno. Naredba Close preko gumba Close automatski vri i
frmGlavniObrazac.Show
toga se dogodilo uklanjanje (unload) forme frmAdministrator iz memorije(RAM).
pozadine.
Povezivanje forme frmAdministrators tablicomAdministracijau bazi ivamar.mdb
1. Zaustavite program Ivamar ako radi.2. Otvorite frmAdministrator u pogledu Object.3. Promijenite vrijednosti svojstava kontrole Data1
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
29/180
19
Svojstvo Vrijednost (value) Komentar
Name datAdministracija (dat...za Database).
Caption Administracija
DatabaseName C:\Ivamar\ivamar.mdb Ovaj put odaberi prekodijaloga.
EOFAction 2-AddNew nove slogove u tablicu.
RecordsetType 0-Table
RecordSource Administracija liste.
4.
Pohranite projekt Ivamar. Sad napravimo promjene svojstava kontrole tablici:
Svojstvo Vrijednost (value) Komentar
DataSource datAdministracija listi.
DataField IDadministratora listi.
MaksLength 13 Vrijednost FieldLengthovog polja u tabliciAdministracija.
ToolTipText ID administratora
5. Pohranite projekt Ivamar. Sad napravimo promjene svojstava kontrole
Svojstvo Vrijednost (value) Komentar
DataSource datAdministracija listi.
DataField Zaporka listi.
MaksLength 8 Vrijednost FieldLengthovog polja u tabliciAdministracija.
ToolTipText Zaporka administratora
6. Pohranite projekt Ivamar.
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
30/180
20
7. Pokrenite program i odaberite Zaposlenici/Pregled/AzuriranjeAdministracija.
8. Pritisnite tipku mia na gumb .
9. Pritisnite tipku mia na gumb . Polja su prazna i spremna primiti vanovi upis:
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
31/180
21
Analiza
DatabaseName C:\Ivamar\ivamar.mdb Ovaj put odaberi prekodijaloga.
RecordSource Administracija liste.
RecordsetType 0-Table
Access baza podataka se najlake spaja na Visual Basic. Taj format baza je
DatabaseName
U ovom svojstvu ste preko dijaloga pronali ivamar.mdb i automatski se upisaoput baze podataka C:\Ivamar\ivamar.mdb. To je svakako prvo svojstvo kojemoramo odrediti, ali ne i posljednje.
Rekli smo da je Accessbaza predzadana. Gdje se tovidi?
Pogledajte svojstvoConnect. ------>>>>>
Tamo pie Access.Pritisnite tipku mia na aplikaciju.
Postoje dva tipa bazapodataka i na oba se VB ISAMiODBCtipovi baza.
Indexed Sequential Access Method i opisuje kako 'motor' baze upravlja podacima.ISAM baze su starije baze i sve one koje su se pojavile u listi Connect su togatipa. Te baze prilikom instalacije upisuju u Windows Registry put do svojih
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
32/180
22
svojstvo Connect moramo pisati tekstualni 'string' s pet, est argumenata. Taj
RecordSource
lista tablica i upita te baze. U toj listi smo odabrali tablicu 'Administracija'. Naa
Recordset
bazu podataka. To je recordset. to je recordset? Onog trenutk kad se pokreneprogram Ivamar i otvori forma Administrator u RAM-u se formira virtualna bazaivamar.mdb. Taj virtualni objekt u RAM-u je objekt recordset. Kontrola Datakomunicira s recordset-om a recordset s bazom ivamar.mdb. Blok dijagram te
veze izgleda ovako:
Kontrola Data1 je spojena s virtualnom tablicom Administracija u Recordset-u.Kontrola Text1 je spojena (bound) s virtualnim poljem IDadministratora uRecordset-u. Kontrola Text2 je spojena (bound) s virtualnim poljem Zaporka uRecorset-u. Tablica Administracija u Recorset-u je spojena s tablicom u baziivamar.mdb.
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
33/180
23
RecordsetType
0-Table
1-Dynaset
2-Snapshot
Tip Table
Tip Dynaset
Table.
Tip Snapshot
nove kjnige, ti novo upisani naslovi se ne bi vidjeli u kontroli lstKnjige sve doprvog zatvaranja i ponovnog otvaranja aplikacije Ivamar. U Dynaset i Tabletipovima recordset-a bi se vidjeli odmah.
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
34/180
24
Lekcija 4Forma 'Login'
Nova forma
1. Otvorite Visual Basic. Otvorite projekt Ivamar. Otvorite novu formu. Form1u
frmLogin.2. Pohranite formu frmLogin u mapu C:\Ivamar\ pod imenom Login.
3. Pogledajte u Visual Basic project explorer i tamo su sada vidljive triforme:
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
35/180
25
Dodavanje kontrola
1. Nastavljamo raditi na projektu Ivamar.2.
Dodajte dvije kontrole Label, dvije TextBox i dvije kontrole CommandButtons, kao na slici dolje:
3. Property Vrijednost (Value)Name lblKorisnikID
Caption &Ime korisnika:
4. Property Vrijednost (Value)
Name lblZaporkaID
Caption &Zaporka:
5.
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
36/180
26
Property Vrijednost (Value)
Name txtKorisnikID
Text (obrii sve)
6. Property Vrijednost (Value)
Name txtZaporkaID
Text
PasswordChar *
Stavljanjem znaka * kao vrijednost svojstva PasswordChar, odredili ste znak koji
7. Property Vrijednost (Value)
Name cmdOK
Caption OK
Default True
8. Property Vrijednost (Value)
Name cmdCancelCancel True
Caption Cancel
9. Property Vrijednost (Value)
Name frmLogin
BorderStyle 3-Fixed Dialog
Caption Login Ivamar
Moveable False
StartUpPosition 2-Center Screen
Forma Login sada izgleda ovako:
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
37/180
27
10.
11.
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
38/180
28
Property Vrijednost (Value) Komentar
Name datAdmnistracija su prva tri slova od'database'. Kontrola Data
je linkom spojena stablicom Administracija.
DatabaseName C:\Ivamar\ivamar.mdb Ne tipkajte ovo u'property'! Koristite ovaj put.
RecordsetType 0-Table koritenje svojstva'Index'.
RecordSource Administracija listi.
Visible False vidi kontrolu Data.
12.Pohranite projekt Ivamar. u aplikaciji koja se otvara prva. Sad je to forma frmGlavniObrazac. U nastavku
1. Otvorite Ivamar u pogledu View/Object.2. Project/Properties.
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
39/180
29
3. odaberite frmLogin.
4. OK.5. Pohranite projekt Ivamar. Pokrenite projekt Ivamar. Otvorila se forma
Analiza
Startup Object u memoriju RAM i prva pojaviti na ekranu.
StandardModule
Sub Main
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
40/180
30
To je standardni modul koji se zove SubMain. Standardni modul 'Sub Main' je u
Kreiranje standardnog modula
1. Nastavljamo raditi na projektu Ivamar.2. Project/Add Module.3. U dijalogu Add Module pritisnite tipku mia dva puta na Module.
Otvorio se prozor za pisanje kda ustandardnom modulu Module1. ------->
U prozoru Project sad vidite poredkolekcije Forms s tri forme i kolekcijuModules s jednim modulom.----->
4. Pritisnite tipku mia na Save.
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
41/180
31
5. Tipkajte ime 'Ivamar' za modul i otvorite mapu C:\Ivamar\.6.
Deklariranje globalnih varijabli u sekciji General Declarationsstandardnog modula
1. Nastavljamo raditi na projektu Ivamar.2. Pritisnite tipku mia dva puta na standardni modul u prozoru Project.3. U sekciju General tipkajte:
Option Explicit
Public g_intBrojKupca As IntegerPublic g_strKorisnik As String
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
42/180
32
Declaration u Tools/Options/Editor.
4. Pohranite projekt Ivamar.
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
43/180
33
Lekcija 5Pisanje kda za formu Login
Dodavanje kda gumbu Cancel
1. Otvorite projekt Ivamar.2. U prozoru Project Explorer pritisnite tipku mia dva puta na formu Login.3. 4. U objekt proceduru tipkajte kd:
Private Sub cmdCancel_Click()
If vbOK = MsgBox("Zelite izaci?", vbOKCancel) Then
Unload Me
End
Else
txtKorisnikID.SetFocus
End If
End Sub
5. Pohranite projekt Ivamar.6.
ste odabrali OK u poruci, izali bi iz programa.
Analiza
sljedi... Unload Me
Forme Login je nestalo s ekrana i iz RAM-a. Ali program i dalje radi iako tomenema traga na ekranu. Zato je potrebna naredba... End
...koja zaustavlja rad aplikacije Ivamar.
Ako umjesto OK odaberete Cancel, sljedi...
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
44/180
34
txtKorisnikID.SetFocus
Dodavanje kda gumbu OK
1. Zaustavite program Ivamar.2. Otvorite formu Login u pogledu View/Object. Pritisnite tipku mia dva
puta na gumb OK.
3. Private Sub cmdOK_Click()
Static intPogresnoLogiranje As Integer
'Izjednacimo varijablu s vrijednoscu svojstva_
'Text od textbox txtKorisnikID
g_strKorisnik = UCase(txtKorisnikID.Text)
'Ucinimo svojstvo Index od Recordset-a primarnim kljucem _
'To je potrebno radi Seek Operation
datAdministracija.Recordset.Index = "PrimaryKey"
'Trazimo zapis u tablici Administracija s tim ID administratora
datAdministracija.Recordset.Seek "=", UCase(txtKorisnikID.Text)
If datAdministracija.Recordset.NoMatch = True Then
MsgBox "Vi niste autorizirani korisnik..."
Unload Me
End
End If
'Ako je zapis s tom vrijednoscu pronadjen, kontrolirajmo _
'Zaporku u Recordset-u
If UCase(txtZaporkaID.Text) = _
UCase(datAdministracija.Recordset("Zaporka").Value) Then
MsgBox g_strKorisnik & ", uspjesno ste se logirali." & _
"Izvolite nastaviti..."
Unload Me
frmGlavniObrazac.Show
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
45/180
35
Else
intPogresnoLogiranje = intPogresnoLogiranje + 1
If intPogresnoLogiranje = 3 Then
MsgBox "Ooooooo----potrosili ste svoja tri pokusaja!"
Unload Me
End
Else
txtZaporkaID.Text = ""
txtZaporkaID.SetFocus
MsgBox "Vasa zaporka je netocna." & _
"Molimo pokusajte ponovo..."
End If
End If
End Sub
4. Pohranite projekt Ivamar.Analiza
nita ili tipka ime koje ne postoji u tablici 'Administracija', sljedi "Vi niste
autorizirani korisnik..." i kraj programa. Korisnik tipka ime koje postoji u tablici 'Administracija', ali ne postoji
zaporke, moramo deklarirati varijablu koja i nakon
deklariramo sa 'Static':Static intPogresnoLogiranje As Integer
vrijeme 'sesije s ulaskom korisnika u aplikaciju, a zavrava s izlaskom tog korisnika iz aplikacije. svojstva Text tj. s onim to korisnik utipka u 'Ime korisnika' tj. s 'IDadministrator'-
om:
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
46/180
36
g_strKorisnik = UCase(txtKorisnikID.Text)
Seekmetodu od Recordset-a.
Najprije definiramo svojstvo Index od Recordset-a:datAdministracija.Recordset.Index = "PrimaryKey"
Ime indeksa "PrimaryKey" je upisano u Access bazi:
datAdministracija.Recordset.Seek "=", UCase(txtKorisnikID.Text)
'datAdministracija' je kontrola Data. Kontrola Data ima svoja svojstva, metode,
If datAdministracija.Recordset.NoMatch = True Then
Sljedi poruka: MsgBox "Vi niste autorizirani korisnik..."
Unload Me
End
(End).
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
47/180
37
If UCase(txtZaporkaID.Text) = _
UCase(datAdministracija.Recordset("Zaporka").Value) Then
MsgBox g_strKorisnik & ", uspjesno ste se logirali." & _
"Izvolite nastaviti..."
Unload Me
frmGlavniObrazac.Show
(frmGlavniObrazac.Show).
Else
intPogresnoLogiranje = intPogresnoLogiranje + 1
If intPogresnoLogiranje = 3 Then MsgBox "Ooooooo----potrosili ste svoja tri pokusaja!"
Unload Me
End
Else
txtZaporkaID.Text = ""
txtZaporkaID.SetFocus
MsgBox "Vasa zaporka je netocna." & _
"Molimo pokusajte ponovo..."
End If
End If
End Sub
Testiranje forme Login ne autorizirani korisnik1. Pokrenite Ivamar.2.
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
48/180
38
3.
4. OK. I program Ivamar se zatvorio.Testiranje forme Login autorizirani korisnik je zaboravio zaporku
5. Pokrenite program Ivamar.6. Tipkajte Administrator u Ime korisnika, a 123456 u Zaporka:
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
49/180
39
7. OK.
8. OK. Ponovo unesite krivu zaporku. OK. Sljedi ista poruka o netocnoj poruka:
9. OK. Program Ivamar se zatvorio.Testiranje forme Login autorizirani korisnik
10.Pokrenite program Ivamar.11.Tipkajte Administrator u Ime korisnika i 061883 u Zaporka. OK.
12.OK. Forma Login je nestala, a pojavila se forma GlavniObrazac. IzbornikZaposlenici je vidljiv.
13.Zaustavite program, pa ga ponovo pokrenite i ovaj se put logirajte kao'KORISNIK' i '030655'.
14.Ponovo ste se uspjeno logirali i u formi GlavniObrazac opet viditeizbornik Zaposlenici.
osim za korisnika 'Administrator'.
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
50/180
40
1. Zaustavite program Ivamar.2. Pritisnite tipku mia dva puta na frmGlavniObrazac u prozoru Project.3. 4. U proceduri Form_Load()
Private Sub Form_Load()
'*************************************
'Programer: Ivica Kartelo *
'Datum pisanja: 24. lipnja 2002. *
'*************************************
'
'
Call CitajRegistry
Call CitajCjenik
If m_blnPrikazDatuma Then
Call mnuDatumIVrijemeUkljuci_Click
Else
Call mnuDatumIVrijemeIskljuci_Click
End If
frmGlavniObrazac.BackColor = m_lngBojaPozadine
Open "C:\Ivamar\cjenik.txt" For Input As #1
If g_strKorisnik = "ADMINISTRATOR" Then
mnuZaposlenici.Visible = True
Else
mnuZaposlenici.Visible = False
End If
End Sub
5. Pohranite projekt Ivamar.6. Pokrenite ponovo program Ivamar.7.
forma GlavniObrazac i na njoj izbornik 'Zaposlenici'.
8. Zaustavite program Ivamar i ponovo ga pokrenite. Sad se logirajte kao
GlavniObrazac, ali ovaj put bez izbornika 'Zaposlenici'.
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
51/180
41
Analiza
If g_strKorisnik = "ADMINISTRATOR" Then
mnuZaposlenici.Visible = True
Else
mnuZaposlenici.Visible = False
End If
U kdu procedure cmdOK_Click() forme Login je globalna varijabla'g_strKorisnik' dobila vrijednost, npr. 'ADMINISTRATOR'. Tu vrijednost sad formi GlavniIzbornik biti vidljiv ili ne. Ako je ta vrijednost varijable jednaka
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
52/180
42
Lekcija 6Promjene na formi Administrator
dodavati ili brisati zapise. U tu svrhu je potrebno ugraditi nekoliko kontrola
1. Otvorite projekt Ivamar.2. Otvorite formu Administrator.3.
formi Administrator.
4. Stavite kontrolu Frame na formu. Zatim unutar prve kontrole Frame1stavite drugu kontrolu Frame, Frame2, prema slici dolje:
5. premijetanjem okvira Frame1, premijetati i okvir Frame2. Da bi to tako
okvirom kontejnerom.
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
53/180
43
6. Povucite dvije kontrole Label i dvije kontrole TextBox, kao na slici dolje. Label2 i na kraju Text2. Provjerite da li su te kontrole u kontejneruFrame2.
7. okvira Frame1, kao na slici dolje:
8. Na kraju stavite jedan Command Button izvan oba okvira Frame, kao naslici dolje:
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
54/180
44
9.
tablicama:
Kontrola Data1
Property Vrijednost (Value)
Name datAdministrator
Caption Ivamar administrator
DatabaseName C:\Ivamar\ivamar.mdb
EOFAction 0-MoveLast
RecordsetType 1-Dynaset
RecordSource Administracija
zapis samo pritiskom na gumb 'Dodaj'.
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
55/180
45
Kontrola Frame1
Property Vrijednost (Value)
Name fraVanjski
Caption
TabIndex 0
Kontrola Frame2
Property Vrijednost (Value)
Name fraUnutrasnji
Caption Korisnici
TabIndex 1
Kontrola Label1
Property Vrijednost (Value)
Name lblIDkorisnika
Caption &ID korisnika:
TabIndex 2
Kontrola Label2
Property Vrijednost (Value)
Name lblZaporka
Caption &Zaporka:
TabIndex 4
Kontrola Text1
Property Vrijednost (Value)
Name txtIDkorisnika
DataSource datAdministrator
DataField IDadministratora
MaxLength 13
TabIndex 3
Text (nita)
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
56/180
46
Kontrola Text2
Property Vrijednost (Value)
Name txtZaporka
DataSource datAdministrator
DataField Zaporka
MaxLength 8
TabIndex 5
Text (nita)
Kontrola Command1
Property Vrijednost (Value)
Name cmdDodaj
Caption &Dodaj
TabIndex 6
Kontrola Command2
Property Vrijednost (Value)
Name cmdAzuriraj
Caption &Azuriraj
TabIndex 7
Kontrola Command3
Property Vrijednost (Value)
Name cmdObrisi
Caption &ObrisiTabIndex 8
Kontrola Command4
Property Vrijednost (Value)
Name cmdOdustani
Caption Od&ustani
TabIndex 9
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
57/180
47
Kontrola Command5
Property Vrijednost (Value)
Name cmdIzlaz
Cancel True
Caption &Izlaz
TabIndex 10
tipkovnici kao i pritiskom na gumb 'Odustani'.
Provjerite svojstva od forme Administrator
Property Vrijednost (value)
Name frmAdministratorBorderStyle 1-Fixed Single
Caption Administratori Ivamar-a
Height 3450
MaxButton False
MinButton False
Moveable False
StartUpPosition 2-Center Screen
Width 5055
Vaa forma izgleda ovako:
10.Pohranite projekt Ivamar.
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
58/180
48
Lekcija 7Forma Administrator kdiranje
1. Nastavljamo raditi na formi Administrator u projektu Ivamar.2.
Private Sub Form_Activate()
datAdministrator.Recordset.MoveLast
datAdministrator.Recordset.MoveFirst
End Sub
3. Pohranite projekt Ivamar.Analiza
nalazimo te ukupni broj redaka, moramo najprije 'proetati' aplikaciju do dnaRecordset-a...datAdministrator.Recordset.MoveLast
datAdministrator.Recordset.MoveFirst
1. Administrator. Samo provjerite:
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As
Integer)
frmGlavniObrazac.Show
End Sub
2. Pohranite projekt Ivamar.
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
59/180
49
Analiza
se i otvorit forma 'GlavniObrazac':frmGlavniObrazac.Show
3. datAdministrator_Reposition():
Private Sub datAdministrator_Reposition()
datAdministrator.Caption =
datAdministrator.Recordset.AbsolutePosition + 1 & _
" redak" & _
" od ukupno " & datAdministrator.Recordset.RecordCount & _
" redaka."
End Sub
4. Pohranite projekt Ivamar.Analiza
Reposition nakonpomicanja na novi
datAdministrator.Recordset.AbsolutePosition + 1
Svojstvo 'AbsolutePosition' broji retke od nula pa na vie. Zato je potrebno dodatijedinicu (+1), jer je prvi redak za nas redak broj jedan, a ne redak broj '0'.
Svojstvo 'RecordCount' izbacuje ukupan broj redaka.
5. datAdministrator_Validate ():
Private Sub datAdministrator_Validate(Action As Integer, Save As
Integer)
If datAdministrator.Recordset.EditMode dbEditNone Then
If txtIDkorisnika.Text = "" Then
MsgBox "Molim, tipkajte ID korisnika"
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
60/180
50
txtIDkorisnika.SetFocus
Save = False
Action = vbDataActionCancel
Exit Sub
End If
If txtZaporka.Text = "" Then
MsgBox "Molim, tipkajte zaporku"
txtIDkorisnika.SetFocus
Save = False
Action = vbDataActionCancel
Exit Sub
End If
End If
End Sub
6. Pohranite projekt Ivamar.Analiza
Validate prijepomicanja na novi validate
dovesti do pomicanja na drugi redak.Private Sub datAdministrator_Validate(Action As Integer, Save As
Integer)
Actioni Save.
proceduri Validate zadali argument Save = False, brisanje retka se nikad
Postoji 12 argumenata Action:
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
61/180
51
Konstanta Vrijednost Opis
vbDataActionCancel 0 Prekida radnju kad procedura izlazi (exit).
vbDataActionMoveFirst 1 Metoda MoveFirst
vbDataActionMovePrevious 2 Metoda MovePrevious
vbDataActionMoveNext 3 Metoda MoveNextvbDataActionMoveLast 4 Metoda MoveLast
vbDataActionAddNew 5 Metoda AddNew
vbDataActionUpdate 6 Radnja Update (ne UpdateRecord)
vbDataActionDelete 7 Metoda Delete
vbDataActionFind 8 Metoda Find
vbDataActionBookmark 9 Zadano je svojstvo Bookmark
vbDataActionClose 10 Metoda Close
vbDataActionUnload 11
EditMode
If datAdministrator.Recordset.EditMode dbEditNone Then
Ovaj redak provjerava vrijednost svojstva EditMode. To je svostvo od Recordset-
Opis
dbEditNone Proces editiranja nije u tijeku.
DbEditInProgress privremenu memoriju.
dbEditAdd privremenoj memoriji i nije jo unijet u bazu podataka.
Vrijednost dbEditNone
proceduri. If datAdministrator.Recordset.EditMode dbEditNone Then
EditMode =DbEditInProgress' ili '...EditMode = dbEditAdd' tad provjeri je li If txtIDkorisnika.Text = "" Then
MsgBox "Molim, tipkajte ID korisnika"
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
62/180
52
txtIDkorisnika... txtIDkorisnika.SetFocus
Save = False
...i prenesi u Validation novi argument Action, onaj kojeg je izazvao kd Save =False, a to je 'prekid'... Action = vbDataActionCancel
Exit Sub
Zato nismo napisali Action = 0
'vbDataActionCancel' nego '0'. Tko bi pamtio sve brojeve.
7. txtZaporka_KeyPress():Private Sub txtZaporka_KeyPress(KeyAscii As Integer)
If KeyAscii >= 97 And KeyAscii = 97 And KeyAscii
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
63/180
53
9. txtIDkorisnika_KeyPress():
Private Sub txtIDkorisnika_KeyPress(KeyAscii As Integer)
If KeyAscii >= 97 And KeyAscii
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
64/180
54
txtIDkorisnika. Nama je preostalo samo tipkanje.
Ovaj kd...If datAdministrator.Recordset.EditMode dbEditNone Then
MsgBox "Molim, zavrsite azuriranje prije nego " & _
"dodate novi zapis"
Exit Sub
End If
...ne dozvoljava dodavanje novog zapisa ukoliko je u tijeku editiranje, konkretno,ako je '...EditMode = DbEditInProgress' ili '...EditMode =
dbEditAdd'.
Ovaj kd...datAdministrator.Recordset.Edit
datAdministrator.UpdateRecord
U prvom retku se poziva Edit, metoda Recordset-a, a u drugom retku se pozivaUpdateRecord, metoda kontrole Data.
1. cmdOdustani_Click():Private Sub cmdOdustani_Click()
If datAdministrator.Recordset.EditMode = dbEditNone Then datAdministrator.UpdateControls
Else
datAdministrator.Recordset.CancelUpdate
End If
End Sub
2. Pohranite projekt Ivamar.
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
65/180
55
Analiza
If datAdministrator.Recordset.EditMode = dbEditNone Then
kao i prije vae intervencije: dbEditNone.
EditMode, svojstva od Recordset-a. Ako je dbEditNone nismo ona dva Edit moda: '...EditMode = DbEditInProgress' ili '...EditMode= dbEditAdd'.
Tad je dovoljan kd: datAdministrator.UpdateControls
UpdateControls
podatke u vezanu kontrolu text box i predomislili se i odabrali gumb 'Odustani',izvodi se kd: datAdministrator.Recordset.CancelUpdate
CancelUpdateje metoda od Recordset-a i ova metoda PONITAVA metoduAddNew. Nestaje novi redak i sve je kao to je bilo prije naeg odabira gumba'Dodaj'.
3. cmdObrisi_Click():Private Sub cmdObrisi_Click()
On Error GoTo ErrorHandler
Dim intRezultat As Integer
If datAdministrator.Recordset.EditMode dbEditNone Then
MsgBox "Ako trenutno dodajete zapis " & _
"molim, koristite gumb Odustani za prekid " & _
"dodavanja"
Exit Sub
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
66/180
56
End If
intRezultat = MsgBox("Zelite obrisati zapis u tablici " & _
"Administracija?", vbYesNo, "Obrisi zapis u Administracija")
If intRezultat = vbYes Then
datAdministrator.Recordset.Delete
datAdministrator.Recordset.MoveNext
If datAdministrator.Recordset.EOF Then
datAdministrator.Recordset.MovePrevious
End If
End If
Exit Sub
ErrorHandler:
Select Case Err.Number
Case 3200 'Kontrola referencijalnog integriteta
MsgBox Err.Description
Exit Sub
Case Else
MsgBox Err.Description
Resume Next
End Select
End Sub
4. Pohranite projekt Ivamar.Analiza
biti pohranjen u varijablu. Zato je deklarirana ova varijabla:Dim intRezultat As Integer
Ta varijabla 'hvata' odgovor korisnika...intRezultat = MsgBox("Zelite obrisati zapis u tablici " & _
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
67/180
57
"Administracija?", vbYesNo, "Obrisi zapis u Administracija")
...i ako je odgovor 'Yes'...If intRezultat = vbYes Then
...tad obrii zapis... datAdministrator.Recordset.Delete
datAdministrator.Recordset.MoveNext
redak u bazi... If datAdministrator.Recordset.EOF Then
datAdministrator.Recordset.MovePrevious
End If
End If
kontroli Data. Za Recordset to nije potrebno, ali za kontrolu Data je potrebno. Usuprotnom bi u kontroli data vidjeli ne promijenjen broj redaka, a u kontrolamatext box bi vidjeli obrisane podatke. Jer oni jesu obrisani u Recordset-u, a da bi se kdirali.
MsgBox
intRezultat = MsgBox("Zelite obrisati zapis u tablici " & _
"Administracija?", vbYesNo, "Obrisi zapis u Administracija")
Gornji okvir za poruku MsgBox ima triargumenta, odijeljena zarezom. Prvi argument
to korisnik odabere Yes ili No (vbYes ili Administracija" je naslov okvira poruke:
ErrorHandler
dozvoliti brisanje sloga. Da to ne izazove pad naeg programa, ugradili smo'ErrorHandler'...
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
68/180
58
ErrorHandler:
Select Case Err.Number
...za "referencijalni integritet'... Case 3200 'Kontrola referencijalnog integriteta
MsgBox Err.Description
Exit Sub
...a onda i za sve druge ne predvidljive pogreke... Case Else
MsgBox Err.Description
Resume Next
End Select
5. cmdIzlaz_Click():Private Sub cmdIzlaz_Click()
If datAdministrator.Recordset.EditMode dbEditNone Then
MsgBox "Molim, zavrsite vase azuriranje prije " & _
"zatvaranja obrasca"
Exit Sub
End If
Unload Me
End Sub
6. Pohranite projekt Ivamar.Analiza
Kad ugledate kd...
Unload Me
kd se nalazi u proceduri QueryUnload. Sjetimo se: kd Unload Me je automatskipokrenuo proceduru QueryUnload.
7. cmdAzuriraj_Click():Private Sub cmdAzuriraj_Click()
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
69/180
59
If datAdministrator.Recordset.EditMode = dbEditAdd Then
datAdministrator.Recordset.Update
Else
datAdministrator.Recordset.Edit
datAdministrator.Recordset.Update
End If
End Sub
8. Pohranite projekt Ivamar.9.
061883. Odaberite naredbu Zaposlenici/Pregled/Administracija. Na ekranu bazama podataka gledanjezapisa, dodavanjezapisa, ispravljanje
brisanje greku ako ikakva postoji. Puno je bolje otkriti greku sada, dok vam je jo
lekcije.
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
70/180
60
Lekcija 8Forma Knjige
1. Otvorite projekt Ivamar u Visual Basic-u. Odaberite naredbuProject/Add Form New Form1tako to Propertiespritiskomna tipku F4. Pritisnite tipku mia na svojstvo Nameu prozoruPropertiesi tipkajte novo ime frmKnjige.
2. Pritisnite tipku mia na gumb Save .3. Visual Basic otvara dijalog Save File As i nudi ime form datoteke
frmKnjige. Odaberite mapu C:\Ivamar promijenite u Knjige.
4. Pritisnite tipku mia na gumb Save.5.
frmGlavniObrazacifrmAdministrator, frmKnjige i frmLogin.
Dodavanje kontrola formi Knjige
1. Nastavljamo raditi na formi Knjige.2.
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
71/180
61
Kontrole crtajte ovim redom: Frame1, Frame 2, Label1, Text1, Label2,Text2, Label3, Text3, Label4, Text4:
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
72/180
62
tablici:
Svojstvo Vrijednost (value)
Name datKnjige
Caption Ivamar knjigeDatabaseName C:\Ivamar\ivamar.mdb
EOFAction 0-MoveLast
RecordsetType 1-Dynaset
RecordSource Knjige
Kontrola Frame1
Property Vrijednost (Value)
Name fraVanjski
Caption
TabIndex 0
Kontrola Frame2
Property Vrijednost (Value)
Name fraUnutrasnji
Caption Knjige
TabIndex 1
Kontrola Label1
Property Vrijednost (Value)
Name lblIDknjige
Caption &ID knjige:
TabIndex 2
Kontrola Label2
Property Vrijednost (Value)
Name lblNaslov
Caption &Naslov:
TabIndex 4
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
73/180
63
Kontrola Label3
Property Vrijednost (Value)
Name lblFormat
Caption &Format:
TabIndex 6
Kontrola Label4
Property Vrijednost (Value)
Name lblCijena
Caption &Cijena:
TabIndex 8
Kontrola Text1
Property Vrijednost (Value)
Name txtIDknjige
DataSource datKnjige
DataField IDknjige
Locked True
TabStop False
TabIndex 3
Text (nita)
Kontrola Text2
Property Vrijednost (Value)
Name txtNaslovDataSource datKnjige
DataField Naslov
MaxLength 20
TabIndex 5
Text (nita)
Kontrola Text3
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
74/180
64
Property Vrijednost (Value)
Name txtFormat
DataSource datKnjige
DataField Format
MaxLength 20
TabIndex 7
Text (nita)
Kontrola Text4
Property Vrijednost (Value)
Name txtCijena
DataSource datKnjige
DataField Cijena
MaxLength 7
TabIndex 9
Text (nita)
Kontrola Command1
Property Vrijednost (Value)
Name cmdDodaj
Caption &Dodaj
TabIndex 10
Kontrola Command2
Property Vrijednost (Value)Name cmdAzuriraj
Caption &Azuriraj
TabIndex 11
Kontrola Command3
Property Vrijednost (Value)
Name cmdObrisi
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
75/180
65
Caption &Obrisi
TabIndex 12
Kontrola Command4
Property Vrijednost (Value)Name cmdOdustani
Cancel True
Caption Od&ustani
TabIndex 13
Kontrola Command5
Property Vrijednost (Value)
Name cmdIzlaz
Cancel True
Caption &Izlaz
TabIndex 14
Provjerite svojstva od forme Knjige
Property Vrijednost (value)
Name frmKnjige
BorderStyle 1-Fixed Single
Caption Ivamar knjige
MaxButton False
MinButton False
Moveable FalseStartUpPosition 2-Center Screen
Vaa forma izgleda ovako:
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
76/180
66
1. Pohranite projekt Ivamar.
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
77/180
67
Lekcija 9Knjige - kdiranje
1. Nastavljamo raditi na formi Knjige u projektu Ivamar.2.
Private Sub Form_Activate()
datKnjige.Recordset.MoveLast
datKnjige.Recordset.MoveFirst
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode AsInteger)
frmGlavniObrazac.Show
End Sub
Private Sub datKnjige_Reposition()
datKnjige.Caption = datKnjige.Recordset.AbsolutePosition + 1 & _" redak" & _
" od ukupno " & datKnjige.Recordset.RecordCount & _
" redaka."
End Sub
Private Sub datKnjige_Validate(Action As Integer, Save As Integer)
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
78/180
68
If datKnjige.Recordset.EditMode dbEditNone Then
If txtNaslov.Text = "" Then
MsgBox "Molim, tipkajte naslov knjige"
txtNaslov.SetFocus
Save = False
Action = vbDataActionCancel
Exit Sub
End If
If txtFormat.Text = "" Then
MsgBox "Molim, tipkajte format knjige"
txtFormat.SetFocus
Save = False
Action = vbDataActionCancel
Exit Sub
End If
If txtCijena.Text = "" Then
MsgBox "Molim, tipkajte cijenu knjige"
txtCijena.SetFocus
Save = False
Action = vbDataActionCancel
Exit Sub
End If
If Val(txtCijena.Text) 57 Then
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
79/180
69
KeyAscii = 0
End If
End Sub
Private Sub cmdDodaj_Click()
If datKnjige.Recordset.EditMode dbEditNone Then
MsgBox "Molim, zavrsite azuriranje prije nego " & _
"dodate novi zapis"
Exit Sub
End If
datKnjige.Recordset.Edit
datKnjige.UpdateRecord
datKnjige.Recordset.AddNew
txtNaslov.SetFocus
End Sub
Private Sub cmdOdustani_Click()
If datKnjige.Recordset.EditMode = dbEditNone Then
datKnjige.UpdateControls
Else
datKnjige.Recordset.CancelUpdate
End If
End Sub
Private Sub cmdObrisi_Click()
On Error GoTo ErrorHandler
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
80/180
70
Dim intRezultat As Integer
If datKnjige.Recordset.EditMode dbEditNone Then
MsgBox "Ako trenutno dodajete zapis " & _
"molim, koristite gumb Odustani za prekid " & _
"dodavanja"
Exit Sub
End If
intRezultat = MsgBox("Zelite obrisati zapis u tablici " & _
"Knjige?", vbYesNo, "Delete Knjige Record")
If intRezultat = vbYes Then
datKnjige.Recordset.Delete
datKnjige.Recordset.MoveNext
If datKnjige.Recordset.EOF Then
datKnjige.Recordset.MovePrevious
End If
End If
Exit Sub
ErrorHandler:
Select Case Err.Number
Case 3200 'Kontrola referencijalnog integriteta
MsgBox Err.Description
Exit Sub
Case Else
MsgBox Err.Description
Resume Next
End Select
End Sub
Private Sub cmdIzlaz_Click()
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
81/180
71
If datKnjige.Recordset.EditMode dbEditNone Then
MsgBox "Molim, zavrsite vase azuriranje prije " & _
"zatvaranja obrasca"
Exit Sub
End If
Unload Me
End Sub
Private Sub cmdAzuriraj_Click()
If datKnjige.Recordset.EditMode = dbEditAdd Then
datKnjige.Recordset.Update
Else
datKnjige.Recordset.Edit
datKnjige.Recordset.Update
End If
End Sub
10.Pohranite projekt Ivamar.
1. alata.
2. Pritisnite tipku mia dva puta na frmGlavniObrazac u Project Explorer-u,da se glavna forma otvori.
3. U pogledu Object, pritisnite tipku mia na izbornik Zaposlenici pa nanaredbu Pregled/Azuriranje Knjige.
4. Private Sub mnuKnjige_Click()
Me.Hide
frmKnjige.Show
End Sub
5.
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
82/180
72
6. 061883. Odaberite naredbu Zaposlenici/Pregled/Azuriranje Knjige. Na bazama podataka gledanjezapisa, dodavanjezapisa, ispravljanje
brisanje
greku ako ikakva postoji. Puno je bolje otkriti greku sada, dok vam je jo
Analiza
Lekciju 9 sam napravio kopiranjem Lekcije 7 i prilagodbom za formu Knjige.Kad sam pokrenuo program, logirao se, preao na formu Knjige, dodao zapis, knjige", OK, pritisnem Azuriraj i otvori se Run-time Error 3021 'No currentRecord'.
krivom mjestu u Private Sub datKnjige_Validate. Povie retkaIf txtCijena.Text = "" Then
sam imao dva retka End If:End If
End If
If txtCijena.Text = "" Then
Obrisao sam jedan End If i napisao ga tamo gdje mu je mjesto: End If
If txtCijena.Text = "" Then
MsgBox "Molim, tipkajte cijenu knjige"
txtCijena.SetFocus
Save = False
Action = vbDataActionCancel
Exit Sub
End If
If Val(txtCijena.Text)
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
83/180
73
End If
End Sub
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
84/180
74
Lekcija 10Forma Kupci
Dodajmo formu frmKupci
1. Kao mnogo puta do sada, dodajte novu formu projektu Ivamar. U prozoruProperties, svojstvo Name promijenite u frmKupci. Pohranite formu podimenom Kupci.frm.
2.
Izgradnja forme Kupci
1. dvije kontrole Frame, sedam Label, sedam TextBox, jednu kontrolu Data ipet CommandButtons.
2. Tab Index bio ergonomski za korisnika: Frame1, Frame2, Label1, Text1,Label2, Text2, Label3, Text3 itd. Nakon to ste dodali sve kontrole Label iText, dodajte pet gumba i na kraju kontrolu Data1.
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
85/180
75
3.
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
86/180
76
Data1:
Svojstvo Vrijednost (value)
Name datKupci
Caption Ivamar kupci
DatabaseName C:\Ivamar\ivamar.mdb
EOFAction 0-MoveLast
RecordsetType 1-Dynaset
RecordSource Kupci
Frame1:
Property Vrijednost (Value)
Name fraVanjski
Caption
TabIndex 0
Frame2:
Property Vrijednost (Value)
Name fraUnutrasnji
Caption Kupci
TabIndex 1
Label1:
Property Vrijednost (Value)
Name lblIDkupca
Caption &ID kupca:TabIndex 2
Label2:
Property Vrijednost (Value)
Name lblIme
Caption I&me:
TabIndex 4
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
87/180
77
Label3:
Property Vrijednost (Value)
Name lblPrezime
Caption P&rezime:
TabIndex 6
Label4:
Property Vrijednost (Value)
Name lblUlicaIbroj
Caption U&lica i broj:
TabIndex 8
Label5:
Property Vrijednost (Value)
Name lblGrad
Caption &Grad:
TabIndex 10
Label6:
Property Vrijednost (Value)
Name lblPostanskiBroj
Caption Postanski &Broj:
TabIndex 12
Label7:
Property Vrijednost (Value)
Name lblTelefon
Caption T&elefon:
TabIndex 14
Text1:
Property Vrijednost (Value)
Name txtIDkupca
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
88/180
78
DataSource datKupci
DataField IDkupca
Locked True
TabIndex 3
TabStopt False
Text (nita)
Text2:
Property Vrijednost (Value)
Name txtIme
DataSource datKupci
DataField Ime
MaxLength 20
TabIndex 5
Text (nita)
Text3:
Property Vrijednost (Value)
Name txtPrezime
DataSource datKupci
DataField Prezime
MaxLength 30
TabIndex 7
Text (nita)
Text4:
Property Vrijednost (Value)
Name txtUlicaIbroj
DataSource datKupci
DataField UlicaIbroj
MaxLength 30
TabIndex 9
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
89/180
79
Text (nita)
Text5:
Property Vrijednost (Value)
Name txtGradDataSource datKupci
DataField Grad
MaxLength 30
TabIndex 11
Text (nita)
Text6:
Property Vrijednost (Value)
Name txtPostanskiBroj
DataSource datKupci
DataField Postanskibroj
MaxLength 5
TabIndex 13
Text (nita)
Text7:
Property Vrijednost (Value)
Name txtTelefon
DataSource datKupci
DataField TelefonMaxLength 10
TabIndex 15
Text (nita)
Kontrola Command1
Property Vrijednost (Value)
Name cmdDodaj
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
90/180
80
Caption &Dodaj
TabIndex 16
Kontrola Command2
Property Vrijednost (Value)Name cmdAzuriraj
Caption &Azuriraj
TabIndex 17
Kontrola Command3
Property Vrijednost (Value)
Name cmdObrisiCaption &Obrisi
TabIndex 18
Kontrola Command4
Property Vrijednost (Value)
Name cmdOdustani
Caption Od&ustani
TabIndex 19
Kontrola Command5
Property Vrijednost (Value)
Name cmdIzlaz
Cancel True
Caption &Izlaz
TabIndex 20
frmKupci:
Property Vrijednost (Value)
Name frmKupci
BorderStyle 3-Fixed Dialog
Caption Ivamar kupci
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
91/180
81
Moveable False
StartUpPosition 2-Center Screen
4. Pohranite projekt Ivamar. Vaa forma Kupci izgleda ovako:
Kodiranje forme Kupci
Private Sub Form_Activate()
datKupci.Recordset.MoveLast
datKupci.Recordset.MoveFirst
End Sub
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
92/180
82
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As
Integer)
frmGlavniObrazac.Show
End Sub
Private Sub datAdministrator_Reposition()
datKupci.Caption = datKupci.Recordset.AbsolutePosition + 1 & _
" redak" & _
" od ukupno " & datKupci.Recordset.RecordCount & _
" redaka."
End Sub
Private Sub datKupci_Validate(Action As Integer, Save As Integer)
If datKupci.Recordset.EditMode dbEditNone Then
If txtIme.Text = "" Then
MsgBox "Molim, tipkajte ime"
txtIme.SetFocus
Save = False
Action = vbDataActionCancel
Exit Sub
End If
If txtPrezime.Text = "" Then
MsgBox "Molim, tipkajte prezime"
txtPrezime.SetFocus Save = False
Action = vbDataActionCancel
Exit Sub
End If
If txtUlicaIbroj.Text = "" Then
MsgBox "Molim, tipkajte ulicu i broj"
txtUlicaIbroj.SetFocus
Save = False
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
93/180
83
Action = vbDataActionCancel
Exit Sub
End If
If txtGrad.Text = "" Then
MsgBox "Molim, tipkajte grad"
txtGrad.SetFocus
Save = False
Action = vbDataActionCancel
Exit Sub
End If
If txtPostanskiBroj.Text = "" Then
MsgBox "Molim, tipkajte postanski broj"
txtPostanskiBroj.SetFocus
Save = False
Action = vbDataActionCancel
Exit Sub
End If
If txtTelefon.Text = "" Then
MsgBox "Molim, tipkajte telefon"
txtTelefon.SetFocus
Save = False
Action = vbDataActionCancel
Exit Sub
End If
End If
End Sub
Private Sub txtIme_KeyPress(KeyAscii As Integer)
If KeyAscii >= 97 And KeyAscii
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
94/180
84
Analiza
txtIDkupca postavili na vrijednost True:
Locked True
novi redak dobije automatski svoj redni broj koji je ujedno i IDkupca.
Private Sub txtPrezime_KeyPress(KeyAscii As Integer)
If KeyAscii >= 97 And KeyAscii = 97 And KeyAscii = 97 And KeyAscii
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
95/180
85
If KeyAscii < 48 or KeyAscii > 57 Then
KeyAscii = 0
End If
End Sub
Analiza
U tablici ASCII pod rednim brojem 8 je tipka 'Backspace'. Ovaj redak...If KeyAscii = 8 then exit sub
vrijediti za tipku broj 8". Ako korisnik pritisne Backspace, Visual Basic izlazi iz
If KeyAscii < 48 or KeyAscii > 57 Then
KeyAscii = 0
Ako ono to korisnik tipka nije broj, poniti: KeyAscii = 0
iznimnost je dobila posebnim kdom.
Private Sub txtTelefon_KeyPress(KeyAscii As Integer)
If KeyAscii = 8 then exit sub
If KeyAscii < 48 or KeyAscii > 57 Then
KeyAscii = 0
End If
End Sub
Private Sub cmdDodaj_Click()
If datKupci.Recordset.EditMode dbEditNone Then
MsgBox "Molim, zavrsite azuriranje prije nego " & _
"dodate novi zapis"
Exit Sub
End If
datKupci.Recordset.Edit
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
96/180
86
datKupci.UpdateRecord
datKupci.Recordset.AddNew
txtIme.SetFocus
End Sub
11. cmdOdustani_Click():Private Sub cmdOdustani_Click()
If datKupci.Recordset.EditMode = dbEditNone Then
datKupci.UpdateControlsElse
datKupci.Recordset.CancelUpdate
End If
End Sub
Private Sub cmdObrisi_Click()
On Error GoTo ErrorHandler
Dim intRezultat As Integer
If datKupci.Recordset.EditMode dbEditNone Then
MsgBox "Ako trenutno dodajete zapis " & _
"molim, koristite gumb Odustani za prekid " & _
"dodavanja"
Exit Sub
End If
intRezultat = MsgBox("Zelite obrisati zapis u tablici " & _
"Kupci?", vbYesNo, "Obrisi zapis u Kupci")
If intRezultat = vbYes Then
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
97/180
87
datKupci.Recordset.Delete
datKupci.Recordset.MoveNext
If datKupci.Recordset.EOF Then
datKupci.Recordset.MovePrevious
End If
End If
Exit Sub
ErrorHandler:
Select Case Err.Number
Case 3200 'Kontrola referencijalnog integriteta
MsgBox Err.Description
Exit Sub
Case Else
MsgBox Err.Description
Resume Next
End Select
End Sub
Private Sub cmdIzlaz_Click()
If datKupci.Recordset.EditMode dbEditNone Then
MsgBox "Molim, zavrsite vase azuriranje prije " & _
"zatvaranja obrasca"
Exit Sub
End If
Unload Me
End Sub
Private Sub cmdAzuriraj_Click()
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
98/180
88
If datKupci.Recordset.EditMode = dbEditAdd Then
datKupci.Recordset.Update
Else
datKupci.Recordset.Edit
datKupci.Recordset.Update
End If
End Sub
1. Pohranite projekt Ivamar.Kodiranje procedure mnuKupci_Click()Private Sub mnuKupci_Click()
Me.Hide
frmKupci.Show
End Sub
1. Pohranite projekt Ivamar.2.
061883. Odaberite naredbu 'Zaposlenici/Pregled/Azuriranje Kupci'. Na bazama podataka gledanjezapisa, dodavanjezapisa, ispravljanje
brisanje greku ako ikakva postoji. Puno je bolje otkriti greku sada, dok vam je jo
direktno u Accessu. Odaberite gumb 'Dodaj' i unesite novi zapis. Tipkajtemalim slovima. Visual Basic vaa mala slova konvertira u velika.Ukoliko vam tipkanje nema efekta nakon nekoliko unijetih znakova, znajte posebno.
projektu Ivamar, formu 'StavkeNarudzbe'.
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
99/180
89
Lekcija 11Forma 'StavkeNarudzbe'
Kreiranje forme StavkeNarudzbe
1. Dodajte novu formu projektu Ivamar. Promijenite svojstvo NameufrmStavkeNarudzbe. Pohranite novu formu pod imenomStavkeNarudzbe.frm.
2. U prozoru Project Explorer sad vidite est formi:
Dodavanje kontrola formi StavkeNarudzbe
1. Formi StavkeNarudzbe dodajte dvije kontrole Frame, pet Label, osamTextBox, jedan CommandButton i jednu kontrolu Data, kao na slici dolje:
-
5/26/2018 Ivica Kartelo - Visual Basic Baze Podataka
100/180
90
2. TabIndex napravite tako da se broji redak po redak, sljeva na d