Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

zusammhängende doppelte Eintrage verhindern

Begonnen von Dietmar, November 28, 2014, 10:03:08

⏪ vorheriges - nächstes ⏩

Dietmar

#15
Hi und danke für die Antwort,
wollte mich nur kurz melden liege nach einem Motorradunfall im Krankenhaus und melde mich wieder sobald ich einigermaßen fit bin. Danke
Gruß
Dietmar

Dietmar

Hallo zusammen,
bin soweit das ich wieder eine Tastatur bedienen kann ::)

Rolle das Thema noch mal von vorne auf.
Ich habe eine Tabelle tbl_schicht in der ich das Datum die Schichtfolge und den Schichtleiter erfasse.
Über den Index habe ich geregelt, dass ein Datensatz mit gleichem Datum und gleicher Schichtfolge nicht möglich ist.
Das klappt auch!



Das Formular ist so aufgebaut, das ich über einen Button einen neuen Datensatz anlegen kann alle Felder werden geleert und ich kann loslegen. Auch das funktioniert.

Nun gebe ich einen neuen Datensatz ein sollte er kein doppeltes Datum in Verbindung mit der Schichtfolge haben, wird dieser über den Speichebutton gespeichert. Auch das klappt.

Problem:
Sollte ein Datum in Verbindung mit einer Schichtfolge existieren kommt im Normalfall richtigerweise eine Fehlermeldung aus Access die ich mit Response=acDataErrContinue abfange und mit einer MsgBox "Datum mit Schichtfolge existiert schon" als User freundliche Meldung kommentiere.
Wie bekomme ich es hin das meine Eingabefelder nach meiner MsgBox wieder komplett leer sind Me!schicht_datum.Undo oder .Set Focus klappt nicht.

Hier mein aktueller Code:
Private Sub Form_BeforeUpdate(Cancel As Integer)

Response = acDataErrContinue

If DCount("*", "tbl_schicht", "schicht_datum = " & Format(Me.schicht_datum, "\#yyyy-mm-dd\#") & _
                " AND schifo_id_f = " & Me.Schichtfolge) > 0 Then

                MsgBox "Datum mit Schichtfolge bereits vorhanden!" _
                & "Bitte neues Datum eingeben!"
               
                Me!schicht_datum.Undo
                Me!Schichtfolge.Undo
                Me!Schichtleiter.Undo
               
           
         Cancel = True
     End If

End Sub


Gruß
Dietmar


Dietmar

Hi DF6GL,

danke das klappt, ich dachte das ich jedes Feld mit Namen ansprechen muss.
Gruß
Dietmar