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
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".
Danke Maggie,
aber das Resultat meines Nachbau-Versuchs endet in "undefinierte Funktion ´sqlliste´in Ausdruck"...!
Tipp?
Grüße,
mohab
Du musst den Code der Funktion in einem allgemeinen Modul speichern.
Modul und Funktion dürfen nicht denselben Namen haben.
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...!
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...
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; ","; ",")
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 & "'", ";", ",")
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?
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...
Hallo,
naja, der Code (Ausdruck) ist noch nicht "hinbekommen"...
=sqlliste("SELECT [tbl3a_positionsnr] FROM tbl3a_vl_erfassung WHERE [tbl3a_tournr] ='" & [tbl3a_tournr] & "'";";";",")
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!!