Hallo Forum,
wir haben folgenden code hier im Forum (https://www.access-o-mania.de/forum/index.php?topic=22485.msg130782#msg130782) gefunden, um eine Nachricht beim Hinzufügen eines neuen Datensatzes anzuzeigen:
Zitat von: Lachtaube am Juni 22, 2017, 11:27:34Private Sub Form_Timer()
Static OldCount As Long
Dim NewCount As Long
Const Msg As String = "Die Datenmenge hat um # auf # Datensätze &."
NewCount = DCount("*", "TabellenOderAbfragename", "optionale_Kriterien")
If NewCount <> OldCount Then
If NewCount > OldCount Then
MsgBox Replace(Replace(Replace(Msg, "#", NewCount - OldCount, 1), _
"#", NewCount), _
"&", _
"zugenommen")
Else
MsgBox Replace(Replace(Replace(Msg, "#", OldCount - NewCount, 1), _
"#", NewCount), _
"&", _
"abgenommen")
End If
End If
End Sub
Es erscheint auch eine MessageBox, allerdings wird bei einer angenommenen Erhöhung um 1 weiteren Datensatz von 134 auf 135 statt der zu erwartenden Message
"Die Datenmenge hat um 1 auf 135 Datensätze zugenommen"
beide Male die # aus dem code durch den aktuellen neuen Wert (NewCount) ersetzt, so dass die Meldung
"... um 135 auf 135 Datensätze zugenommen" lautet.
Kann es sein, dass eine Definition für den OldCount-Wert im Code fehlt? Wie sähe die aus?
Vielen Dank bereits jetzt für eure Hilfe!
@PM HWSI Gehe den Code doch mal im Einzelschrittmodus durch und schau
dir die Werte der Variablen an.
Beim ersten Aufruf der Prozedur ist OldCount 0, du musst also
vor dem letzten End If dem OldCount einen neuen Wert zuweisen
OldCount = NewCountgruss ekkehard