Datum nicht aktualisieren

22/11/2007 - 20:13 von Klaus Hensler | Report spam
Hallo Profis

Ich habe mal wieder ein Problem(chen)? und hoffe auf eure Hilfe!

Um nicht lange erklàren zu müssen, habe ich gleich den Code angehàngt
Beim Ereignis Klick wird der Datensatz dupliziert und das Datum erhöht.
Funktioniert prima.

Nun habe ich ein Feld Sendedatum zugefügt, dass das aktuelle Datum beim
Klick E_Mail gesendet erhalten und behalten!!! soll.
Bei erneutem Klick auf E_Mail aktualisiert sich logischerweise das Datum.
Wie erreiche ich, dass das Sendedatum nur einmal gesetzt und nicht mehr
geàndert wird wenn vorhanden?
Gehts überhaupt in dieser Sub oder nach Aktualisierung - Funktion - komme
einfach nicht weiter

Gruß Klaus

Private Sub E_Mail_gesendet_Click()

Dim db As Database
Dim Rs As Recordset
Dim lngAnzahl As Long
Dim strTyp As String
Dim dteDatumNeu As Date
Dim Sendedatum As Date '?????????

Set db = CurrentDb()
Set Rs = db.OpenRecordset("Monitoring", dbOpenDynaset)

Me!Sendedatum = Now '??????????????????

Rs.AddNew
Rs!Anlage = Me![Anlage]
Rs!Turnus = Me![Turnus]
Rs!TDatum_erhöhen = Me![TDatum_erhöhen]

lngAnzahl = Val(Nz(Me!TDatum_erhöhen, 0))
strTyp = Right(Nz(Me!TDatum_erhöhen, "T"), 1)
Select Case strTyp
Case "T"
dteDatumNeu = DateAdd("D", lngAnzahl, Nz(Me!TDatum, Date))
Case "M"
dteDatumNeu = DateAdd("M", lngAnzahl, Nz(Me!TDatum, Date))
End Select

Rs!TDatum = dteDatumNeu

If DCount("Anlage", "Monitoring", _
"Anlage ='" & Me![Anlage] & "' AND " & _
"Turnus ='" & Me![Turnus] & "' AND " & _
BuildCriteria("TDatum", dbDate, "=" & dteDatumNeu)) = 0 Then
Rs.Update
MsgBox "neuer Datensatz wurde hinzugefügt!", vbInformation, "
Datensatz duplizieren !"
db.Close
Set Rs = Nothing
Set db = Nothing
Else
MsgBox "neuerer Datensatz ist schon vorhanden ! ", vbCritical, "
Achtung !"
End If
End Sub
 

Lesen sie die antworten

#1 Jörg Bremerich
22/11/2007 - 20:39 | Warnen spam
Hallo Klaus,


"Klaus Hensler" schrieb im
Newsbeitrag news:
Hallo Profis

Ich habe mal wieder ein Problem(chen)? und hoffe auf eure Hilfe!

Um nicht lange erklàren zu müssen, habe ich gleich den Code angehàngt
Beim Ereignis Klick wird der Datensatz dupliziert und das Datum erhöht.
Funktioniert prima.

Nun habe ich ein Feld Sendedatum zugefügt, dass das aktuelle Datum beim
Klick E_Mail gesendet erhalten und behalten!!! soll.
Bei erneutem Klick auf E_Mail aktualisiert sich logischerweise das Datum.
Wie erreiche ich, dass das Sendedatum nur einmal gesetzt und nicht mehr
geàndert wird wenn vorhanden?
Gehts überhaupt in dieser Sub oder nach Aktualisierung - Funktion - komme
einfach nicht weiter

Gruß Klaus

Private Sub E_Mail_gesendet_Click()

Dim db As Database
Dim Rs As Recordset
Dim lngAnzahl As Long
Dim strTyp As String
Dim dteDatumNeu As Date
Dim Sendedatum As Date '?????????

Set db = CurrentDb()
Set Rs = db.OpenRecordset("Monitoring", dbOpenDynaset)

Me!Sendedatum = Now '??????????????????




Ich würde überprüfen, ob das Feld Sendedatum schon einen Eintrag hat. Wenn
ja, nix machen, wenn nein, eintragen.
Etwa so:

if len(trim$(nz(me!sendedatum)))=0 then
me!sendedatum=now
end if

Viele Grüße aus dem Saarland
Jörg Bremerich

Ähnliche fragen