collapse

* Benutzer Info

 
 
Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?

* Wer ist Online

  • Punkt Gäste: 64
  • Punkt Versteckte: 1
  • Punkt Mitglieder: 2
  • Punkt Benutzer Online:

* Forenstatistik

  • stats Mitglieder insgesamt: 14069
  • stats Beiträge insgesamt: 67528
  • stats Themen insgesamt: 9099
  • stats Kategorien insgesamt: 5
  • stats Boards insgesamt: 17
  • stats Am meisten online: 415

Autor Thema: Fehlermeldung modifizieren, wenn "Eingabe erforderlich" auf "Ja" ist?  (Gelesen 9101 mal)

Offline mradlmaier

  • Newbie
  • Beiträge: 33
Hallo,

Wenn ich in einer Tabelle bei einem Feld"Eingabe erforderlich" auf "Ja" setze, wird bei fehlender Eingabe ein Standard-Fehlermeldung der Form "Sie müssen einen Wert in das 'tabellenname.feldname' Feld eingeben". Wie kann ich 'tabellenname.feldname' in etwas benutzerfreundliches ändern? Ich verwende für Tabellen und Felder eine Notation, die für den Endbenutzer eher irritierend sein dürfte...

Danke,
Michael
 

Offline Wodka43

  • 3. Lehrjahr FIAE
  • Access-Profi
  • **
  • Beiträge: 157
  • es wird so langsam
    • Mein Ausbildungsblog
Hi,

nachdem ich 5 min erfolglos gegoogelt hab, würd ich dir raten das ganze per vba zu lösen.

Also "Eingabe erforderlich" wieder auf "nein" setzen und dann in den betroffenen Ereignissen deines Formulars (beim speichern, beim schließen ,etc) das betroffene Feld auf NULL und "" prüfen.
Dann kannst du dir deine eigenen Fehlermeldungen ausdenken ;-)

mfg
Leo
"Nimm das Leben nicht zu ernst, du kommst da eh nicht lebend raus"
;)
 

Offline database

  • Moderator
  • Access Guru
  • *****
  • Beiträge: 4178
Hallo,

ich nehme an, dass den Usern ein Formular zur Dateneingabe zur Verfügung steht oder lässt du die User direkt auf die Tabelle los  ???

Du könntest auf Tabellenebene statt der Eingabe erforderlich Ja - Prüfung auch eine Gültigkeitsprüfung verwenden, die du mit einem individuellen Text in der Gültigkeitsmeldung (welch irres Wort) behandeln kannst.
Wenn du (wie ich immer noch hoffe) mit Formularen arbeitest, dann nimm die Eingabeprüfung auf Tabellenebene gleich wieder raus. Wie du schon leidlich festgestellt hast werden hierbei Standardtexte von Access verwendet.
Besser ist es eine Eingabevalidierung auf Formularebene zu realisieren.
Ob du dieses nun in einem Rutsch für das gesamte Formular machst oder für jedes Eingabefeld einzeln ist dir überlassen.
Jedenfalls kannst du da auch benutzerfreundliche Meldungstexte ins Gelände schicken.

Für einzelne Felder solltest du das Ereignis 'Vor Aktualisierung' also BeforeUpdate verwenden, wenn du eine Prüfung aller Felder in einem gebundenen Formular vornehmen willst, bietet sich das Ereignis BeforeUpdate der Form als Heimat für deine Fehlerbehandlung an.
Zitat
das betroffene Feld auf NULL und "" prüfen
... wird möglicherweise zu wenig sein, da du auch prüfen solltest ob in ein Zahlenfeld Text eingegeben wurde, ein Datumdfeld eine Zahl oder Text enthält usw.

Das Thema Eingabeprüfung / Eingabevalidiereung / Fehlerbehandlung ist ein sehr weit gefächertes  -  google mal nach 'Eingabeprüfung VBA Access'  und dann noch nach 'Eingabevalidierung VBA Access'


Peter
Viele Grüße
Peter

Tipps und Links:
---------------------------------------------------------
1. http://www.donkarl.com
2. http://www.access-entwicklerbuch.de/2007/index.php?page=buch
3. http://www.xlam.ch/pos/rules.htm
3.a Reservierte Worte
4. http://www.functionx.com/vbaccess/index.htm
5. http://www.dbwiki.net

Nicht vergessen: Jede(r) hat mal klein angefangen!
Bitte keine Fragen per PN senden - Fragen gehören ins Forum!
 

