Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: bungev am April 14, 2024, 11:34:36

Titel: Datensätze vergleichen und einige Spaltenwerte zusammenfügen
Beitrag von: bungev am April 14, 2024, 11:34:36
Hallo zusammen,

ich möchte für eine Mitgliederverwaltung mir eine SEPA-XML-Datei erstellen, in denen es dann einen Kontoinhaber gibt und der Verwendungszweck dann die Namen der Familienmitglieder und deren Beiträge drin steht. Natürlich brauche ich dann noch die Gesamtsumme aller Mitglieder, der der Kontoinhaber zu zahlen hat.

Die Abfrage habe ich schon fertig und sieht in etwa so aus

Kontoinhaber1  Zahltfür1   Betrag1
Kontoinhaber2  Zahltfür2   Betrag2
Kontoinhaber2  Zahltfür3   Betrag3
Kontoinhaber2  Zahltfür4   Betrag4
Kontoinhaber5  Zahltfür5   Betrag5
Kontoinhaber5  Zahltfür6   Betrag6

Raus kommen soll dann

Kontoinhaber1  Zahltfür1   Betrag1
Kontoinhaber2  Zahltfür2+3+4   Betrag2+3+4
Kontoinhaber5  Zahltfür5+6   Betrag5+6

usw.

Wahrscheinlich brauche ich zwei verschachtelte Tabellenzugriffe. Die erste ist meine Abfrage und die andere ist meine Zieltabelle, in der dann alles nur einmal drin steht. Mit der würde ich dann die SEPA-XML-Datei erstellen.

Wie kann ich aber nun zwei Datensätze mit einander vergleichen? Die Daten sind schon so sortiert, dass der Kontoinhaber und dessen Familienmitglieder untereinander stehen.

Oldschool würde ich es jetzt so machen

Variable1=rs.fields("Kontoinhaber")
rs.movenext
Variable2=rs.fields("Kontoinhaber")
rs.MovePrevious
if Variable1=variable2 then
 ....
end if

oder mit zwei verschachtelten Recordsets, die die gleiche Quelle haben.
Der zweite Recordset bekommt vor der Do Until Schleife noch eine rs.Movenext, damit dieser schon auf dem zweiten steht.

Gibt es hier aber ggf. noch eine andere Möglichkeit?

Da ich auch mit VB.Net arbeite, gibt es hier eine Möglichkeit, über die Zeilennummer auf den nächsten Datensatz zuzugreifen.

Vielen Dank schon einmal im Voraus und ein schönes Wochenende noch.

Volker





Titel: Re: Datensätze vergleichen und einige Spaltenwerte zusammenfügen
Beitrag von: PhilS am April 14, 2024, 12:04:07
Du kannst in deiner Abfrage eine Funktion verwenden, die pro Kontoinhaber alle "ZahltFür" als Komma (oder +) getrennte Werte ermittelt.
Beispiel: Daten einer Spalte als kommagetrennte Zeichenfolge ausgeben (https://codekabinett.com/rdumps.php?targetDoc=access-vba-daten-spalte-kommagetrennt-ausgeben)
Titel: Re: Datensätze vergleichen und einige Spaltenwerte zusammenfügen
Beitrag von: bungev am April 14, 2024, 14:32:26
Hallo PhilS,

vielen Dank, genau das habe ich gesucht.

Ich brauchte zwar noch ein zweites Feld in der Ausgabe, aber das Einzubauen war jetzt nicht schwer.

Gruß

Volker