Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: mohab am Juni 18, 2015, 13:42:05

Titel: Datensätze nach Vorgabe von Parameter suchen und in einer Zeile darstellen
Beitrag von: mohab am Juni 18, 2015, 13:42:05
Guten Tag sehr geschätze Forumsmitglieder,

eine scheinbar einfache Aufgabe eskaliert wieder völlig.

Aufgabenstellung:
1 Tabelle mit den Werten Tour und Positionen
bsp:
tour ## Position
1 ## aaa
1 ## bbb
1 ## ccc
2 ## ddd
2 ## eee
Es soll nun nach Eingabe der Tour (bsp.: 1) eine Ausgabe in 1 Feld wie folgt erzeugt werden:
aaa;bbb;ccc

Kann doch nicht so schwer sein, oder?

Für eure Hilfe und Lösungsansätze bin ich wie immer sehr dankbar !
Grüße,
Mohab
Titel: Re: Datensätze nach Vorgabe von Parameter suchen und in einer Zeile darstellen
Beitrag von: MaggieMay am Juni 18, 2015, 13:59:40
Hi,

dazu liest du die Tabelle mittels Recordset in einer Schleife aus und fasst die Positionen pro Artikel wunschgemäß zusammen. Das lässt sich mit Hilfe einer Funktion auch in einer Abfrage lösen. Ein Beispiel dazu findest du im dbWiki: "Liste per SQL aufbauen", unter "Access Tipps und Tricks, Anwendungsbeispiele".
Titel: Re: Datensätze nach Vorgabe von Parameter suchen und in einer Zeile darstellen
Beitrag von: mohab am Juni 18, 2015, 14:44:08
Danke Maggie,

aber das Resultat meines Nachbau-Versuchs endet in "undefinierte Funktion ´sqlliste´in Ausdruck"...!

Tipp?

Grüße,
mohab
Titel: Re: Datensätze nach Vorgabe von Parameter suchen und in einer Zeile darstellen
Beitrag von: MaggieMay am Juni 18, 2015, 14:45:07
Du musst den Code der Funktion in einem allgemeinen Modul speichern.
Modul und Funktion dürfen nicht denselben Namen haben.
Titel: Re: Datensätze nach Vorgabe von Parameter suchen und in einer Zeile darstellen
Beitrag von: mohab am Juni 18, 2015, 15:05:49
so weit so gut... die Funktion findet er jetzt (danke!)
aber:  ich gebe wohl immer die falsche Anzahl an Argumenten vor.
ich kann die Argumente aber der wiki seite nicht entnehmen...!
Titel: Re: Datensätze nach Vorgabe von Parameter suchen und in einer Zeile darstellen
Beitrag von: MaggieMay am Juni 18, 2015, 15:08:35
Dann zeige doch bitte den Code dazu, wie du die Funktion in der Abfrage einsetzt (-> kompletten SQL-Code).

Zitatich kann die Argumente aber der wiki seite nicht entnehmen...!
Dort gibt es aber doch Beispiele für den Funktionsaufruf...
Titel: Re: Datensätze nach Vorgabe von Parameter suchen und in einer Zeile darstellen
Beitrag von: mohab am Juni 18, 2015, 15:23:05
an den SQL-Code komm ich nicht, wegen der falschen Anzahl von Argumenten.

ich habe das ganze eben noch einmal in einem Textfeld versucht. selber fehler. meine eingabe:
=SQLListe("SELECT position FROM meinetabelle WHERE tour = " & tour; ","; ",")
Titel: Re: Datensätze nach Vorgabe von Parameter suchen und in einer Zeile darstellen
Beitrag von: MaggieMay am Juni 18, 2015, 15:39:36
Lass dich nicht von den Gänsefüßchen verwirren, sie schließen jeweils einen String ein, müssen also paarig sein. Die Kommas trennen die Parameter, können aber auch als Trennzeichen eingesetzt werden.

Was möchtest du als Trennzeichen haben, das Komma oder ein Semikolon?

So könnte es bspw. klappen:
=SQLListe("SELECT position FROM meinetabelle WHERE tour = " & tour, ";", ",")
oder so, wenn tour vom Typ Text ist:
=SQLListe("SELECT position FROM meinetabelle WHERE tour = '" & tour & "'", ";", ",")
Titel: Re: Datensätze nach Vorgabe von Parameter suchen und in einer Zeile darstellen
Beitrag von: mohab am Juni 18, 2015, 15:47:08
vielen Dank für deine schnellen Antworten...

trotz copy paste... :  "der von Ihnen eingegebene Ausdruck ist syntaktisch falsch"...
Tour ist in meinem Fall ein Text, ja.
Positionen übrigens auch.
Aber wenn das falsch wäre müsste ja eine andere Fehlermeldung kommen denke ich? Diese Fehlermeldung müsste ja auf falsche klammern etc hinweisen, richtig?



Titel: Re: Datensätze nach Vorgabe von Parameter suchen und in einer Zeile darstellen
Beitrag von: mohab am Juni 18, 2015, 15:51:38
jetzt bin ich komplett verwirrt:
ich habe jetzt den code doch hinbekommen:
=sqlliste(SELECT [tbl3a_positionsnr] FROM tbl3a_vl_erfassung WHERE [tbl3a_tournr] ="'" & [tbl3a_tournr] & "'",";",",")

wenn ich die Eingabe jetzt aber bestätige (Enter) löscht Access "sqlliste" aus dem code...
das Resultat ist "#Name" als Ergebnis...
Titel: Re: Datensätze nach Vorgabe von Parameter suchen und in einer Zeile darstellen
Beitrag von: DF6GL am Juni 18, 2015, 16:13:08
Hallo,


naja, der Code (Ausdruck) ist noch nicht "hinbekommen"...

=sqlliste("SELECT [tbl3a_positionsnr] FROM tbl3a_vl_erfassung WHERE [tbl3a_tournr] ='" & [tbl3a_tournr] & "'";";";",")
Titel: Re: Datensätze nach Vorgabe von Parameter suchen und in einer Zeile darstellen
Beitrag von: mohab am Juni 18, 2015, 16:34:09
Franz, danke dass du dich einschaltest.
es lag scheinbar nicht an der eingabe im steuerelement (die wohl zusätzlich falsch war) sondern an der Definition der Funktion.
wir haben die eben überarbeitet, jetzt funktioniert alles bestens!

tausend dank euch! auch dir maggie!!