access + vb: datenssätze tauschen

Besucher

Grünschnabel
hallo,
da ich nicht gerade ein befürworter von micro*oft bin habe
ich noch nicht viel mit access "db" und vb zu tun gehabt.

ich hoffe ihr könnt mich bei meinen kleinen problem unterstützen.

ich habe eine tabelle mit 3 spalten, diese spalten sind mit char (zwei oder dreistellig) befüllt.
spalte1--spalte2--spalte3
ABC------ YYZ ------RS
AAA--------BB -------CCC
RRR ------------------DDD

folgendes soll verwirklicht werden ...
start loop (durch die zeilen)
1. zeile
wenn inhalt spalte1 leer ist dann soll der inhalt von von spalte2 auf spalte1, der inhalt von spalte3 auf spalte2 und der leere inhalt von spalte1 auf spalte3 verschoben werden.

wenn spalte2 leer ist dann spalte1=spalte1, spalte2=spalte3 und splate3=spalte2
usw.
2. zeile
.........
end loop (durch die zeilen)


btw: welchen wert hat eine leeres feld in access?

mfg
 
mojen,

so könnte Dein Code aussehen

'Tabellenfelder müssen mit der Eigenschaft 'Leere Zeichenfolge = JA' gesetzt werden

Public Function FülleSpalten()
Dim DB As Database
Dim RS As Recordset

Set DB = DBEngine(0)(0)
Set RS = DB.OpenRecordset("Select * from Tabelle")

If Not RS.EOF Then
Do Until RS.EOF
RS.Edit
If IsNull(RS![Feld1]) Or RS![Feld1] = vbNullString Then
If IsNull(RS![Feld2]) Or RS![Feld2] = vbNullString Then
If Not IsNull(RS![Feld3]) Or RS![Feld3] <> vbNullString Then
RS![Feld1] = RS![Feld3]
RS![Feld2] = Null
RS![Feld3] = Null
End If
Else
RS![Feld1] = RS![Feld2]
If Not IsNull(RS![Feld3]) Or RS![Feld3] <> vbNullString Then
RS![Feld2] = RS![Feld3]
RS![Feld3] = Null
End If
End If
Else
If IsNull(RS![Feld2]) Or RS![Feld2] = vbNullString Then
If Not IsNull(RS![Feld3]) Or RS![Feld3] <> vbNullString Then
RS![Feld2] = RS![Feld3]
RS![Feld3] = Null
End If
End If
End If
RS.Update
RS.MoveNext
Loop
End If
RS.Close
DB.Close
End Function

Hab es mit allen Möhlickeiten getestet. gut.

Viel Spaß

ANI :)
 
Zurück