Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Pflichtfeld mit VBA???
Gehe zu Seite 1, 2, 3  Weiter
zurück: Probleme beim Schließen eines Formulares weiter: Serienbrief Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Antwort Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
Gast



Verfasst am:
08. Jun 2011, 08:57
Rufname:

Pflichtfeld mit VBA??? - Pflichtfeld mit VBA???

Nach oben
       Version: Office 2007

Hallo Forum,

könnte mir jemand bitte helfen bezüglich eines Codes für Pflichtfelder?
Ich habe auf meinem Formular ein Kombifeld. Dieses soll ein Pflichtfeld werden.
Und wenn dieses nicht ausgefüllt ist, also leer ist, soll man nicht auf einen anderen Datensatz springen können oder die Datenbank schließen können.
Stattdessen soll die Meldung: Bitte Wert in Feld eintragen erscheinen.

Was muss ich dafür tun.
Würde mich freuen, wenn es jemand weiß.
Vielen Dank.
Michel
MissPh!
Office-VBA-Programmiererin


Verfasst am:
08. Jun 2011, 10:32
Rufname:
Wohnort: NRW


AW: Pflichtfeld mit VBA??? - AW: Pflichtfeld mit VBA???

Nach oben
       Version: Office 2007

Hallo,

du kannst die Eigenschaft "Eingabe erforderlich" des Tabellenfeldes auf Ja einstellen, dann erledigt Access das für dich.

PS: ein wenig mehr Geduld solltest du schon haben.

_________________
Gruß MissPh!
Gast



Verfasst am:
08. Jun 2011, 12:01
Rufname:

AW: Pflichtfeld mit VBA??? - AW: Pflichtfeld mit VBA???

Nach oben
       Version: Office 2007

Hallo,

Danke für die Antwort.
Aber mit dieser Funktion habe ich die unschöne Nebenwirkung das man dann das Formular schließen kann und der Datensatz wird nicht gespeichert.
Ich hätte gerne dass ich es unmöglich ist den Datensatz auf irgendeine Weise zu verlassen bevor nicht die Eingabe erfolgt ist.
Ich habe dazu hier im Forum einen kurzen Code entdeckt. Leider finde ich diesen nicht mehr.
Hast du eine Idee dazu?
KlausMz
Moderator Access


Verfasst am:
08. Jun 2011, 12:21
Rufname:
Wohnort: Irgendwo in der Pfalz

AW: Pflichtfeld mit VBA??? - AW: Pflichtfeld mit VBA???

Nach oben
       Version: Office 2007

Hallo,
im Anhang mal ein Beispiel, das das Speichern eines unvollständigen Datensatzes unter allen Umständen verhindert. Es sei denn, man schaltet den Rechner ab, oder der Strom fällt aus.
Es ist auch die Prüfung eines Kombis dabei.
Es werden auch detailierte Fehlermeldungen ausgegeben, was noch fehlt.

_________________
Gruß
Klaus . . . . . Feedback wäre wünschenswert.
Ich möchte bitte keine unaufgeforderten PN. Fragen bitte im Forum.



Pflichtfelder.zip
 Beschreibung:

Download
 Dateiname:  Pflichtfelder.zip
 Dateigröße:  26.45 KB
 Heruntergeladen:  241 mal



Zuletzt bearbeitet von KlausMz am 08. Jun 2011, 15:34, insgesamt 2-mal bearbeitet
MissPh!
Office-VBA-Programmiererin


Verfasst am:
08. Jun 2011, 12:23
Rufname:
Wohnort: NRW


AW: Pflichtfeld mit VBA??? - AW: Pflichtfeld mit VBA???

Nach oben
       Version: Office 2007

OK, dann wird's ein wenig komplizierter.

Das Schließen des Formulars kannst du im Unload-Ereignis verhindern. Dazu brauchst du ein Variable, die du im Unload abfragen kannst und im BeforeUpdate setzen kannst, wenn alles OK ist.

Ich hoffe, das reicht aus.

_________________
Gruß MissPh!
Gast



Verfasst am:
08. Jun 2011, 12:30
Rufname:

AW: Pflichtfeld mit VBA??? - AW: Pflichtfeld mit VBA???

Nach oben
       Version: Office 2007

Hallo,

Danke für das Beispiel.
Allerdings ist das wohl für mich als Anfänger etwas zu schwer.
@MissPh
Wäre deine Idee so dass ich die Eigenschaft "Eingabe erforderlich" setze und dann noch das Unload Ereignis?
Wenn ja, wie geht das mit dem Unload Ereignis?
MissPh!
Office-VBA-Programmiererin


Verfasst am:
08. Jun 2011, 12:47
Rufname:
Wohnort: NRW

AW: Pflichtfeld mit VBA??? - AW: Pflichtfeld mit VBA???

Nach oben
       Version: Office 2007

Zitat:
wie geht das mit dem Unload Ereignis?
Das siehst du in der Beispiel-DB von Klaus.
Ein bißchen mehr Zeit als ca. fünf Minuten musst du da wohl schon investieren.

_________________
Gruß MissPh!
Gast



Verfasst am:
08. Jun 2011, 13:07
Rufname:

AW: Pflichtfeld mit VBA??? - AW: Pflichtfeld mit VBA???

Nach oben
       Version: Office 2007

Ich blicke da leider nicht durch Crying or Very sad
Aber ich habe den Code aus dem anderen Beitrag gefunden.
Leider funktioniert das aber nicht so richtig. Das ExitSub wird mir als Fehler ausgeworfen.
Kann dieser Code überhaupt dafür benutzt werden?
Code:
    If Len(Me!DeinFeldname) = 0 Then
        MsgBox "Deine Meldung"
        Cancel = True
        Me!DeinFeldname.SetFocus
        ExitSub
    End If
KlausMz
Moderator Access


Verfasst am:
08. Jun 2011, 13:43
Rufname:
Wohnort: Irgendwo in der Pfalz

AW: Pflichtfeld mit VBA??? - AW: Pflichtfeld mit VBA???

Nach oben
       Version: Office 2007

Hallo,
nein, das kannst Du so nicht benutzen.
Du hast auch den Code nicht vollständig gezeigt, da fehlt noch was.
Außerdem sollte man Code niemals abschreiben, sondern immer kopieren. Und dann noch die Codetags des Forums benutzen.

Du solltest Dich mit meinem Beispiel beschäftigen, wenn Du deine Anforderung erfüllen willst. Auch mit dem obigen Code musst Du das Unload Ereignis mit einbinden.

_________________
Gruß
Klaus . . . . . Feedback wäre wünschenswert.
Ich möchte bitte keine unaufgeforderten PN. Fragen bitte im Forum.
Gast



Verfasst am:
09. Jun 2011, 09:15
Rufname:

AW: Pflichtfeld mit VBA??? - AW: Pflichtfeld mit VBA???

Nach oben
       Version: Office 2007

Hallo,

ich habe mich mal an die Sache dran gesetzt. Und es funktioniert tatsächlich.
Trotzdem habe ich noch ein paar Fragen:
Wie mache ich das, bzw. wwie muss das im Code aussehen, wenn ein Pflichtfeld auf einem Unterformular liegt?
Weiterhin habe ich nur die Funktion geschrieben. Was ist mit dem Modul? Benötige ich das unbedingt? Denn es funktioniert auch ohne. Wofür muss man das haben?
Auch habe ich nicht, wie öfters in diesem Beitrag von euch erwähnt kein Unload Ereignis eingetragen. Muss man das haben?
Das fncPruefen habe ich nun noch auf den Schliessen Button der Datenbank gelegt. Nun wird alles geprüft wenn ich schließe. Wie kann ich das aber noch machen, wenn ich den Datensatz wechsel? Dann erscheint ja keine Meldung. Was muss ich dafür tun?

