Dann ergänzt du das einfach noch etwas.
Do While Not Tbl.EOF
Tbl.MoveNext
Loop
Hoffentlich auch bei dir.
Grüße Sirc
Hallo Sirc,
SUUUUPER - das gibt `nen Stern! DANKE
Was so zwei Zeilen bewirken können!
Ich habe die Funktion noch ein wenig erweitert - jetzt läuft auch noch eine Stoppuhr mit.
Und siehe da, ca. 80.000 Zellen! werden innerhalb von einer Sekunde umgestellt!
Mit Excel bin ich da 5 Minuten unterwegs und muss die Tabelle wieder zurück ins Access führen. Ne Menge Zeit und Geduld gespart.
Und hier die erweiterte Funktion:
Public Function Nuller()
Dim DB As Database
Dim Tbl As Recordset
Dim C As Field
Dim Start As Date
Dim Ende As Date
Dim AnzahlZeilen As Long
Dim AnzahlSpalten As Long
Dim AnzahlZellen As Long
Set DB = CurrentDb()
Set Tbl = DB.OpenRecordset("Tabelle1", dbOpenTable)
Start = Format(Now(), "hh:mm:ss")
Do While Not Tbl.EOF
For Each C In Tbl.Fields
If IsNull(C.Value) Then
Tbl.Edit
C.Value = "0"
Tbl.Update
End If
Next C
Tbl.MoveNext
Loop
AnzahlZeilen = Tbl.RecordCount
AnzahlSpalten = Tbl.Fields.Count
AnzahlZellen = AnzahlZeilen \* AnzahlSpalten
Ende = Format(Now(), "hh:mm:ss")
MsgBox "Bearbeitete Anzahl Zellen: " & AnzahlZellen & vbCrLf \_
& vbCrLf & "Start: " & Start & vbCrLf \_
& vbCrLf & "Ende: " & Ende
Tbl.Close
DB.Close
End Function
nochmals Danke sagt
Andy