|
|
Datenbindung 3Datenbindung (Teil 3)
Der Code für die Datenbindung lässt sich noch weiter optimieren. Dazu wird der Code für die eigentliche Datenbindung in eine weitere Klasse ausgelagert. Diese hat einzig zur Aufgabe die Datenbindung zwischen der Datenklasse und dem Formular herzustellen. Der Code für eine solche Klasse sieht wie folgt aus: Option Compare Database
Option Explicit Private m_Kunde As cls_Kunden Private m_DataBinder As cls_DataBinder Private m_Form As Access.Form Private Sub Class_Initialize() 'Objekte instanzieren Set m_Kunde = New cls_Kunden Set m_DataBinder = New cls_DataBinder End Sub Private Sub Class_Terminate() 'Aufräumen Set m_DataBinder = Nothing Set m_Kunde = Nothing Set m_Form = Nothing End Sub Public Sub BindData(ByVal ThisForm As Access.Form) Set m_Form = ThisForm 'DataBinder füllen Set m_DataBinder.Form = m_Form.Form Set m_DataBinder.DataObject = m_Kunde Set m_DataBinder.CancelButton = m_Form!cmdAbbrechen Set m_DataBinder.OkButton = m_Form!cmdSpeichern 'Steuerelemente an Daten binden m_DataBinder.AddControl m_Form!txtId, "ID" m_DataBinder.AddControl m_Form!txtFamname, "FamName" m_DataBinder.AddControl m_Form!txtVorname, "Vorname" m_DataBinder.AddControl m_Form!txtGeburtstag, "Geburtstag" ' Weitere Steuerelemente ' ... 'Daten laden If Nz(m_Form.OpenArgs, 0) <> 0 Then m_Kunde.Load m_Form.OpenArgs m_DataBinder.LoadFormData End If End Sub Der Code im Formular schrumpft dann auf wenige Zeilen: Private m_KundenFormDataBinder As cls_KundenFormDataBinder Private Sub Form_Load() Private Sub Form_Unload(Cancel As Integer) Eine Beispieldatenbank steht hier zum Download bereit:
|
02.10.2020: 06.11.2019: 06.05.2017: 27.03.2016: 23.05.2014: |
|
|