Kapitel 16: Techniken der Programmentwicklung
ActiveX-Control testen
Die Entwicklungsumgebung von Microsoft Visual Basic bietet hervorragende Möglichkeiten, um die Funk-
tionsfähigkeit unseres »selbst gebackenen« ActiveX-Controls bereits zur Entwurfszeit zu testen. Eine OCX-
Datei braucht dazu noch nicht angefertigt zu werden!
Oberfläche
Wählen Sie den Menübefehl Datei/Projekt hinzufügen und entscheiden Sie sich diesmal für den Projekttyp
Standard-EXE.
Auf das Startformular platzieren Sie die neue Komponente. Falls diese dort noch nicht zu sehen ist, rufen
Sie über den Menübefehl Projekt/Komponenten das zugehörige Dialogfeld auf und setzen das fehlende
Häkchen bei dem Eintrag, der der Projektbeschreibung entspricht:
Abbildung 16.34 Komponenten-Dialogfeld
Anschließend platzieren wir einige Textfelder für eine kleine Eingabemaske auf dem Formular, sie ent-
spricht in unserem Fall der Testdatenbank Personal.mdb, die sich auf der Buch-CD befindet.
Abbildung 16.35 Testformular
1052
Speichern Sie das Projekt z.B. als Test.vbp zwischendurch ab, stellen Sie dabei fest, dass Visual Basic auto-
matisch eine Projektgruppe Gruppe1.vbg angelegt hat, wie auch der Blick auf den Projekt-Explorer belehrt.
Abbildung 16.36 Ansicht des Projekt-Explorers
Programmierung
Um den Aufwand niedrig zu halten, testen wir unsere Komponente am besten mit einer lokalen Daten-
bank, um die es nicht »schade« ist. Zu diesem Zweck wurde Personal.mdb ins Anwendungsverzeichnis
kopiert.
Der Code unseres Testformulars Form1:
Nach wie vor sind Sie für die Definition von Variablen zuständig:
Dim db As Database, rs1 As Recordset
Auch das Öffnen von Datenbank und Recordset bleibt noch pure Handarbeit:
Private Sub Form_Load()
Set db = OpenDatabase(App.Path & "\Personal.mdb")
Set rs1 = db.OpenRecordset("Personen")
Set XDataControl1.Recordset = rs1
End Sub
Nun können Sie endlich mit dem ActiveX-Steuerelement arbeiten. Die Anzeige des aktuellen Datensatzes
wird im
Current
-Event vorgenommen:
Private Sub XDataControl1_Current()
Text1.Text = rs1!Nr
If Not IsNull(rs1!Anrede) Then Text2.Text = rs1!Anrede Else Text2.Text = ""
If Not IsNull(rs1!Nachname) Then Text3.Text = rs1!Nachname Else Text3.Text = ""
End Sub
Soll ein neuer Datensatz erstellt werden, können Sie die Eingabefelder im
InsertClick
-Ereignis mit Defaultwer-
ten füllen:
Private Sub XDataControl1_InsertClick()
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
End Sub
Vor dem Löschen bietet sich eine Sicherheitsabfrage an, die im
ConfirmDelete
-Ereignis untergebracht ist:
Private Sub XDataControl1_ConfirmDelete(cancel As Boolean)
cancel = MsgBox("Datensatz löschen?", vbYesNo, "Frage") = vbNo
End Sub
1053
ActiveX-Controls mit VB 6 programmieren

Get Microsoft Office Access 2007-Programmierung - Das Handbuch now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.