Rubrik: Datenbanken · Sonstiges | VB-Versionen: VB4, VB5, VB6 | 20.09.05 |
DataReport ohne DataEnvironment Datenbankberichte zur Laufzeit aktualisieren | ||
Autor: Andreas Obrist | Bewertung: | Views: 16.663 |
ohne Homepage | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Einen Datenbankbericht mit Hilfe des DataEnvironment-Designers per Drag und Drop zu erstellen ist einfach und vielfach beschrieben. Allerdings wird bei dieser Methode die Datenbank bereits beim Programmstart geöffnet und bleibt dann auch zur Laufzeit verbunden. Möchte man nun aber Daten, die während der Laufzeit in die Datenbank eingefügt werden, in einem Bericht anzeigen, muss man anders vorgehen. Eine einfache Möglichkeit, die Verbindung per Programmcode herzustellen, sieht folgendermaßen aus:
Option Explicit Dim db As Connection Dim rs As Recordset
' Einfügen eines neuen Datensatzes in die Datenbank Private Sub Command1_Click() dbVerbinden rs.Open "SELECT * FROM Kunde", db, adOpenStatic, adLockOptimistic rs.AddNew rs!Firma = Text1.Text rs!PLZ = Text2.Text rs!Ort = Text3.Text rs.Update db.Close End Sub
' Anzeigen des aktualisierten Reports Private Sub Command2_Click() dbVerbinden rs.Open "SELECT * FROM Kunde", db, adOpenStatic, adLockOptimistic Set DataReport1.DataSource = rs DataReport1.Show End Sub
Function dbVerbinden() Set db = New Connection Set rs = New Recordset db.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Persist Security Info=False;" & _ "Data Source= " & App.Path & "\DemoDB.mdb" End Function
Das Projekt benötigt also einen DataReport-Designer, zwei Command-Buttons, und eine Datenbank (DemoDB.mdb) mit einer leeren Tabelle (Name: Kunde, Felder: "Firma", "PLZ", "Ort"). Oder einfach downloaden!