Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Speichern Datensatz per Ereignisprozedur erzwingen

Begonnen von joepaul, Januar 21, 2012, 20:36:05

⏪ vorheriges - nächstes ⏩

joepaul

Hallo,

ich habe folgendes Problem:

Ich arbeite mit Access 97. Ein Rechnungsformular enthält ein Unterformular (Endlosformular) mit Rechnungspositionen. Eine neue Position wird wie folgt angelegt:  In einem [Kombinationsfeld49] kann aus einer Tabelle ,,Artikel" ein Artikelname ausgewählt werden.
Durch die Auswahl wird
a) in das Feld [ArtikelNr] des UFOs die Artikelnummer eingetragen
b) der in einer Tabelle ,,Artikel" hinterlegte Standardpreis [Artikel.VKPreisEURO] in das UFO-Feld [Preis_aktuell] eingetragen. Dto. Für ein Mehrwertsteuerfeld.

Außerdem soll nach erfolgter Auswahl das im UFO-Fuß befindliche Feld [Rechnungsbetrag], das die Beträge des Feldes [Preis_aktuell] addiert, sofort aktualisiert werden.

Zu diesen Zwecken steht im Ereignis ,,Nach Aktuasilierung" des [Kombinationsfeld49]  folgender Code:

Private Sub Kombinationsfeld49_AfterUpdate()
[Preis_aktuell] = [Artikel.VKPreisEURO]
[MwSt_aktuell] = [Artikel.VKMwst]
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
End Sub

Die beiden ersten Zeilen funktionieren problemlos. Die Speicherung des Datensatzes aber nicht, d.h. die Summe im Feld [Rechnungsbetrag] wird nicht aktualisiert. Ich stehe auf dem Schlauch! Wenn ich den Rechnungspos.-Datensatz manuell speichere, funktioniert es. Hat jemand eine Idee?

Danke & Grüsse Joe

DF6GL

Hallo,


das sollte eigentlich in etwa so aussehen:

Private Sub cmbArtikel_AfterUpdate()  'wenn dieses Kombi nur zur Artikel-Auswahl dient und ungebunden ist.
Me!Artikel= Me!cmbArtikel    ' wenn "Artikel" das gebundene Textfeld (bzw. Kombi) ist, das die Artikelnummer anzeigt
Me![Preis_aktuell] = Me!cmbArtikel.Column(1)  ' wenn der akt. Preis in der 2.(!) Spalte des Kombis steht
Me![MwSt_aktuell] = Me!cmbArtikel.Column(2)  ' wenn die akt. MwSt in der 3.(!) Spalte des Kombis steht
Runcommand accmdsaverecord
Me.Refresh  ' evtl auch Me.Recalc
End Sub


joepaul

Vielen Dank für die Antwort. Inzwischen habe ich den Fehler gefunden. Ich hatte übersehen, dass über der Schaltfläche des Kombifeldes 49 ein weiteres Kombifeld liegt, welches auf die Größe der Schaltfläche verkleinert war und die eigentliche Aktion ausführt. In dieses habe ich nun meinen o.g. Code eingetragen, und er funktioniert. Sorry, war mein Fehler. Soll ich nun meinen Beitrag ganz löschen, da er ja unter diesen Umständen für die Allgemeinheit nicht besonders hilfreich ist? Ich weiß aber nicht, wie man Beiträge komplett löscht; finde hierzu keinen Menüpunkt.
Grüße Joe