online 1
gast (50)

/ Forum / Datenbanken

DatenbankenDatenbanken

Fragevon Ingo. vom 19.11.2019, 05:19 Options

Formular schließen bei fehlenden Eingaben

Hallo liebe Access-Helfer,

Zustand:
Formular mit Unterformular

Problem:
Das og. Formular enthält ein Buttom mit dem Macrobefehl SetzenWert und Speichern. Drückt der Anwender dieses Button ohne die notwendigen Eingaben getätig zu haben, wird Makrofehler erzeugt.

Frage:
Wie kann ich das verhindern?

Ziel:
1. Eingabe erzwingen
oder
2. Formular schließen ohne zu speichern und ohne setzten von Autowert (Rechnungsnummer)

Danke im Voraus

Gruß
Ingo


Antwort schreiben

Antwort 1 von Marie vom 19.11.2019, 05:54 Options

na den Fehler können wir nur herausfinden, wenn wir die Fehlermeldung ma kennen würden, aso bitte etwas genauer schildern.

Eingabe erzwingen ist kein Proben, man müsste nur auch hier genauere Angaben haben, um zu wissen welche Eingaben erzwungen werden sollen.

Auch Formuar schließen ohne zu speichern ist möglich, dazu müsste man aber wissen wo die Fehermeldung auftaucht um an dieser Stelle die Änderungen rückgängig zu machen, sonst wird ja immer geschlossen ohne zu speichern.

Ich würde sagen Du könntest mal das Makro in Code konvertieren und hier reinkopieren und ferner den Text der Fehlermeldung, damit wir eine Vorstellung haben wo der Fehler auftaucht und weshalb.

Gruß marie

Antwort 2 von Ingo. vom 19.11.2019, 06:46 Options

Hallo Marie,

schön wieder von Dir zu hören.

Hier wie gewünscht die Makros
'------------------------------------------------------------
' Datum_eintragen
'
'------------------------------------------------------------
Function Datum_eintragen()
On Error GoTo Datum_eintragen_Err

Forms![Rechnung eingeben]!Datum = Forms![Rechnung eingeben]!Rech.[ Dat]


Datum_eintragen_Exit:
Exit Function

Datum_eintragen_Err:
MsgBox Error$
Resume Datum_eintragen_Exit

End Function


Option Compare Database

'------------------------------------------------------------
' Fällig_eingeben
'
'------------------------------------------------------------
Function Fällig_eingeben()
On Error GoTo Fällig_eingeben_Err

Forms![Rechnung bearbeiten]!Fällig = Forms![Rechnung bearbeiten]!Datum

+ Forms![Rechnung bearbeiten]!Konditionen


Fällig_eingeben_Exit:
Exit Function

Fällig_eingeben_Err:
MsgBox Error$
Resume Fällig_eingeben_Exit

End Function

'------------------------------------------------------------
' KndNr_eingeben
'
'------------------------------------------------------------
Function KndNr_eingeben()
On Error GoTo KndNr_eingeben_Err

' Kundennummer setzen
Forms![Rechnung eingeben]![Knd Nr] = Forms![Rechnung eingeben]![Nr Kunde]


KndNr_eingeben_Exit:
Exit Function

KndNr_eingeben_Err:
MsgBox Error$
Resume KndNr_eingeben_Exit

End Function

Da bei Abbruch keine Eingabe der Knd.Nr. im Untermenü erfolgt erhalte ich fogende Fehlermeldung:

Zitat:
Das Microsoft Jet-Datenbankmodul kann in der Tabelle Kunden keinen DS mit passenden Schlüsselfeldern 'Knd Nr.' finden.


Sollten noch weitere Informationen notwendig werden beantworte ich auch diese gern.

Gruß
Ingo

Antwort 3 von RalfH vom 20.11.2019, 07:10 Options

Guten Morgen,
Ich würde eine Plausibilitätsprüfung durchführen.

Angenommen deinen Felder sind Feld1, Feld2, usw, dann beim Klick auf dem Button speichern:

 if isnull(me!Feld1.value) then
msgbox " Bitte geben Sie einen Wert in Feld1 ein:",vbcritical,"System Meldung"
me!Feld1.Setfocus
elseif isnull(me!Feld2.value) then
msgbox " Bitte geben Sie einen Wert in Feld2 ein:",vbcritical,"System Meldung"
me!Feld2.Setfocus
else
Forms![Rechnung eingeben]!Datum = Forms![Rechnung eingeben]!Rech.[ Dat]
Forms![Rechnung bearbeiten]!Fällig = Forms![Rechnung bearbeiten]!Datum+ Forms![Rechnung bearbeiten]!Konditionen


Gruß Ralf

Antwort 4 von Ingo. vom 23.11.2019, 05:01 Options

Guten Morgen Ralf,

super Tolle Prozedur funktioniert ohne Probleme!

D A N K E ! !

Leider habe ich da noch ein Problem.

Zustand:
Damit der Anwender jederzeit abbrechen kann, ohne dass ein AutoWert vergeben wird, arbeite ich mit sogenannten "ungebundenen Feldern". Durch ein Makro mit dem Inhalt:
setztenWert und Datei speichern

werden nach der Eingabe per Befehlstaste die Felder ausgefüllt, der AutoWert gesetzt und der DS gespeichert.

Mein Problem:
Drückt der Anwender die Befehlstaste speichern, ohne Eingaben gemacht zu haben, wird ein Autowert erzeugt. Das bedeutet, dass die Rech-Nummern Lücken haben. Da mosert dann das Finanzamt.

Es würde mich freuen, wenn ich Dich nocheinmal um eine gute Idee bitten dürfte.

Grüße aus dem Sauerland
Ingo

Antwort 5 von Ingo. vom 23.11.2019, 05:04 Options

Da bin ich nochmal,

habe vergessen mitzuteilen, dass Deine Prozedur die "ungebundenen Felder" nicht findet.

Gruß Ingo

Antwort 6 von Ingo. vom 23.11.2019, 05:13 Options

Hallo Ralf,

Deine Prozedur läuft auch mit den "ungebundenen Feldern" hervorragend und ohne Probleme!

Ich habe einen Fehler gemacht und den Namen fehlerhaft eingegeben!

Läuft alles prima nochmal herzlichen Dank!

Gruß

Ingo

Antwort 7 von Ingo. vom 23.11.2019, 07:29 Options

Hallo Ralf,

jetzt ist doch noch ein Problem aufgetreten.
Eine meiner Dateien enthält ein Unterformular.
Und nun wird das Feld nicht erkannt.

Hier eine Kopie meiner Eingabe:
Zitat:
ElseIf IsNull(Me!Anzahl.Value) Then
MsgBox " Bitte geben Sie einen Wert in Feld Anzahl ein:", vbCritical, "System Meldung"
Me!Anzahl.SetFocus


Das Feld Anzahl befindet sich im Unterformular Rech-Pos.

Frage wie kann ich das Unterformular ansprechen!

Würde mich freuen, wenn Du eine Idee hast !
Mein Programm wäre dann fast fertig!

MfG
Ingo

Ähnliche Themen

Fehlermeldung Formular: selbe Seite
sebi2006  17.01.2007 - 84 Hits - 2 Antworten

Formular Select Überprüfung - Wie?
ClaudiaGauss  26.06.2007 - 67 Hits - 1 Antwort

Datensätze begrenzen
DerNordBerliner  29.10.2007 - 114 Hits - 10 Antworten

Einstellungen/Auswahl merken
NochEinGast  14.05.2008 - 18 Hits - 2 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Thu Jan 8 21:07:44 2026