Also, d.H. Du hast in diesem Falle eine Tabelle, die in Access integriert ist, und deren Felder Inhalte Du lesen Möchtest.
Du hast gesagt, Du möchtest Dies mid Recordset tun.
Jetzt ist es so, dass meine Access Version, die nicht 97 ist den Befehl Currentdb (Currentdatabase) besitzt. Mit diesem Befeh^l bist Du dann schon mal am richtigen Ort. Vermutlich hat Dein Access aber diesen Befehl nicht, somit musst Du den Befehl irgendwie ersetzen, mit Vermutlich : Databases.Recordsets.Openrecordsets, nehme ich Mal an.
Der Baum sieht nämlich folgendermassen aus, von den Objekten:
DBEngine
Workspaces
Databases
TabelDefs
QueryDefs
…
Recordsets
Fields
Dieser Baum kannst Du jeweils mit einem Punkt zwischen jeder Zeile Trennen.
Jetzt zum Code:
Du brauchst als erstes mal eine Abfrage, Sortierung, ein Suchbefehl.
'Deklarationen
Dim rs As Variant
Dim i As Integer
'Abfrage nach Kundendaten öffnen.
Set rs = CurrentDb.OpenRecordset("SELECT Kunden_Nummer, Name, Firma, Strasse, Nummer, PLZ, Ort, Tel, Land " & „FROM Auftrag_Kunden ORDER BY Kunden_Nummer“) 'Öffnet die angegebene Datenbank, Kunden_Nummer ist Schlüsselfeld, alle Select Anweisungen möchte ich verändern oder Einlesen. ORDERBY, gibt an nach was geordnet wird, Reihenfolge der Abfrage.
'Als nächstes kommt das Grosse suchen mit z.B. FindFirst, suchst Du ein Datenfeld, welches deinen Vorgaben entspricht.
Dim fFirst As Boolean 'fFirst = True FindFirs, else FindNext
fFirst = True
Do While True
With rs
If fFirst = True Then
.FindFirst ("" & Suchfeld(0) & " = ‚" & Angabe(0) & "‘")
fFirst = False
Else
'Find Next wird verwendet, falls mehrere Datensätze mit gleichem Inhalt vorhanden sind.
.FindNext ("" & Suchfeld(0) & " = ‚" & Angabe(0) & "‘")
End If
If .NoMatch Then 'Beendet Loop-Schleife, wenn keine weiteren daten mehr gefunden werden
Form_Auftrag_Erfassung.lboxSuchresultat.AddItem („Keine weiteren Daten gefunden!“)
Exit Sub
Else
'Überprüft erstes Suchresultat nach Richtigkeit
Text2 = .Fields(Suchfeld(0)).Value
For i = 1 To Zahl
If Suchfeld(i) „“ Then Text2 = Text2 & „,“ & .Fields(Suchfeld(i))
Next i
'Weist erstes Resultat der lbox in FORM_Auftrag_Erfassung zu.
If Text1 = Text2 Then
Text2 = „“
'Felderinhalte werden Variablen zugeordnet.
Text2 = .Fields(„Kunden_Nummer“) & ", "
Text2 = Text2 & .Fields(„Firma“) & ", "
Text2 = Text2 & .Fields(„Name“) & ", "
Text2 = Text2 & .Fields(„Strasse“) & " "
Text2 = Text2 & .Fields(„Nummer“) & ", "
Text2 = Text2 & .Fields(„PLZ“) & ", "
Text2 = Text2 & .Fields(„Ort“) & ", "
Text2 = Text2 & .Fields(„Land“) & ", "
Text2 = Text2 & .Fields(„Tel“)
Form_Auftrag_Erfassung.lboxSuchresultat.AddItem (Text2)
End If
End If
End With
Loop
rs.Close
End Sub
Das war ein Beispiel für die Dateneinlesung.
Jetzt ein Beispiel, für das Verändern der Felder. auch hier muss wieder zuerst gesucht werden.
Public Sub Zuweisen_von_Auftrag_Kunden_Registrierung_an_Aktuellem_Datensatz()
Dim rs
Set rs = CurrentDb.OpenRecordset("SELECT Firma, Anrede, Kunden_Nummer, Name, Vorname, Strasse, Nummer, Postfach, PLZ, Ort, Land, Tel, Fax, EMail, Webseite, TelII, FaxII, EMailII, Rabatt " & "FROM Auftrag_Kunden WHERE Kunden_Nummer = " & Form_Auftrag_Kunden_Registrierung.tboxKunden_Nummer.Value) 'Öffnet die angegebene Datenbank und sucht durch WHERE, wo das Schlüsselfeld namens Kunden_Nummer gleich dem Feld Form_Auftrag_Kunden_Registrierung.tboxKunden_Nummer.Value ist.
With rs
rs.MoveFirst 'Bewegt den Lesezeiger auf den gefundenen Datensatz
.edit 'Editiert die Felder für änderungen
'Weist die Inhalte von textfeldern in der Form den Feldern (!Feld) zu
!Firma = Form_Auftrag_Kunden_Registrierung.tboxFirma.Value
!Anrede = Form_Auftrag_Kunden_Registrierung.comboxAnrede.Value
!Name = Form_Auftrag_Kunden_Registrierung.tboxName.Value
!Vorname = Form_Auftrag_Kunden_Registrierung.tboxVorname.Value
!Strasse = Form_Auftrag_Kunden_Registrierung.tboxStrasse.Value
!Nummer = Form_Auftrag_Kunden_Registrierung.tboxNummer.Value
!Postfach = Form_Auftrag_Kunden_Registrierung.comboxPostfach.Value
!PLZ = Form_Auftrag_Kunden_Registrierung.tboxPLZ.Value
!Ort = Form_Auftrag_Kunden_Registrierung.tboxOrt.Value
!Land = Form_Auftrag_Kunden_Registrierung.comboxLand.Value
!Tel = Form_Auftrag_Kunden_Registrierung.tboxTel.Value
!Fax = Form_Auftrag_Kunden_Registrierung.tboxFax.Value
!EMail = Form_Auftrag_Kunden_Registrierung.tboxE_Mail.Value
!Webseite = Form_Auftrag_Kunden_Registrierung.tboxWebseite.Value
!TelII = Form_Auftrag_Kunden_Registrierung.tboxTelII.Value
!FaxII = Form_Auftrag_Kunden_Registrierung.tboxFaxII.Value
!EMailII = Form_Auftrag_Kunden_Registrierung.tboxE_MailII.Value
!Rabatt = Form_Auftrag_Kunden_Registrierung.tboxRabatt.Value
.Update 'Speichert die Änderungen
.Close 'Schliesst das ganze
End With
End Sub