Bestimmte Werte im Form nach Speichern wieder setzen

07/02/2014 - 12:47 von cc13.de | Report spam
Hallo,

ich verwende Access 2010 und darin ein Form, welches mit einer Tabelle verbunden ist.

Im Form_Load Ereignis wird in der Tabelle der größte Werte einer ID-Spalte geholt, um eins erhöht und als neuer Wert in ein Textfeld geschrieben. Eine automatisch hochzàhlende Spalte ist nicht möglich, deshalb der Umweg.

Weiterhin befinden sich in dem Form verschiedene Dropdown-Boxen und Textfelder. Die vom Anwender eingegebenen Werte im Form werden per Klick auf einen Button gespeichert:

Private Sub btnSave_Click()

DoCmd.RunCommand acCmdSaveRecord

End Sub

Nun möchte ich gerne, dass das Formular weiterhin geöffnet bleibt (das macht es auch), aber die ID muss wieder um eins erhöht und im Textfeld hinterlegt werden. Und die Werte in ein paar Dropdown-Boxen sollten erhalten bleiben, damit der Anwender sich nicht wieder durchklicken muss).

Probiert habe ich es mit Variablen im Deklarationsbereich, die vor einem BeforUpdate des Forms mit den Werten aus den Dropdown-Boxen gefüllt werden. Nach einem After_Update sollten diese Variablen ihre Werte wieder in die Dropdownboxen schreiben.

Dabei bekomme ich aber einen Fehler an der Zeile "DoCmd.RunCommand acCmdSaveRecord" angezeigt:

Run-Time error 2501
The RunCommand action was canceled.

Die Werte wurden aber in die Tabelle gespeichert. Ich habe es auch schon mit einem Form.requery probiert, aber da finde ich keinen Weg, das Ereignis abzufangen, um meine Werte zu schreiben.

Wer hat eine Idee für mich, was ich noch machen kann?

Danke,
Carsten
 

Lesen sie die antworten

#1 Wilfried Baumann
18/02/2014 - 16:27 | Warnen spam
Warte mal, wenn es ein gebundenes Formular ist, brauchst du doch kein Speichern, oder habe ich was falsch verstanden?

Dass du kein Autowert-Feld verwenden kannst würde ich nochmal gründlich hinterfragen.

Ein reines Eingabeformular erreicht man mit
Formulareigenschaften > Daten > Daten eingeben: Ja

Die Vorbelegungen kann man auf Tabellenfeldebene machen (wenn es immer die
gleichen sind) oder man baut einen kleinen Mechanismus der sich die letzte Eingabe merkt oder àhnliches.

Ähnliche fragen