Möchte erste Zeile in andere Spalte selektieren

Hallo ihr Lieben,

ich arbeite mit Access 2003. Für eine Mailing-Aktion habe ich mir aus Outlook Emails importiert. Die Daten brauche ich für eine Serienmail. In einer Spalte habe ich den Inhalt der Email. Ich würde gern die erste Zeile: Sehr geehrter Herr Soundso, oder Frau Soundso in eine neue Spalte bringen oder als Abfrageergebnis haben, damit ich eine Anrede schon in der Serienmail habe.

Also erste Zeile bis zum ersten Komma.

Bei der letzten Aktion habe ich die erste Zeil mit Kopieren und Einfügen 651 mal ausgeführt. Jetzt sind es schon 900 Emails und täglich werden es mehr.

Hat da jemand eine Idee?

Danke im voraus

Ute

Hallo.

Also erste Zeile bis zum ersten Komma.

Am einfachsten ist es, wenn Du Dir eine Funktion erstellst, die den String bis zum ersten Komma aus dem Tabellenfeld extrahiert und wieder als String zurückgibt. Etwa so

Public Function Anredezeile(DeinFeld As String) As String
Dim KommaPos As Integer
KommaPos=InStr(DeinFeld,",")
Anredezeile=Left$(DeinFeld,KommaPos)
End Function

Diese Funktion kannst Du mit =Anredezeile(feldname) in Formulare, Abfragen oder bei OBI einbauen …

Gruß kw

Hallo Ute,

ich kann hier leider nur eine sehr grobe Idee in den Raum werfen, die Details, und ob es überhaupt möglich ist, sollte ein echter Fachmann (er)klären…

Man kann über ACCESS MS-Word starten, und die in einer Vorlage enthaltenen Textmarken mit dem Inhalt der Datensätze füllen.
Bei mir realisiert durch eine Klasse, sowie API-Deklaration.
Die genaue Funktion und ob das auch mit Outlook geht, vielleicht in Verbindung mit Word (Serienbrieffunktion) & Outlook kann ich nicht sagen.

Gruß Markus

Hallo KW,

erst mal danke für die schnelle Antwort. Ich bin noch ein Neuling. Ich habe gerade mal das Grundwissen in TSQL und versuche das nun in Access n Visual Basic umzusetzen.

Wo gebe ich die Public Function Funktion ein? Blöde Frage, ich weiß. In Modulen?
Habe ich probiert. Aber nichts passiert.

Oder gebe ich es im Query Analyser im SQL-Server ein?

Gruss Ute

Am einfachsten ist es, wenn Du Dir eine Funktion erstellst,
die den String bis zum ersten Komma aus dem Tabellenfeld
extrahiert und wieder als String zurückgibt. Etwa
so

Public Function Anredezeile(DeinFeld As String) As
String
Dim KommaPos As Integer
KommaPos=InStr(DeinFeld,",")
Anredezeile=Left$(DeinFeld,KommaPos)
End Function

Diese Funktion kannst Du mit
=Anredezeile(feldname) in Formulare, Abfragen oder bei
OBI einbauen …

Gruß kw

Rehallo.

Wo gebe ich die Public Function Funktion ein? Blöde Frage, ich
weiß. In Modulen?
Habe ich probiert. Aber nichts passiert.

Den von mir geposteten Code gibst Du in der Tat in ein Modul ein. Letzteres solltest Du dann speichern - mainzwegen als „mdl_Funktionen“. Dann steht Dir die Funktion in der gesamten DB zur Verfügung (weil sie nämlich Public ist). Den Aufruf der Funktion kannst Du aus einem Formular oder Bericht heraus per ungebundenem Textfeld bewerkstelligen : einfach ein Textfeld anlegen und dann in „Steuerelementinhalt“ den =funktionsname(blablabla) von vorhin eintragen.

Oder aber Du möchtest die Funktion in einer Abfrage verwenden; dann gibst Du in ein Ausgabefeld ebenfalls den obigen Quatsch =funktionsname(blablabla) ein.

Gruß kw

Noch mal Hallo.

Ich habe Dir eine kleine Beispiel- DB für die Funktion und ihre Anwendung zugebeamt.

Gruß kw

Es hat geklappt!
Hallo KW,

es hat geklappt. Super! Danke schön!

Gruß Ute