Urejanje zapisov ob seznamu
Ko uporabnik izbere zapis, odprite obrazec za urejanje v podoknu desno od seznama, brez pogovornega okna in ne da bi zapustil seznam.
Zahteva WKL Forms Object Library 1.48 ali novejšo različico.
Pregled rešitve
Kontrolnik WklDrawer med seznamom in kontrolnikom podobrazca. Content navaja kontrolnik podobrazca, Open v njem
prikaže obrazec, Close ga znova skrije. Obrazec za urejanje je navaden Accessov obrazec; predal ga le postavi. Na zapis
ga filtrirajte v AfterOpen ali s povezovalnimi polji kontrolnika podobrazca.
Izvedba
V pogledu načrta: seznam postavite na levo, kontrolnik podobrazca sfUrejanje na desno, v vmesni prostor pa kot ozko
vrstico narišite WKL Drawer (Načrt obrazca › Kontrolniki › Kontrolniki ActiveX); poimenujte ga drw1. V
oblikovalniku ([...] v vrstici Po meri, stran Predal) za Vsebina izberite sfUrejanje; predogled navede
kontrolnike, ki postanejo ožji.
Private Sub lstStranke_DblClick(Cancel As Integer)
Me!drw1.Object.Open "frmStrankaUrejanje"
End Sub
Private Sub drw1_AfterOpen(ByVal SourceObject As String)
' The content is loaded now: show the chosen record.
Me!sfUrejanje.Form.Filter = "StrankaID = " & Me!lstStranke
Me!sfUrejanje.Form.FilterOn = True
End Sub
Private Sub drw1_BeforeClose(ByVal Reason As Long, Cancel As Integer)
' Keep the panel open while the record there has unsaved changes.
If Me!sfUrejanje.Form.Dirty Then Cancel = True
End Sub
Različne vsebine imajo lahko lastno širino:
With Me!drw1.Object
.Widths = "{""frmStrankaUrejanje"": 4500, ""frmMatrikaNarocil"": 9000}"
.MinBeside = 3402 ' 6 cm of the list stay visible
.CloseOnEscape = True ' Esc in an unchanged record closes the panel
End With
Opombe
ReasondogodkovBeforeCloseinClosedjeWklDrawerCloseReason:wdcCode(Close,Toggle, novOpen),wdcUser(gumb za zapiranje, Enter ali preslednica na vrstici),wdcEscape.- Nastavitev
Widths kodo ne sprožiAfterResize; sprožijo ga le vlečenje, puščična tipka ali UI Automation, in le te širine se zapomnijo za uporabnika (AutoSaveLayout). - Sidra seznama in kontrolnika podobrazca pustite na nastavitvi zgoraj levo: predal vsako razporeditev izračuna iz položajev v načrtu. Sidra znotraj obrazca vsebine so dobrodošla; z
AnchorContentjih predal uporabi. - Obrazec vsebine oblikujte brez vodoravnega drsnega traku in ne širšega od njegove najožje uporabe: Access dovoli, da obrazec med izvajanjem zraste, ne pa, da se skrči.
- Dokler je zapis v vsebini spremenjen, Esc naredi to, kar naredi v Accessu (razveljavi spremembo); podokno zapre samo Esc v nespremenjenem zapisu.