Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1928to1932
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Strings aus Datenbank in Excel
15.05.2023 01:47:25
Marc Franz

Hallo Ihr mal wieder :)

Also ich arbeite an einer Excel Mappe, in der über einen Anschluss an eine Datenbank, Daten eingegeben/bearbeitet und ausgegeben werden.

Dabei kommt es auch vor, das ich z.B. Emails über diese Mappe erstelle und versende.
Leider kommt es immer mal wieder vor, dass ich Anpassungen an den Standardtexten machen muss, dadurch das aber diverse Leute diese Mappe benutzen, müsste ich ,nachdem ich Anpassungen vorgenommen habe, diese an alle schicken, damit sie wieder auf dem aktuellen Stand sind..

Daher habe ich angefangen Textbausteine für die Emails, Anschreiben etc.. in der Datenbank zu hinterlegen.. Der Vorteil ist, ich brauch an der Exceltabelle nichts mehr ändern, und Texte werden automatisch bei allen Nutzern aktualisiert ausgegeben.


So der Plan ;)

Mein Problem ist jetzt folgender:
Wenn ich einen Textbaustein mit personalisierter Anrede (Z.B. Sehr geehrte Frau Müller) ausgeben will, habe ich das z.B. so in Excel eingeben:


VorlageText ="Sehr geehrte Frau " & vorPra & " " & nachPra & ", " & vbNewLine


Wie muss ich das nun in der Datenbank bzw in Excel so umstellen, das wenn Excel den Textbaustein aus der Datenbank heraus holt, er auch erkennt, wann der String durch eine Variable (hier vorPra, nachPra) oder durch einen Zeilenubruch (vbNewLine) unterbrochen ist.. und das Excel das auch richtig ausgibt ?

Für Anregungen wäre ich dankbar

Marc

18
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Strings aus Datenbank in Excel
15.05.2023 06:01:59
ralf_b
Gibt es in deiner Datenbank nur Frauen?
Wie unterscheidest du die Anrede bei Männlein und Weiblein?
Definiere den Ausdruck Datenbank in deinem Kontext etwas genauer.


AW: Strings aus Datenbank in Excel
15.05.2023 06:08:47
Marc Franz
In der Datenbank ist zum Beispiel
Ein Datensatz vorhanden zum Thema Anrede
Der Datensatz besteht dann aus dem Identifizierer (ID) und dann die entsprechenden Fälle die hinterlegt sind
z.B. Anrede Frau, Anrede Herr, Anrede Divers, Anrede auf englisch, Anrede auf französisch etc...

Und je nachdem was für ein Fall auftaucht (sprich welche Sprache in der Userform ausgewählt wurde, ob es um Frau/Mann/divers (hierbei wird in einer Combo-Box ausgewählt)handelt) wird aus der Datenbank, der Textbaustein geladen und eingefügt...


Anzeige
AW: Strings aus Datenbank in Excel
15.05.2023 07:32:29
Oberschlumpf
Moin Marc

auch ich hatte deinen Beitrag gesehen, und auch ich stellte mir die Frage: "Was meint er denn genau mit "Datenbank"???"

Deine Antwort an Ralf macht aber zumindest mich noch immer nicht schlauer :-)

Ich versuch es mal anders:
Wenn zumindest ich bei jemandem lese: "ich nutze eine Datenbank", dann assoziiere ich das sofort mit MS Access, weil eben echte Datenbanken in MS Access bearbeitet/behandelt werden.

So frage ich dich jetzt:
Nutzt auch du eine Access-Datenbank, oder nennst du deine vielen Datensätze zwar auch "Datenbank", aber alle Datensätze sind trotzdem "nur" in einer Exceltabelle gespeichert?

(vielleicht wollte Ralf ja auch genau DAS wissen - aber dann hätte er ja auch genau danach fragen können :-) )

Deine eigentliche Frage aus deinem Erst-Beitrag würde zumindest ich so beantworten:

Nachdem du alle notwendigen Infos aus "deiner Datenbank" ausgelesen hast, verwende doch den selben Code (oder ähnlich), den du schon gezeigt hast, als Erklärung, wie du Textbausteine mit/ohne Anrede/Zeilenumbrüche gestaltest.

Mehr kann zumindest ich noch nicht dazu sagen, es sei denn.....du zeigst uns per Upload Bsp-Dateien von allen Daten, die erforderlich sind, um dein Problem zu verstehen.

Konnte ich helfen?

Ciao
Thorsten


