Abweichendes Resultat für Query in Access und Supermailer

Fragen und Tipps & Tricks zur Newsletter Software SuperMailer oder zum BirthdayMailer

Moderatoren: mirko, Wolfi

Antworten
TERRA
Beiträge: 7
Registriert: 16.09.2003, 16:59

Re: Abweichendes Resultat für Query in Access und Supermaile

Beitrag von TERRA »

In Access ist das so richtig. War schon sehr erstaunt, dass die Abfrage nicht das gleiche gibt.... Ev. müsste man in SuperMailer ein SQL-Statment mit allgemeingültigem Syntax einbringen und nicht das SQL-Statement der Access-Query abrufen. Aber ist natürlich auch nur ein Patch. Und kann dann in Access nicht mehr gewartet werden.

Ein indirekte Aufruf der Query gibt übrigens auch kein richtiges Resultat.

Der sinnvollste Workaround ist wohl, wenn in Access in der Datenbank ein eigenes Feld für SuperMailer angelegt und vor dem Versand jeweils aktualisiert wird. Auch nicht gerade eine elegante Lösung...


Postscript:
Habe gerade mal schnell mein SQL-Statement aus Access genommen, '*' durch '%' ersetzt und in SuperMailer als SQL-Abfrage hinterlegt. Und siehe da: Jetzt funktioniert es! Meine Vermutung: ODBC delegiert die Verantwortung für die korrekten Syntax an den Anwender (SuperMailer in diesem Fall). Sicher heisst es dort irgendwo, dass man korrekten SQL-Syntax übergeben muss.
Leider ist das SQL-Statment in SuperMailer für mich, wie oben erwähnt, untauglich - die Idee ist ja, dass die Änderungen am Mailverteiler in Access gewartet werden können.
Benutzeravatar
mirko
Beiträge: 22869
Registriert: 25.11.2001, 15:14
Wohnort: Leipzig
Kontaktdaten:

Re: Abweichendes Resultat für Query in Access und Supermaile

Beitrag von mirko »

Die Verbindung wird über den Treiber hergestellt, dann übergibt SuperMailer direkt die komplette SQL-Anweisung an den Treiber, der liefert das Ergebnis zurück oder einen Fehler. Zu Access selbst kann ich aber nichts sagen, z.B. ob * in Verbindung mit like korrekt ist, keine Ahnung, in MySQL würde man % nehmen.
TERRA
Beiträge: 7
Registriert: 16.09.2003, 16:59

Abweichendes Resultat für Query in Access und Supermailer

Beitrag von TERRA »

Ich führe eine Access-Query zur Bestimmung der Email-Adressen für Supermailer aus. Die Übergabe der Daten erfolgt dirket mittels Einbindung der Datenbank - Import aus einer Datenbank

Interessanterweise gibt nun die Query ('qryEmailsFürSupermailer') nicht das gleiche Resultat in Access und Supermailer. Der Grund dafür ist, dass in Supermailer ein Teil des SQL-Statements nicht ausgewertet wird:

...
FROM (tblAdressenDaniaAlle INNER JOIN tblComboKundenTyp ON tblAdressenDaniaAlle.adKundenTyp = tblComboKundenTyp.ktID) LEFT JOIN tblAdressenDaniaAlle1 ON tblAdressenDaniaAlle.adEmail = tblAdressenDaniaAlle1.adEmail
WHERE (((tblAdressenDaniaAlle.adEmail) Is Not Null) AND ((tblAdressenDaniaAlle1.adEmail) Is Null) AND ((tblComboKundenTyp.ktText)<>"Reiner Onlineshop" And (tblComboKundenTyp.ktText) Not Like "*privat*" And (tblComboKundenTyp.ktText) Not Like "*Verein*") AND ((tblAdressenDaniaAlle.adKeineMailings)<>True)) ...

In Supermailer wird der rote Teil nicht beachtet und darum habe ich dort dann 6 Adressen mehr. Die Einschränkung "Reiner Onlineshop" funktioniert.


Wie ist der Mechanismus? Holt Supermailer das SQL-Statement für 'qryEmailsFürSupermailer' aus Access und führt die Query dann selbst aus
oder wird direkt das Resultat aus Access abgeholt?
Antworten