Offline DF6GL

  • Global Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 23445
Hallo,

nicht zu vergessen das Form-Ereignis "Bei Fehler"…

Offline database

  • Moderator
  • Access Guru
  • *****
  • Beiträge: 4178
Hi,
ja genau, das habe ich nach dem Zitat noch mit anführen wollen - wieso habe ich das dann nicht? *grrrr*  :-\
Viele Grüße
Peter

Tipps und Links:
---------------------------------------------------------
1. http://www.donkarl.com
2. http://www.access-entwicklerbuch.de/2007/index.php?page=buch
3. http://www.xlam.ch/pos/rules.htm
3.a Reservierte Worte
4. http://www.functionx.com/vbaccess/index.htm
5. http://www.dbwiki.net

Nicht vergessen: Jede(r) hat mal klein angefangen!
Bitte keine Fragen per PN senden - Fragen gehören ins Forum!
 

Offline mradlmaier

  • Newbie
  • Beiträge: 33
Ist ein Formular, basierend auf einer Abfrage (damit die Tabelle sortiert ist)
Ich weiss, dass man das auch mit vba und erreignissen machen kann...
ökonomischer wäre es aber, die vorhandene ms-access gui infrastruktur zu verwenden...

Wenn ich mit ms-access allzuviel gui code schreiben muss, dann weiss ich nicht warum ich überhaupt ms-access verwende...dann nehme ich lieber mysql und mach ein web-basiertes front-end.
Ich persönlich finde, dass ms-access dann brilliert, wenn man ohne code ein gui haben will...lol

Im übrigen gibts bei events und vba den einen oder anderen pitfall...ist nicht immer so intuitiv wie ich erwarte...

Trotzdem danke!

Interessanter ist da schon die Gültigkeits-Schiene...hat jemand einen Vorschlag für Felder, die
1. ausgefüllt werden müssen und
2. nur mit Zahlen größer oder gleich 0 gefüllt werden dürfen.
 ich machs mit:
Ist Nicht Null Und >= 0
Das funktioniert soweit, nur dass bei Eingabe von Text nicht die Gültigkeitsregel zum Zuge kommt, sondern ms-access Standard-Fehlermeldung für falschen Datentyp. Das ist zwar ok, aber unschön...

Hallo,

ich nehme an, dass den Usern ein Formular zur Dateneingabe zur Verfügung steht oder lässt du die User direkt auf die Tabelle los  ???

Du könntest auf Tabellenebene statt der Eingabe erforderlich Ja - Prüfung auch eine Gültigkeitsprüfung verwenden, die du mit einem individuellen Text in der Gültigkeitsmeldung (welch irres Wort) behandeln kannst.
Wenn du (wie ich immer noch hoffe) mit Formularen arbeitest, dann nimm die Eingabeprüfung auf Tabellenebene gleich wieder raus. Wie du schon leidlich festgestellt hast werden hierbei Standardtexte von Access verwendet.
Besser ist es eine Eingabevalidierung auf Formularebene zu realisieren.
Ob du dieses nun in einem Rutsch für das gesamte Formular machst oder für jedes Eingabefeld einzeln ist dir überlassen.
Jedenfalls kannst du da auch benutzerfreundliche Meldungstexte ins Gelände schicken.

Für einzelne Felder solltest du das Ereignis 'Vor Aktualisierung' also BeforeUpdate verwenden, wenn du eine Prüfung aller Felder in einem gebundenen Formular vornehmen willst, bietet sich das Ereignis BeforeUpdate der Form als Heimat für deine Fehlerbehandlung an.
Zitat
das betroffene Feld auf NULL und "" prüfen
... wird möglicherweise zu wenig sein, da du auch prüfen solltest ob in ein Zahlenfeld Text eingegeben wurde, ein Datumdfeld eine Zahl oder Text enthält usw.

Das Thema Eingabeprüfung / Eingabevalidiereung / Fehlerbehandlung ist ein sehr weit gefächertes  -  google mal nach 'Eingabeprüfung VBA Access'  und dann noch nach 'Eingabevalidierung VBA Access'


Peter
 

Offline mradlmaier

  • Newbie
  • Beiträge: 33
Eine Frage noch bezüglich Gültigkeitsregeln:

Wo würdet Ihr die Gültigkeitsregeln platzieren und warum? In der Tabelle oder im Formular?