Supportnet / Forum / Datenbanken
Formular schließen bei fehlenden Eingaben
Frage
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 1 von Marie
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
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.
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:
Sollten noch weitere Informationen notwendig werden beantworte ich auch diese gern.
Gruß
Ingo
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.
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
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:
Gruß Ralf
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.
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
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.
Da bin ich nochmal,
habe vergessen mitzuteilen, dass Deine Prozedur die "ungebundenen Felder" nicht findet.
Gruß Ingo
habe vergessen mitzuteilen, dass Deine Prozedur die "ungebundenen Felder" nicht findet.
Gruß Ingo
Antwort 6 von Ingo.
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
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.
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:
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
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
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

