Access: Daten auslesen und neu speichern

Hallo,

ich bin in der VBA Programmierung Anfänger und benötige Hilfe.

Mithilfe eines Scriptes möchte ich in Access(2000)
die Felder 2 und 3 auslesen; immer wenn in Feld2 „AA0“ steht soll der Inhalt von Feld3 in Feld1 kopiert werden.
Wenn ein anderer Wert als „AA0“ in Feld 2 steht, soll der letzte ermittelte Wert aus Feld3 in Feld1 kopiert werden.

Die Datensätze von AA0 bis zum nächsten AA0 gehören zusammen und sollen so über den geschriebenen Wert in Feld1 kenntlich gemacht werden.

Am besten ist dieses an einem Beispiel deutlich zu machen:

Ursprung:
Feld1 Feld2 Feld3 Feld4
leer AA0 123 Text1
leer BB1 a12 Text2
leer BB2 a12 Text3
leer AA0 789 Text4
leer ZB1 a12 Text5
leer AA0 456 Text6

Ergebnis:
Feld1 Feld2 Feld3 Feld4
123 AA0 123 Text1
123 BB1 a12 Text2
123 BB2 a12 Text3
789 AA0 789 Text4
789 ZB1 a12 Text5
456 AA0 456 Text6

Ich hoffe, jemand kann mir bei der Lösung des Problems helfen.

Vielen Dank schon einmal im voraus.

Grüße
Martin

Hallo,

Mithilfe eines Scriptes möchte ich in Access(2000)
die Felder 2 und 3 auslesen; immer wenn in Feld2 „AA0“ steht
soll der Inhalt von Feld3 in Feld1 kopiert werden.
Wenn ein anderer Wert als „AA0“ in Feld 2 steht, soll der
letzte ermittelte Wert aus Feld3 in Feld1 kopiert werden.

Dim db As Database, rst1 As Recordset, stText As String
Set db = CurrentDb
Set rst1 = db.OpenRecordset(„Hier Tabellennamen eintragen“, dbOpenDynaset)
stText = „“
rst1.MoveFirst
Do Until rst1.EOF = True
If rst1![Feld2] = „AA0“ Then
stText = rst1![Feld3]
rst1.Edit
rst1![Feld1] = stText
rst1.Update
Else
rst1.Edit
rst1![Feld1] = stText
rst1.Update
EndIf
rst1.MoveNext
Loop
rst1.Close
Set rst1 = Nothing
db.Close
Set db = Nothing

Beachte bitte, dass solange eine leere Zeichenfolge übertagen wird, bis zum ersten Mal „AA0“ gefunden wird. Da hattest Du ja nichts zu den Startbedingungen gesagt.

MfG,

ujk

Hallo ujk,

supi, läuft wie geschmiert.
Vielen Dank für Deine schnelle Hilfe.

Grüße
Martin