Ich möchte aus mehreren Datensätzen mit einem vorgegebenen Merkmal die Daten eines Feldes als Fließtext in einem Memofeld o. ä. zusammenführen um sie in einem Unterformular oder Unterbericht anzuzeigen.
z. B. Der Bestand an (Merkmal) ist Artikel1, Artikel 5, Artikel10 (als Fließtext)
mit einer Abfrage geht das recht einfach du kanst die gewünchten Tabellen in die Abfrage hollen und im oberen Feld einen aufbau starten
z.B. Gebohren/ort [TabGebohren]![Geburtstag]+[TabelleGebohren]![Geburtsort])
so jetzt aber hab mich zwei mal verschrieben muß jetzt aber fuktionieren
MfG
Sebastian Stöcker
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Kommen die Daten aus einem Datensatz oder aus mehreren? Wenn aus einem Datensatz, so schau in die vorige Antowrt.
Wenn aus mehreren, bastelst Du Dir einfach eine Funktion, der Du bestimmte Kriterien übergibst. Beispiel:
public function getBestandstext(pstrMerkmal as string)as string
dim strErgebnis as string
dim recDaten as recordset
set recDaten=currentdb.openrecordset("select \* from meineTabelle where merkmalsfeld='"&pstrMerkmal &"'")
do while not recDaten.EOF and not recDaten.BOF
strErgebnis = strErgebnis & iif(strErgebnis="","",", ") \_
& recDaten("Artikelfeld")
recDaten.movenext
loop
getBestandstext="Der Bestand an "& pstrMerkmal &" ist "& strErgebnis &"."
end function
Das ganze etwas fehlertolerant bauen (wenn Du obiger Funktion einen Text mit ’ übergibst, knallt’s; diese müssen durch zwei ’ ersetzt werden, siehe SQL-Doku). Wenn’s keine Treffer gibt, sollte statt „Der Bestand an x ist .“ so was wie „x gibt’s nicht.“ erscheinen. Halt schön machen, das ganze.
Diese Funktion gehört in ein globales Modul. Dann kannst Du als Steuerelementinhalt eines Formular-Textfeldes z. B. „=getBestandstext(Me!Merkmalsfeld)“ eintragen.
Ebenso kannst Du die Werte in ein eigenes Tabellenfeld schreiben per Update-Anweisung/Abfrage:
update meinetabelle set klartextfeld=getBestandstext([merkmalsfeld])
Das dauert zum Berechnen länger, aber die Anzeige geschieht flotter. Die Update-Anweisung funktioniert übrigens nur unter Access; wenn Du diese so auf Oracle oder so loslassen willst, wird das wahrscheins nix…
Gruß, Manfred
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]