Forum

Access UFO

Gesperrt

Seite: 1

Autor Beitrag
Mitglied
Registriert: Jun 2004
Beiträge: 353
Moin!

Ich habe ein Hauptformular in dem ein Bonus berechnet wird.
Eine Tabelle mit Beträgen, die bisher gezahlt wurden
und eine Abfrage in der ich die Abschläge pro Kundennummer summiere.
Daraus entsteht ein Bericht, alles klappt prima!

Ich möchte jedoch in dem Hauptformular direkt bei der Eingabe das Ergebnis sehen, sprich: Wieviel bekommt der Kunde, wieviel hat er schon, was bleibt übrig.

Und hier habe ich ein Problem: Wenn ich die Abfrage der Abschläge in die Datenquelle mit aufnehme, kann ich keine Daten mehr aktualisieren.

Alternativ kann ich die Abschläge zwar per Knopfdruck aus dem UFO (Tabelle Abschläge und verknüpfung über die Kundennummer) in das HFO übertragen und die Werte im HFO bei jedem wechsel löschen (sind ja dann unbebundene Felder), aber schön ist das nicht.

Ich könnte beim öffnen des Formular eine Tabelle erstellen mit Kundennummer und Summe der Abschläge und die Daten aus dieser ziehen, aber das muss doch auch ordentlich gehen?

Hat jemand eine Idee wie man das lösen könnte?

Edit: Mist, ich dachte gerade ich habe eine es: Hatte ein paar Berechnungen der Abfrage in das Formular übertragen und dann in der Abfrage die Abschläge eingebaut und diese summiert, aber auch dann kann ich nix mehr aktualisieren :cry:

Danke,
Zarathustra
Mitglied
Registriert: Apr 2004
Beiträge: 7407
Ort: Erfurt
Hi,

Zitat
Ich möchte jedoch in dem Hauptformular direkt bei der Eingabe das Ergebnis sehen, sprich: Wieviel bekommt der Kunde, wieviel hat er schon, was bleibt übrig.


Wo ist das Problem? Beim Öffnen des Hauptformulars

[code:1]Dim AktuelleDB As Database
Dim Irgendeinname As DAO.Recordset
Set AktuelleDB = CurrentDb
Set Irgendeinname = AktuelleDB.OpenRecordset("SELECT * FROM t_WodieDatenherkommen ...;")[/code:1]

Natürlich mußt Du hier mit dem SELECT die Daten des jeweiligen Kunden auswählen, also dessen Nummer oder Name schon vorliegen haben - oder Du kannst diesen Code erst einsetzen, wenn der Anwender den Kunden zum Beispiel mit einer Eingabe auswählt. Dann muß der Code natürlich nicht am Ereignis Form_Open, sondern nach der Änderung des Eingabefeldes mit dem Kundennamen bzw. der Kundennummer stehen.

Und jetzt einfach in die Tabelle fassen, ggfs. ausrechnen und die Daten in das entsprechende Feld des Formulars übertragen.

Wenn Du dazu summieren mußt, ist eine eifnache Methode

[code:1] Do While Not Irgendeinname.EOF
*Rechnen oder was auch immer*
Irgendeinname.MoveNext
Loop
[/code:1]

Natürlich mußt Du vorher sicherstellen, daß überhaupt irgendein Eintrag vorhanden ist, also IF NOT Irgendeinname.EOF Then
Mitglied
Registriert: Jun 2004
Beiträge: 353
So hatte ich das auch, die Datensätze wurden dann aber gesperrt.
Naja das Thema habe ich jetzt auf die unschöne aber funktionierende Version gelöst, trotzdem danke.


Gesperrt

Seite: 1

Parse-Zeit: 0.0284 s · Memory usage: 1.48 MB · Serverauslastung: 1.21 · Vorlagenbereich: 2 · SQL-Abfragen: 8