Neuigkeiten:

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

Mobiles Hauptmenü

Beim schließen eines Formulars prüfen ob Feld gefüllt

Begonnen von Brusellise, Januar 25, 2017, 10:26:58

⏪ vorheriges - nächstes ⏩

Beaker s.a.

Hallo,
ZitatNur in diesem Ereignis kann Cancel=True verwendet werden. In Deinem Code ist das wirkungslos.
Und wenn das keinen LZ-Fehler erzeugt, weist das darauf hin, das im Modulkopf
das
Option Explicit
fehlt.

@icemann
Das geht auch automatisch (s. Abb.); - allerdings nicht nachträglich-

gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

Icemann1970

Hey.... ich habe es geschafft !!!
Danke an alle, die mir geholfen und mich zum umdenken beflügelt haben. Habe mich von Makros gelöst und es mit vba geschafft. War viel Arbeit aber wenn ich genau schaue ist es doch nicht all zu schwer und man ist flexibel.
Lösung:
Public Function fncPruefen()
Dim strFehlerText As String, intFehlerzahl As Integer: intFehlerzahl = 1
    fncPruefen = True
   
   
    If IsNull(Me![Geräte Nummer]) Then
        strFehlerText = strFehlerText & intFehlerzahl & ". Keine Geräte Nummer angelegt" & vbCrLf
        intFehlerzahl = intFehlerzahl + 1
        fncPruefen = False
    End If
   
   

   If DCount("*", "Objekt", "[Geräte Nummer]='" & Me![Geräte Nummer] & "'") > 0 Then
        strFehlerText = strFehlerText & intFehlerzahl & ". Diese Gerätenummer ist bereits vergeben" & vbCrLf
        intFehlerzahl = intFehlerzahl + 1
        fncPruefen = False
   End If
   
   
    If fncPruefen = False Then
        If intFehlerzahl = 2 Then strFehlerText = Mid(strFehlerText, 3)
        Select Case MsgBox("Es gibt noch " & intFehlerzahl - 1 & " Fehler" & vbCrLf & vbCrLf & strFehlerText _
        & vbCrLf & vbCrLf & "mit OK zurück, Abbrechen verwirft den begonnenen Datensatz", vbOKCancel)
            Case vbCancel
                Me.Undo
        End Select
    End If
   
End Function

UND DANN MEINE SPEICHER FUNKTION

Private Sub SpeichernUndSchliessen_Click() 'Exit mit Speichern

    If fncPruefen = True Then
        DoCmd.Close acForm, "Eingabemaske_Einrichtung"
   
    End If

End Sub

Dank Eurer Hilfe und der db pflichtfelder2.mdb hätte ich es nicht geschafft.
Mfg. Udo