Obvestilo z razveljavitvijo
V tej vadnici zgradite seznam pravil, pri katerem brisanje pravila prikaže obvestilo „Pravilo je izbrisano“ s povezavo Razveljavi, razveljavitev pa pravilo vrne.
Predpogoji
- Microsoft 365 Access ali Access Runtime, v 32- ali 64-bitni različici, z nameščenim paketom WKL Forms Object Library 1.34 ali novejšim, registriranim za trenutnega uporabnika sistema Windows (Namestitev izdanega paketa).
- Nova ali obstoječa podatkovna zbirka na zaupanja vrednem mestu.
Koraki
1. Ustvarite vzorčno tabelo
Proceduro prilepite v standardni modul in jo enkrat zaženite iz okna Immediate
(CreateNoteSample):
Public Sub CreateNoteSample()
With CurrentDb
.Execute "CREATE TABLE tblPravila (ID LONG CONSTRAINT PK_Pravila PRIMARY KEY, Name TEXT(50), Izbrisano YESNO)"
.Execute "INSERT INTO tblPravila VALUES (1, 'Opomin po 30 dneh', False)"
.Execute "INSERT INTO tblPravila VALUES (2, 'Popust od 1.000 EUR', False)"
End With
End Sub
2. Nastavite sklic
V urejevalniku VBA izberite Orodja › Sklici (Tools › References) in potrdite WKL Forms x.y Object
Library. WklToast ni kontrolnik, zato Access sklica ne nastavi sam.
3. Ustvarite obrazec
Ustvarite neprekinjeni obrazec frmPravila z virom zapisov
SELECT * FROM tblPravila WHERE Not Izbrisano, poljem z besedilom Name, vezanim na Name, in
ukaznim gumbom cmdIzbrisi (napis Izbriši) v odseku s podrobnostmi.
4. Napišite modul
Option Compare Database
Option Explicit
Private WithEvents mToast As WklToast
Private Sub Form_Load()
Set mToast = New WklToast
End Sub
Private Sub cmdIzbrisi_Click()
Dim id As Long, ruleName As String
If IsNull(Me!ID) Then Exit Sub
id = Me!ID
ruleName = Me!Name
CurrentDb.Execute "UPDATE tblPravila SET Izbrisano = True WHERE ID = " & id, dbFailOnError
Me.Requery
mToast.Show "Pravilo """ & ruleName & """ je izbrisano.", wtkSuccess, , "Razveljavi", id
End Sub
Private Sub mToast_Action(ByVal Id As Long, ByVal Tag As Variant)
CurrentDb.Execute "UPDATE tblPravila SET Izbrisano = False WHERE ID = " & Tag, dbFailOnError
Me.Requery
End Sub
5. Preizkusite
Odprite obrazec in pri prvem pravilu kliknite Izbriši: pravilo izgine s seznama, spodaj desno v Accessovem oknu pa se prikaže zeleno obvestilo. V 8 sekundah kliknite Razveljavi ali pritisnite Ctrl+Shift+Z: pravilo se vrne. Fokus ves čas ostane v obrazcu.
Pričakovani rezultat
- Brisanje prikaže eno obvestilo za vsako brisanje; po 8 sekundah se zapre samo.
- Razveljavitev prek povezave, s Ctrl+Shift+Z ali s F6 in nato Enter pravilo vrne.
- Obvestilo ostane vidno, ko se obrazec zapre, vendar njegova razveljavitev tedaj ne naredi ničesar: modul zaprtega obrazca ne posluša več. Ta primer pokriva
ActionFunction(glejte navodilo).
Naslednji koraki
- Prikaz obvestila po dejanju z možnostjo razveljavitve:
ActionFunction, obvestila v kotu obrazca.