Anzeige
AW: Strings aus Datenbank in Excel
15.05.2023 10:43:21
ralf_b
hey Thorsten, stichel nicht immer.

ich denke der TE hat den ganzen Ausdruck in der Datenbank als Textbaustein und fragt sich nur wie er die Variablentexte in Variablen mit Inhalt umwandelt.
Wobei bei "VBA gut" wüßte er es sicher schon.


AW: Strings aus Datenbank in Excel
15.05.2023 11:35:45
Oberschlumpf
hey Ralf, kennst du die Bedeutung von ":-)"...und wenn ich mit meiner Vermutung "du wolltest wissen, ob Access involtiert ist?" recht habe, dann hättest du ja auch antworten können mit "jep, stimmt, so meinte ich das" - und wenn ich nich richtig vermutet habe, musst du dir auch nich gleich aufn Schlips getreten fühlen :-)


Anzeige
AW: Strings aus Datenbank in Excel
15.05.2023 11:42:17
ralf_b
vielleicht hab ich auch nur das :-) vergessen.


AW: Strings aus Datenbank in Excel
16.05.2023 13:52:08
Marc
Hallo Torsten
es ist in der Tat eine richtige Datenbank (hier eine MS Access 2019).
Die Datenbank wird für das gesamte Projekt genutzt und beinhaltet alles was ich über das Excel Formular eingeben, verarbeite und ausgebe..

Zu dem eigentlichen Problem..

Ich möchte je nachdem was Angaben im Excel Formular gemacht sind, vorgefertigte Texte aus Access herausholen und Texte einfügen..

Als Beispiel
im Excel Formular ist Frau angegklickt und deutsch und Email

Dann soll aus Access der Textbaustein heraus geholt werden


"Sehr geehrte " & Vorname & " " & Nachname & "," & vbNewLine
Das aus der Datenbank auslesen ist auch kein Problem, nur aktuell ist es eben so, wenn in der Datenbank
das hinterlegt ist
"Sehr geehrte " & Vorname & " " & Nachname & "," & vbNewLine

Dann erkennt Excel
a) die Variablen Vorname und Nachname nicht als Variablen
b) vbNewLine nicht als Zeilenumbruch
c) werden alle " aus als " ausgegeben

und hier setzt meine Frage an, was ich tun muss, das Excel das aber genau erkennt?
Mein Ansatz wäre hier :
jedes Mal wenn ich z.B. vbNewLine nutze ein Sonderzeichen zu setzen und in Excel mit Split dne String da trenne
mit Replace bestimmte Wörter Ersetze ..

Oder geht das auch effektiver, eleganter


Anzeige
AW: Strings aus Datenbank in Excel
16.05.2023 20:14:26
Oberschlumpf
Hi Marc,

tja, meinen letzten Hinweis "...ohne Bsp-Dateien hab ich keine andere Idee als genannt..." hast du leider nicht beachtet.

Und da nun auch wir wissen, dass du wirklich Access nutzt, zeig uns bitte per Upload...
...eine Access-Bsp-Datei mit genügend Bsp-Datensätzen
...eine Excel-Bsp-Datei auch mit, wenn erforderlich, Bsp-Datenzeilen

Ciao
Thorsten


AW: Strings aus Datenbank in Excel
16.05.2023 20:26:18
Oberschlumpf
...ach so, bitte zeig natürlich auch den VBA-Code, mit dem du bisher die gewünschten Daten von Access nach Excel überträgst


AW: Strings aus Datenbank in Excel
16.05.2023 21:10:16
Marc
Ich weiß jetzt nicht unbedingt, was hier Beispieldateien bringen sollen.

denn Innerhalb der Datenebank(Access) ist es als Zeichenkette abgespeichert,
es wird in Excel als String übernommen..

und dann geht es ja nur um die Umwandlung, das Excel erkennt, wann innerhalb des Übernommenen String es Text ist, wann es eine Variable ist und wann es ein vb-Befehl ist...

Und ich habe jetzt auch keine Beispieldatenabank oder eine Exceltabelle die ich anhängen kann.
Zum einen ist die Datenbank mit sehr vielen Daten schon gefüttert.. diese für eine Beispieldatenbank zu löschen oder zu verändern dauert zu lange.
Und die Excel Datei ist auch mit vielen anderen Funktionen gefüllt, und ist auf ein speziellen Netzwerpfad abgestimmt, was sich nicht ohne weiteres ändern lässt..

