Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Variable mittels Schleife mehrfach beschreiben - will aber nicht :)

Begonnen von nimora, Juli 24, 2015, 17:37:24

⏪ vorheriges - nächstes ⏩

nimora

Zitatich verstehe immer noch nicht wozu Du VBA benötigst.

das habe ich dann wohl falsch verstanden.

ZitatAn den eigentlichen Daten wird ja durch das Versenden der Mail nichts geändert.

stimmt nicht ganz, es muss ein vermerk gesetzt werden, dass die Mail verschickt wurde und das Datum, sowie der benutzer, der sie ausgelöst hat eingetragen werden.

Ich versuch mal mein bestens, das in kombi mit einer Abfrage zu lösen.

MzKlMu

Hallo,
Zitates muss ein vermerk gesetzt werden, dass die Mail verschickt wurde und das Datum, sowie der benutzer, der sie ausgelöst hat eingetragen werden
das macht man mit einer Aktualisierungsabfrage in SQL. Die Abfrage wird über VBA nur angestoßen.
Gruß Klaus

nimora

:) stimmt :/

im moment hänge ich eher daran, dass ich auf den recordset der abfrage nicht richtig zugreifen kann.
habe folgendes gefunden:
Private Sub Befehl19_Click()
Dim dbs As DAO.Database
Dim rsTable As DAO.Recordset
Dim rsQuery As DAO.Recordset

Set dbs = CurrentDb

Set rsQuery = dbs.OpenRecordset("qrykundenmail2", dbOpenDynaset)
Debug.Print rsQuery.Fields("MailAnredeKomplett")
End Sub


bekomme aber einen Fehler, dass MailAnrede... nicht existiert. :(

MzKlMu

Hallo,
was hast Du denn mit dem gezeigten Code vor, bzw. was ist dessen Ziel ?
Auch solche Recordset Geschichten sind oftmals nicht notwendig bzw. der falsche Weg.

Ich werde den Verdacht nicht los, dass Du Sachen programmierst die man nicht benötigt.
Gruß Klaus

MaggieMay

Hi,
Zitatbekomme aber einen Fehler, dass MailAnrede... nicht existiert
dann schau dir die Abfrage "qrykundenmail2" mal ganz genau an.
Freundliche Grüße
MaggieMay

nimora

Zitatwas hast Du denn mit dem gezeigten Code vor

hmm, ich folge deiner Empfehlung, dass ich die Anrede in der Mail nicht über das if-Statement ausführe sondern über eine Abfrage, ähnlich deiner Beispieldaten. In den Mails, möchte ich dann die Abfrageergebnisse verwenden, um die Mail mit der korrekten Anrede zu füllen. So habe ich deine Hinweise zumindest verstanden.

@Maggie

die Abfrage lautet wie folgt:
SELECT "''" & [MailAnrede] & " " & [Nachname] & "," & "''" AS MailAnredeKomplett
FROM tblAnreden INNER JOIN KundenImport2 ON tblAnreden.AnredeID = KundenImport2.AnredeRID
WHERE (((KundenImport2.FKAntwort)="absagen") AND ((BewerberImport2.abgesagt)=False));


Wahrscheinlich kann man dieses SQL-Statement wahrscheinlich direkt im vba nutzen, aber wenn ich MzKIMu richtig verstanden habe, soll man möglichst wenig im vba machen und z.b. mehr Abfragen nutzen.

aber da ich die Emails nur über vba auslösen kann, bauche ich dort die Infos aus der Abfrage und da fehlt mir der Bezug bzw. wie ich den rs anspreche.

MzKlMu

Hallo,
ZitatIn den Mails, möchte ich dann die Abfrageergebnisse verwenden, um die Mail mit der korrekten Anrede zu füllen. So habe ich deine Hinweise zumindest verstanden.
nein, das hast Du falsch verstanden, bzw. so nicht.
Versendest Du die Mails über Outlook ?

Die Abfrage ist falsch, so ist die auch nicht in meinem Beispiel. Da sieht es so aus:
SELECT [MailAnrede] & " " & [Nachname] AS MailAnredeKomplett
Mit Komma so:
SELECT [MailAnrede] & " " & [Nachname] & "," AS MailAnredeKomplett
Gruß Klaus

nimora

ja, werden über Outlook versendet. das funzt auch, nur der inhalt muss noch gestaltet werden mit umbrüchen, betreff, anrede und text.

den recordset habe ich auch hinbekommen. ich habe es noch mal neu geschrieben und warum auch immer, dann ging es. Jetzt würde ich mir den inhalt der Felder so setzen und die abfrage so gestalten, dass der text der mail in den vba-code gesetzt wird.

so z.b.
"Sehr geehrter Herr Müller,'' & vbCrLf & "Sie sind ein Herr"
"Sehr geehrte Frau Dr. Schulze,'' & vbCrLf & "Sie sind eine Frau Dr."
"Dear Mr. Jacobs,'' & vbCrLf & "You´r a Man"
"Dear Mrs. Brown,'' & vbCrLf & "You´r a Women"


aber, du sagst, ich habe das wieder falsch verstanden? :(

MzKlMu

Hallo,
das sind alles nur Bruchstücke. Zeige bitte mal den kompletten Code zum Versenden der Mail per Outlook.

Verschickst Du Standardtexte, also jeder kriegt den gleichen Text nur in verschiedenen Sprachen ?
Gruß Klaus

nimora

Hallo lieber Helfer,

ich habe es jetzt hinbekommen und es läuft, wie gewünscht. Bedingungen werden über eine Abfrage gestellt auf die mit einem RecordSet zugegriffen wird und die einzelnen Elemente (Betreffe, Anrede, Text) werden angesprochen und in eine Mail eingebaut.

Ich danke euch, für die Hartnäckigkeit.