PDA

Vollständige Version anzeigen : string zusammenstellen


ChaosTim
11.05.2011, 13:50
Hallo zusammen,

ich habe eine Tabelle mit ca. 15 Feldern und ca. 70 Datensätzen. Eines dieser Felder ist die Email-Adresse. Ist es möglich mit Hilfe einer Abfrage oder auch anders alle Email-Adressen also von jedem einzelnen Datensatz in ein Feld zu schreiben, getrennt durch ein Komma oder Semikolon?

Danke im voraus

Atrus2711
11.05.2011, 13:55
Hi,

http://dbwiki.net/wiki/VBA_Tipp:_Liste_per_SQL_aufbauen

könnte helfen.

ChaosTim
11.05.2011, 15:08
erst einmal danke, aber das klappt nicht...

hier ist mein Code:

=SQLListe("SELECT [pers E-Mail], FROM ifk_druck
WHERE [pers E-Mail] ='" & [ifk_druck] & "'";", ";": ")

Was mache ich falsch??

Atrus2711
11.05.2011, 15:16
Das Komma vor FROM muss weg.
Und ifk_druck kommt sowohl als Tabellenname (FROM) als auch als Variablenname im WHERE vor. Ist das gewollt?

Probiers ggf. erstmal im Direktbereich (Strg+G) mit einer fest vorgegebenen Nummer. Dann schrittweise verkomplizieren.

maikek
11.05.2011, 15:18
Die WHERE-Bedingung sieht irgendwie völlig sinnlos aus. Aber da du alle Email-Adressen willst, brauchst du sowieso kein Kriterium.
Das Komma nach dem Feldnamen ist falsch, da gehört keins hin.
maike

ChaosTim
11.05.2011, 15:58
wie müsste das Ganze denn aussehen ohne where-Bedingung.
Ist ja richtig, ich möchte nur alle email-Adressen in ein Feld...

Atrus2711
11.05.2011, 16:00
=SQLListe("SELECT [pers E-Mail] FROM ifk_druck", ";": ")

ChaosTim
11.05.2011, 17:01
mein Feld bleibt leider leer. IFK_Druck ist ja der Name meiner Tabelle. Das ist doch auch richtig, dass ich die dort angebe, oder?

ChaosTim
11.05.2011, 17:03
ich bekomme die Fehlermeldung der Ausdruck wäre syntaktisch falsch...

maikek
11.05.2011, 17:16
Wo hast du denn den Ausdruck eingegeben? Als Datenherkunft für ein Feld oder ...? Und wie lautet er jetzt?
Menno, muss man denn den Leuten immer alles aus der Nase ziehen. Sitz' ich vor deinem Rechner :( ?
maike

ebs17
11.05.2011, 17:37
Wenn man eine Funktion in der Datenherkunft eines Formularfeldes verwendet, sind in der deutschen Accessversion Semikolons als Trennzeichen zwischen den Argumenten zu verwenden. Das sieht oben anders aus.
Public Function SQLListe(ByVal SQL As String, _
Optional ByVal SepR As String = ";", Optional ByVal SepF As String = ";", _
Optional ByVal NoNullFields As Boolean = True) As String
Wenn man sich zusätzlich die Funktionsdeklaration anschaut, sind die optionalen Argumente passend vorbelegt und brauchen gar nicht angegeben werden. Also genügt die Angabe der gültigen SQL-Anweisung:
= SQLListe("SELECT [pers E-Mail] FROM ifk_druck")