Hier Beispielhaft wie ich jetzt aus der _Datenbank, ein angefordertes Element holt. (Das ist jetzt nicht der entgültige Code, da hier die noch mit dem Durchlauf der Tabelle in der Datenbank gearbeitet wird, statt mit WHERE den Datensatz direkt an zu sprechen.


Set DBcon = New ADODB.Connection
    DBcon.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Pfad & DB_name & ";Jet OLEDB:Database Password =" & DB_pwd
DBcon.Open
    SQLCommand = "SELECT * FROM tbl_fix_Textbausteine"
    Set DBrecord = DBcon.Execute(SQLCommand)
    Do While Not DBrecord.EOF
        If DBrecord("Funktion") = "EMAIL_PRA_VER" Then
            Text = DBrecord("AnsprechSIE")
        End If
        DBrecord.MoveNext
    Loop
DBcon.Close


Anzeige
AW: Strings aus Datenbank in Excel
16.05.2023 21:46:53
ralf_b
du wirst wohl den fertigen Text abschliessend mit einer Ersetzfunktion durchackern müssen. So wie das Word mit den Textteldern auch macht.
aus vorPra wird " & vorPra & " um den String zu teilen. oder gleich die richtigen Daten eintragen..
Da würde es aber Sinn machen in der Datenbank die Variablenabgrenzung mittels bestimmte Sonderzeichen umzusetzen. Damit man die im Text besser findet.

"Sehr geehrte Frau #vorPra# #nachPra#, #vbNewLine#"
"Sehr geehrte Frau Irene Mustermann,  "& vbNewLine &"


AW: Strings aus Datenbank in Excel
20.05.2023 14:26:37
Marc Franz
Hallo Ralf

danke für den Tipp,

in der Tat habe ich es inzwischen auch so gemacht, das ich ein nicht benutztes Sonderzeichen als Split Zeichen benutzen und entsprechend den String aus der DB herausnehme und Splitte.. bzw. mit Replace arbeite

Danke für die Anregung


Anzeige
AW: Strings aus Datenbank in Excel
16.05.2023 21:59:55
Oberschlumpf
von dir: "Ich weiß jetzt nicht unbedingt, was hier Beispieldateien bringen sollen."

a) von mir: du kannst mit Dateien dein Problem nich lösen - erwartest aber von uns, das Ganze ohne Dateien zu schaffen

b) ich verstehe nicht, oder vllt falsch, einige deiner Beschreibungen und kann mir deshalb nicht ganz so einfach vorstellen, was genau du erreichen willst
MIT Datei(en) wäre es zumindest für mich einfacher, alles besser zu verstehen, weil...dann SEHE ich, was du haben willst

Nein, du brauchst mich jetzt wegen b) nicht fragen, was genau ich vielleicht nicht verstanden habe - denn das ändert ja nix dran, dass das, was du so und so versuchst, zu erklären...ich dann auch wieder vielleicht falsch oder gar nicht verstehe

aber is ja alles nich schlimm...Ralf hat ja eine weitere Idee für dich - vielleicht ist das ja das, was du suchst

weiter viel Erfolg für dich


Anzeige
AW: Strings aus Datenbank in Excel
20.05.2023 14:24:26
Marc Franz
Die Sache ist ja,
ich erwarte da keine Lösung, sondern nur einen Wink vielleicht ..

Zudem ist es wie gesagt in dem Fall recht uninteressant, wie die Datenbank aufgebaut ist, wie die Daten von a nach b kommt..

Wichtig ist, das es sich um Strings handelt, und für mich nur die "vielleicht blöde Frage ist" , wie ich sagen wir effizient Excel beibringe das in dem String VBA Code (in Form von Variablen und Anweisungen) vorhanden sind..


AW: Strings aus Datenbank in Excel
20.05.2023 16:29:23
Oberschlumpf
du verstehst mich noch immer nich!

wie soll ich dir etwas "zuwinken" können, dass dir hilft, wenn ich vielleicht deine nur-Beschreibungen nich oder falsch verstehe???????
und wenn du keine Lust hast, Bsp-Dateien zu erstellen - dann schreib das auch klar + deutlich...und red nich so lange + viel drum rum


Anzeige
kommt denn von dir noch was? owT
16.05.2023 10:27:48
Oberschlumpf


Entschuldigung
16.05.2023 13:38:10
Marc
Entschuldigung , ich war krankheitsbedingt nicht im Netz
Ich lese mir jetzt alles durch.


Entschuldigung
16.05.2023 13:39:10
Marc
Hallol

entschuldigung, ich war krankheitsbedingt nicht im Netz.
Ich werde mir gleich alles durchlesen und Antworten

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige