WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 10.03.2009, 16:00   #1
michael58
Veteran
 
Registriert seit: 23.08.2005
Alter: 67
Beiträge: 220

Mein Computer

Standard Access 2003 Eingabe erzwingen

Hallo!

Ich möchte in einem Access-Formular eine Eingabe erzwingen.
Formular heißt GastNeu, das Feld um das es geht "Vorname"
Ich habe eine Ereignisprozedur beim Verlassen des Feldes geschrieben, aber es wird ein Leerstring akzeptiert. Schaut so aus:

Private Sub Vorname_Exit(Cancel As Integer)

Dim db As DAO.Database
Dim f As Form
Set f = Forms![GastNeu]
Set db = CurrentDb()

If f!Vorname = "" Then
MsgBox "bla"
End If

End Sub

Wo habe ich meinen Denkfehler? Habe leider seit ca. 8Jahren nichts mehr selber geschrieben. Ich will eigentlich nur, daß der Benutzer unbedingt einen Namen in dieses Feld schreibt. Prüfen möchte ich das sofort und nicht erst wenn in die Tabelle geschrieben wird.

Danke

Michael
michael58 ist offline   Mit Zitat antworten
Alt 10.03.2009, 16:10   #2
Jaguar
Classic Car Driver
 
Benutzerbild von Jaguar
 
Registriert seit: 16.02.2000
Ort: Wien
Beiträge: 569

Mein Computer

Standard

Du gibst zwar eine Messagebox aus, brichst aber die Exit Function nicht ab.
Dazu mußt du den Wert der übergebenen Variable Cancel verändern. Ich nehme mal an der ist 0 und gehört in deinem Fall auf 1 gesetzt. Ansonsten in der Doku nachlesen auf welchen Wert die Variable Cancel gesetzt werden muß.
Jaguar ist offline   Mit Zitat antworten
Alt 10.03.2009, 16:22   #3
michael58
Veteran
 
Registriert seit: 23.08.2005
Alter: 67
Beiträge: 220

Mein Computer

Standard

Servus!

Entschuldigung, habe mich missverständlich ausgedrückt. Ich bekomme keine MsgBox, obwohl ich absichtlich das Feld leergelassen habe. Die Bedingung muß falsch sein.

Bei Einzelschritt bekomme ich (Maus darüberhalten) als Wert: f!Vorname = Null

Und jetzt stehe ich an.

Danke
Michael

Edith: möglicherweise stehe ich auch mit beiden Füßen fest auf der Leitung!
michael58 ist offline   Mit Zitat antworten
Alt 10.03.2009, 16:50   #4
Jaguar
Classic Car Driver
 
Benutzerbild von Jaguar
 
Registriert seit: 16.02.2000
Ort: Wien
Beiträge: 569

Mein Computer

Standard

Wenn dein Feld nicht initialisiert ist mußt du auf null auch checken. "" ist ein String mit der Länge 0 und das ist nicht ident mit Null (= gar kein Inhalt)

Also nach dem Prinzip:
if (IsNull(f!Vorname) OR f!Vorname = "")
....
Jaguar ist offline   Mit Zitat antworten
Alt 10.03.2009, 16:56   #5
FranzK
Inventar
 
Registriert seit: 23.03.2000
Ort: Graz
Alter: 71
Beiträge: 3.567


Standard

Zitat:
Zitat von Jaguar Beitrag anzeigen
Wenn dein Feld nicht initialisiert ist mußt du auf null auch checken. "" ist ein String mit der Länge 0 und das ist nicht ident mit Null (= gar kein Inhalt)

Also nach dem Prinzip:
if (IsNull(f!Vorname) OR f!Vorname = "")
....
So ist es! Außerdem musst du nach dem erkannten Fehler den Focus gleich wieder auf das entsprechende Feld setzen.

____________________________________
Ciao
FranzK ist offline   Mit Zitat antworten
Alt 10.03.2009, 17:01   #6
michael58
Veteran
 
Registriert seit: 23.08.2005
Alter: 67
Beiträge: 220

Mein Computer

Standard

@Jaguar und FranzK: Danke, funktioniert schon!

Bitte PN an mich, damit ich weiß, wo ich das Bier hinschicken soll!

Nochmals Danke

Michael
michael58 ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 21:49 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag