Access-o-Mania

Access-Forum (Deutsch/German) => Formular => Thema gestartet von: Bendix-2001 am März 24, 2016, 17:34:50

Titel: Rechnen mit Unterformularen und referenzierten Tabellen
Beitrag von: Bendix-2001 am März 24, 2016, 17:34:50
Hallo zusammen,

nachdem mir bei meinem anderen Problem ja wunderbar geholfen wurde, habe ich eine erneute Frage an Euch:

Meine DB besteht aus mehreren referenzierten Tabellen (1:n, vgl. Screenshot).

Ich habe 2 Hauptformulare (HV) mit jeweils einem Unterformuar (UV).  Ich möchte nun berechnen, wie viel Geld je Haushalt und Konto (das sind die HV) gezahlt werden muss (vgl. 2. Screenshot). Dafür benötige ich ein Merkmal aus der tbl.Mitglieder (die sind in dem UV), wobei die Merkmale, wie hoch der Beitrag des jeweiligen Mitglieds ist, wiederrum über eine referenzierte Tabelle zugeordnet ist.

Puh, ich hoffe das ist verständlich. Gerne gebe ich noch weitere Infos.
Titel: Re: Rechnen mit Unterformularen und referenzierten Tabellen
Beitrag von: DF6GL am März 24, 2016, 18:01:16
Hallo,

wenn ich es richtig verstehe....

Wozu eine weitere Tabelle?


Erstelle einen Bericht mit Basis zu einer über alle Tabellen verknüpfenden Abfrage und gruppiere im Bericht(!) nach Haushalt und dann nach Konten.... Die (Beitrags-)Höhe(n) können dann in den jeweiligen Fußbereichen berechnet (summiert) werden.

Wenn die Werte in einem Formular (Basis Tabelle Mitglieder und Unterform mit Basis zu Tabelle Konten) und bezogen auf das akt. Mitglied angezeigt werden sollen, dann:

Füge im UFO im Fußbereich ein Textfeld hinzu mit Steuerelementinhalt:
=Summe(Höhe)


Andere Lösungswege führen über gruppierende Abfragen (mit Verweisen auf entpr. Formularfelder als Kriterien) und Anzeige deren Ergebnisse mit Hilfe der Dlookup-Funktion im Steuerelementinhalt eines Form-Textfeldes.
Titel: Re: Rechnen mit Unterformularen und referenzierten Tabellen
Beitrag von: Bendix-2001 am März 24, 2016, 18:08:36
Danke. Mit Berichten habe ich mich noch nicht befasst, aber wenn das der Lösungsansatz ist, werde ich das gleich mal machen.

Ich dachte es wäre halt schön im Formular sehen zu können, wie viel Beiträge je Konto bzw. je Haushalt anfallen.

Es gibt eine Basistabelle "Mitglieder", die hat eine 1:n Beziehung zur:

- "Beitragsartentabelle" (in denen auch die eigentlichen Beiträge stehen)
- "Haushaltstagbelle" (mehre Mitglieder je Haushalt)
- "Kontotabelle"

Nun gibt es je ein Formular für die Haushalte und für die Konten. Im Unterformular werden nun die Mitglieder des z. B. Haushaltes angezeigt. Im Unterformular gibt es aber keine Beitragshöhe, da diese "nur" referenziert ist. Ich würde nun gerne je Unterformular die Summe ausgeben. Aber wie berechne ich diese, da die Beitragshöhe je Mitglied ja in der refernzierten Tabelle "versteckt" ist.
Titel: Re: Rechnen mit Unterformularen und referenzierten Tabellen
Beitrag von: DF6GL am März 24, 2016, 22:37:20
Hallo,

die Beziehungen habe ich ja gesehen....

Und die Lösungswege für die Aufgabe auch genannt...

Wenn die Haushalte in einem Hauptformular und die Mitglieder mit einem UFo angezeigt werden, dann kann die Summe der zugehörigen (Beitrags-)Höhe mit z. B. der DSum()-Funktion (siehe VBA-Hilfe)  z. B. im Steuerelementinhalt eines Textfeldes im UFo mit Übergabe des Wertes aus Schlüsselfeld "lngBeitragsartRef" berechnet werden:

=Dsum("Höhe";"tblBeitragsart";"tblBeitragsArt =" & [lngBeitragsartRef] )

Titel: Re: Rechnen mit Unterformularen und referenzierten Tabellen
Beitrag von: Bendix-2001 am März 25, 2016, 11:21:10
Danke für die Lösungshinweise.

Ich bin mir nun gar nicht so sicher, ob ich wirklich Unterformular benutze (sorry, falls dem nicht so ist). Die nagehangenen Screenshot zeigen nochmal das entsprechende Formular. Leider funktioniert die Funktion derzeit auch nicht. Ist da ein Feldname falsch? Wird folgender Code eingesetzt, ergibt sich die Summe des Atributes Höhe der Tabelle tblBeitragsart (was ja Sinn macht.)

=DomSumme("Höhe";"tblBeitragsart")

Allerdings scheint mit dem Kriterium was nicht zu stimmen.
Titel: Re: Rechnen mit Unterformularen und referenzierten Tabellen
Beitrag von: DF6GL am März 25, 2016, 12:52:12
Halo,

das Schlüsselfeld für das Kriterium muss im Formular vorhanden sein.  Es kann ja auf unsichtbar gesetzt werden..



Titel: Re: Rechnen mit Unterformularen und referenzierten Tabellen
Beitrag von: Bendix-2001 am März 25, 2016, 13:13:16
Hallo DF6GL,

wirklich vielen Dank für Deine Hilfe und Entschuldigung für meine schlechten Accesskenntnisse -.-

Ich habe das Schlüsselfeld "lngBeitragsartRef" hinzugefügt, aber jetzt flackert das Textfeld wie wild (auch wenn ich das Feld wieder entferne). Wenn ich reinklicke, steht dort immer noch Fehler.  edit: Nach einem Access-Neustart ist zumindest das flackern weg.

Ich habe mich in der Zwischenzeit mal ein wenig mit Berichten beschäftigt. Der Bericht im Anhang macht grundsätzlich das was ich möchte, aber auch dort schaffe ich es nicht die Summe ausgegeben zu bekommen.

LG
Bendix
Titel: Re: Rechnen mit Unterformularen und referenzierten Tabellen
Beitrag von: DF6GL am März 25, 2016, 16:05:12
Hallo,

dann lade die DB mal hier als gezippte Datei hoch, vorher aber kompriniert/repariert und evtl. datenreduziert..
Titel: Re: Rechnen mit Unterformularen und referenzierten Tabellen
Beitrag von: Bendix-2001 am März 25, 2016, 16:11:31
Danke
Titel: Re: Rechnen mit Unterformularen und referenzierten Tabellen
Beitrag von: DF6GL am März 25, 2016, 16:39:04
Hallo,

anbei und nur für Konto-Formular eingebaut.

Beim Bericht solltest Du definieren, welche Struktur er haben soll, bzw. was er überhaupt anzeigen soll.
Titel: Re: Rechnen mit Unterformularen und referenzierten Tabellen
Beitrag von: Bendix-2001 am März 26, 2016, 09:16:33
Danke, ein Teil des Problems war also der falsche Feldname. Allerdings zeigt das Feld nun ja immer noch nicht die Summe der Teilbeiträge je Konto an, sondern nur (einen?) Betrag (für ein Mitglied?). Meiner Meinung liegt der Fehler darin, dass sich die Funktion auf das Fed "lngBeitragsartRef" des HV bezieht (welches sich wiederrum nur auf den "ersten" DS in der Tabelle bezieht). Ändere ich im HV das Feld, so ändert sich die Beitragsart (in der Tabelle) bei EINEM Mitglied.

Der Bericht ist ja definiert. Er soll mir je Konto die Mitglieder mit Ihrem Mitgliedsbeitrag auflisten (was er ja auch tut). Was nicht angezeigt wird, ist die Summe je Konto. Das ist ja das identische Problem wie oben.

Benötige ich eventuell ein Tabellenfeld in der Kontotabelle, das die Summe berechnet? Doch wie "ziehe" ich mir die Summe der einzelnen (referenzierten) Mitglieder je Konto.

