
| Option Explicit Private Sub cmdHinzufügen_Click() datPrimaryRS.Recordset.AddNew End SubPrivate Sub cmdLöschen_Click() With datPrimaryRS.Recordset .Delete .MoveNext If .EOF Then .MoveLast End With End SubPrivate Sub cmdNeulesen_Click()'Dies wird nur für Mehrbenutzeranwendungen benötigt datPrimaryRS.Refresh End SubPrivate Sub cmdAktualisieren_Click() datPrimaryRS.UpdateRecord End SubdatPrimaryRS.Recordset.Bookmark = datPrimaryRS.Recordset.LastModified Private Sub cmdSchließen_Click() Screen.MousePointer = vbDefault End SubUnload Me Private Sub datPrimaryRS_Error(DataErr As Integer, Response As Integer) 'An dieser Stelle würde Code zur Fehlerbehandlung stehen End Sub'Wenn Sie Fehler ignorieren möchten, kommentieren Sie die nächste Zeile aus 'Wenn Sie die Fehler auffangen möchten, fügen Sie an dieser Stelle Code ein, um Fehler zu behandeln MsgBox "Data error event hit err:" & Error$(DataErr) Response = 0 'Fehler verwerfen Private Sub datPrimaryRS_Reposition() Screen.MousePointer = vbDefault End SubOn Error Resume Next 'Hierdurch wird die aktuelle Datensatzposition für Dynasets und Snapshots angezeigt datPrimaryRS.Caption = "Record: " & (datPrimaryRS.Recordset.AbsolutePosition + 1) Private Sub datPrimaryRS_Validate(Action As Integer, Save As Integer) 'An dieser Stelle steht Code zur Überprüfung von Eingaben 'Dieses Ereignis wird ausgelöst, wenn die folgenden Aktionen stattfinden Select Case Action Case vbDataActionMoveFirst Case vbDataActionMovePrevious Case vbDataActionMoveNext Case vbDataActionMoveLast Case vbDataActionAddNew Case vbDataActionUpdate Case vbDataActionDelete Case vbDataActionFind Case vbDataActionBookmark Case vbDataActionClose Screen.MousePointer = vbDefault End Select End SubScreen.MousePointer = vbHourglass Private Sub Form_Unload(Cancel As Integer) Screen.MousePointer = vbDefault End Sub |

Zuerst muß der der Zugriff ermöglicht werden.
Damit Visual Basic "lernt", daß es um Datenmanagement geht, damit es z.B. die erforderlichen Datentypen Database und Recordset "lernt", muß zunächst das Steuerelement "Data" eingefügt werden. Da wir es nicht wirklich benutzen wollen, kann man es im Eigenschaftenfenster auf visible = falsesetzen. Weg ist es! Statt der obigen Dateieinträge im Eigenschaftenfenster wird nun diese Arbeit selbst übernommen. Wir wollen auf einen Datensatz (Recordset) der Datenbank (Database) zugreifen. Dazu müssen beide geöffnet werden. In diesem Recordset gibt es die Felder (Fields) mit ihren Namen, hier Datum, DAX und Wildau. Das Lesen oder Schreiben von Werten setzt voraus, daß der Datensatz und der Feldname angegeben werden.
| Beispiel-Deklarationen, die zum Zugriff nötig sind: Dim db As Database Dim dy As Recordset Dim meinTag As Date, neuTag As Date, DAX As Single, Wildau As Currency Dim xvon As Date, xbis As Date Datenbank öffnen, Variable für Record definieren Set db = DBEngine.Workspaces(0).OpenDatabase("h:\rmueller\geld\Depot.mdb") 'hier ein fiktiver Pfad! Set dy = db.OpenRecordset("Kurse", dbOpenDynaset) 'Recordset zur Tabelle "Kurse" öffnen Datumsgrenzen der Eintragungen: dy.MoveFirst xvon = dy.Fields("Datum").Value dy.MoveLast xbis = dy.Fields("Datum").Value Lesen der Variablen des ersten Datensatzes: dy.MoveFirst meinTag = dy.Fields("Datum").Value DAX = dy.Fields("DAX").Value Wildau = dy.Fields("Wildau").Value Lesen von frei gewählten Werten: Dax vom 12.12.88 (vorausgesetzt es gibt ihn in der Datenbank!) dy.MoveFirst For meinTag = xvon To xbis If meinTag = dy.Fields("Datum") Then dy.MoveNext If dy.Fields("Datum") = CDate(12.12.88) Then DAX = dy.Fields("DAX") Exit For End If End If NextVerändern der Werte des letzten vorhandenen Datensatzes: dy.Edit 'Änderungen ankündigen dy.MoveLast 'gewünschten Satz wählen, hier den letzten dy.Fields("Datum").Value = neuTag 'veränderten Datumswert angeben dy.Fields("DAX").Value = neuDAX 'DAX-Wert verändern dy.Fields("Wildau").Value = neuWildau 'Wert der Aktie "Wildau" verändern dy.Update 'Werte sichern (in Datenbank schreiben) Datensatz aus dem Programm heraus hinzufügen: dy.AddNew dy.Fields("Datum").Value = Date 'heutiges Datum (oder Datumsvariable mit gewünschtem Wert) dy.Fields("DAX").Value = DAX 'heutiger DAX-Wert oder ... dy.Fields("Wildau").Value = Wildau dy.Update dy.close 'Datenbank schließen |