Freue mich sehr, wenn ihr mir diesbezüglich Licht ins Dunkle bringen würdet und ich wieder was neues über Access lerne. Wink
Vielen Dank.
KlausMz
Moderator Access


Verfasst am:
09. Jun 2011, 09:37
Rufname:
Wohnort: Irgendwo in der Pfalz

AW: Pflichtfeld mit VBA??? - AW: Pflichtfeld mit VBA???

Nach oben
       Version: Office 2007

Hallo,
Zitat:
wenn ein Pflichtfeld auf einem Unterformular liegt?
Dann muss auch im Unterformular geprüft werden. Das heist der ganze Code muss ins Unterformular, eventuell zusätzlich, wenn Du sowohl im Ufo als auch im Hafo prüfen willst.
Du musst auch im Ereignis "Vor Aktualisierung" die Prüfenfunktion aufrufen. Sonst funktioniert es nicht. Das Unloadereignis musst Du verwenden, sonst funktioniert es ebenfalls nicht richtig.

Ist doch alles im Beispiel.

_________________
Gruß
Klaus . . . . . Feedback wäre wünschenswert.
Ich möchte bitte keine unaufgeforderten PN. Fragen bitte im Forum.
Gast



Verfasst am:
09. Jun 2011, 09:56
Rufname:

AW: Pflichtfeld mit VBA??? - AW: Pflichtfeld mit VBA???

Nach oben
       Version: Office 2007

Hallo,

Vielen Dank. Ich probiere es mit dem unterformular aus.
Aber eins ist mir noch unklar. Das mit dem unload. Da steht als Ereignis nur drin, das man das über den Schließen Button schließen muss. Oder hat das noch eine andere Funktion was ich übersehe? Mir ist das leider nicht ganz klar. Wink
KlausMz
Moderator Access


Verfasst am:
09. Jun 2011, 10:09
Rufname:
Wohnort: Irgendwo in der Pfalz

AW: Pflichtfeld mit VBA??? - AW: Pflichtfeld mit VBA???

Nach oben
       Version: Office 2007

Hallo,
Zitat:
Oder hat das noch eine andere Funktion was ich übersehe?
Ja, schaue Dir den Code doch an:
Code:
Private Sub Form_Unload(Cancel As Integer)
    If bolSchliessenErlaubt = False Then
        MsgBox "Ätsch, das geht nicht." & vbCrLf & vbCrLf & "Die Anwendung kann nur über den Button <Beenden> geschlossen werden"
        Cancel = True
    End If
End Sub
Mit If wird ja die globale Variable "bolSchliessenErlaubt" abgefragt. Wenn diese nicht vorher über die Prüfungen auf True gesetzt wird, ist diese False und dann kommt die Meldung. Das Unload Ereignis wird mit Cancel = True abgebrochen und damit ist es nicht möglich das Formular zu schließen. Und das Spiel geginnt so lange von vorne bist die Variable zu True wird, entweder mit den Prüfungen oder durch den Button "Exit ohne Speichern".
_________________
Gruß
Klaus . . . . . Feedback wäre wünschenswert.
Ich möchte bitte keine unaufgeforderten PN. Fragen bitte im Forum.
Gast



Verfasst am:
09. Jun 2011, 10:18
Rufname:

AW: Pflichtfeld mit VBA??? - AW: Pflichtfeld mit VBA???

Nach oben
       Version: Office 2007

OK. Danke. Soweit klar jetzt Smile
Aber das mit dem Unterformular klappt noch nicht.
Ich habe ins Unterformular ebenfalls die Funktion geschrieben und auch den Code Nach Aktualisierung eingebaut.
Trotzdem passiert bezüglich des FEldes im Unterformular gar nichts. Ich kann schließen und bekomme auch keine Meldung.
Was mache ich da nicht richtig?
KlausMz
Moderator Access


Verfasst am:
09. Jun 2011, 10:29
Rufname:
Wohnort: Irgendwo in der Pfalz