LG und danke
Bendix
Titel: Re: Rechnen mit Unterformularen und referenzierten Tabellen
Beitrag von: DF6GL am März 26, 2016, 10:21:18
Hallo,,

2 Möglichkeiten:

-- Berechnung im Bericht, der passend gruppiert.
-- Die gleiche Formel (mit passenden Kriterium) im Steuerelementinhalt eines Textfeldes einsetzen.
Titel: Re: Rechnen mit Unterformularen und referenzierten Tabellen
Beitrag von: Bendix-2001 am März 26, 2016, 10:47:52
Zitat-- Berechnung im Bericht, der passend gruppiert.

Ist mein Bericht nicht passend gruppiert? Ich denke schon. IBAN als Kopf, darunter die Mitglieder mit dem jeweiligen Mitgliedsbeiträgen. Mir fehlt nur das Feld, dass die Gesamtsumme angibt.

Vielleicht ist das auch der richtige Ansatz. Kann ich in tblKonto ein Feld (z. B. tblKonto.Gesamtsumme) erzeugen, dass die Summe aller Mitgliedsbeiträge (tblMitglieder.Höhe) aufaddiert? Was mir nur fehlt ist die Formel.

Zitat-- Die gleiche Formel (mit passenden Kriterium) im Steuerelementinhalt eines Textfeldes einsetzen.

Von mir aus auch so. Aber ich kenne die Formel nicht.

Titel: Re: Rechnen mit Unterformularen und referenzierten Tabellen
Beitrag von: DF6GL am März 26, 2016, 11:28:52
Hallo,


ZitatKann ich in tblKonto ein Feld ....Summe aller Mitgliedsbeiträge ...aufaddiert?

Nein.



Die Formel  (=DomSumme("Höhe"........)  ),  die das berechnet  steht doch im Formular (frmKonto glaube ich..).





ZitatMir fehlt nur das Feld, dass die Gesamtsumme angibt.

Sorry, habe jetzt die DB nicht mehr im Kopf..

Setze ein Textfeld in den Gruppenfuß und schreib in dessen Steuerelementinhalt:

=Summe([Höhe])

Titel: Re: Rechnen mit Unterformularen und referenzierten Tabellen
Beitrag von: Bendix-2001 am März 26, 2016, 12:53:03
Ich glaube wir reden etwas aneinander vorbei :D

ZitatDie Formel  (=DomSumme("Höhe"........)  ),  die das berechnet  steht doch im Formular (frmKonto glaube ich..).

ZitatAllerdings zeigt das Feld nun ja immer noch nicht die Summe der Teilbeiträge je Konto an, sondern nur (einen?) Betrag (für ein Mitglied?). Meiner Meinung liegt der Fehler darin, dass sich die Funktion auf das Fed "lngBeitragsartRef" des HV bezieht (welches sich wiederrum nur auf den "ersten" DS in der Tabelle bezieht). Ändere ich im HV das Feld, so ändert sich die Beitragsart (in der Tabelle) bei EINEM Mitglied.

Also, die Dsum Formel summiert NICHT alle einzelsummen auf, sondern nennt lediglich die Höhe eines (!) DS.

---

Wenn ich die Funktion (=Summe[Höhe])in den IBAN-Kopf packe (Habe keinen Gruppenfuß), dann soll ich parameter eingeben. Oh man, das kann doch nicht so schwer sein  ;D


Ich habe die DB in diesen GoogleDrive link gepackt. Da meine DB 306 Kb groß ist, kann ich sie hier leider nicht posten.

https://drive.google.com/file/d/0B_MIoSkGQDKVZ3dad3M3b2V1YUE/view?usp=sharing

Wenn das funktioniert bin ich erstmal ruhig  ;D


Titel: Re: Rechnen mit Unterformularen und referenzierten Tabellen
Beitrag von: DF6GL am März 26, 2016, 14:27:33
Hallo,


anbei..
Titel: Re: Rechnen mit Unterformularen und referenzierten Tabellen
Beitrag von: Bendix-2001 am März 26, 2016, 18:49:27
Vielen Dank und frohe Ostern...