AW: Pflichtfeld mit VBA??? - AW: Pflichtfeld mit VBA???

Nach oben
       Version: Office 2007

Hallo,
Zitat:
Was mache ich da nicht richtig?
es dürfte per Ferndiagnose schwierig sein die Frage zu beantworten.

Kannst Du nicht eine kleine Beispieldb erstellen und hier hochladen?
Anleitung zum Anhängen von Dateien

Aber bitte mit anonymisierten Daten

Bitte in Version 2003 oder kleiner konvertieren

Vor dem Zippen (oder Raren) die DB mit dem Accessdiensprogramm (Menü >Extras>Dienstprogramme) komprimieren.

Anmeldung im Forum erforderlich
Die Freischaltung zum Upload kann aber etwas dauern.

_________________
Gruß
Klaus . . . . . Feedback wäre wünschenswert.
Ich möchte bitte keine unaufgeforderten PN. Fragen bitte im Forum.
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Gehe zu Seite 1, 2, 3  Weiter
Diese Seite Freunden empfehlen

Seite 1 von 3
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Access Formulare: Pflichtfeld nachträglich 1 Pangea 122 09. Jun 2013, 12:50
Bitsqueezer Pflichtfeld nachträglich
Keine neuen Beiträge Access Tabellen & Abfragen: Pflichtfeld 3 MartaX 50 01. Jun 2013, 11:56
MartaX Pflichtfeld
Keine neuen Beiträge Access Programmierung / VBA: Pflichtfeld 3 dominica 427 29. Jun 2012, 02:18
Zauberbaecker Pflichtfeld
Keine neuen Beiträge Access Formulare: Pflichtfeld, wenn Bedingung erfüllt 5 anian 499 04. Jun 2012, 10:02
KlausMz Pflichtfeld, wenn Bedingung erfüllt
Keine neuen Beiträge Access Hilfe: Textfeld als Pflichtfeld wenn Kontrollkästchen aktiviert ist 4 Schnuefi 1384 08. Apr 2011, 15:19
Gast Textfeld als Pflichtfeld wenn Kontrollkästchen aktiviert ist
Keine neuen Beiträge Access Programmierung / VBA: Fehler 3314 Eigene Fehlermeldung bei Pflichtfeld 37 Nina 12244 09. Nov 2009, 15:25
1Gast Fehler 3314 Eigene Fehlermeldung bei Pflichtfeld
Keine neuen Beiträge Access Formulare: dynamisch Focus setzen auf fehlendes Pflichtfeld im Formular 7 joekli 2084 14. Aug 2009, 08:07
joekli dynamisch Focus setzen auf fehlendes Pflichtfeld im Formular
Keine neuen Beiträge Access Programmierung / VBA: Feld im Formular kurzseitig als Pflichtfeld deklarieren 5 Ugeen 1008 24. Jun 2009, 09:12
Ugeen Feld im Formular kurzseitig als Pflichtfeld deklarieren
Keine neuen Beiträge Access Formulare: Datensatz erst Speichern wenn Pflichtfeld ausgefüllt ist. 6 Blade001 1312 13. März 2009, 19:12
Blade001 Datensatz erst Speichern wenn Pflichtfeld ausgefüllt ist.
Keine neuen Beiträge Access Formulare: Pflichtfeld, nur wenn bestimmter Wert überschritten wurde 3 Dominik23 1155 25. Feb 2009, 18:59
JörgG Pflichtfeld, nur wenn bestimmter Wert überschritten wurde
Keine neuen Beiträge Access Formulare: Kombinationsfeld = Pflichtfeld 2 Gumly 1483 02. Nov 2008, 15:59
Gumly Kombinationsfeld = Pflichtfeld
Keine neuen Beiträge Access Formulare: In Formular Pflichtfeld definieren 2 romae 3284 24. Apr 2008, 15:51
romae In Formular Pflichtfeld definieren
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Dreamweaver Forum