Michael Schröpl: SQL - Statement von 2 Datenbanken

Beitrag lesen

Die Daten stehen in 2 Accesstabellen, von den
variablen sind bei identisch.

... und das führt zu Deinem Problem

[Microsoft][ODBC Microsoft Access 97 -Treiber] Das angegebene Feld 'subject' kann sich auf mehr als eine der Tabellen beziehen, die im FROM-Abschnitt der SQL-Anweisung angegeben werden.

Offenbar tritt das Feld "subject" in mehr als einer Tabelle auf, und das führt dazu, daß das von Dir verwendete SQL-Statement Probleme bekommt, weil ...

SQL = "Select * from mail, dtag where ...

"Select *" bedeutet: Selektiere alle Felder und gib ihnen (erst mal) jeweils den Namen, den sie in ihrer Originaltabelle hatten. (Denn das Ergebnis eines SELECT kann selbst wiederum in bestimmten Fällen wie eine Tabelle weiterverarbeitet werden - deshalb müssen die Feldnamen eindeutig sein. Und das sind sie bei Dir eben nicht.

Kann mir jemand sagen was ich falsch mache und mir
vielleicht einige Tips gibt ?!

Du erzeugst ein Ergebnis, in dem zwei Spalten mit demselben Namen auftreten.
Brauchst Du denn wirklich beide?
(Du hast keinen JOIN über sie durchgeführt, sie scheinen also verschiedene Werte zu enthalten - oder Du hast überhaupt vergessen, genau das zu tun ...).

Du könntest die zu selektiertenden Felder alle einzeln zwischen SELECT und FROM auflisten (das ist halt Schreibarbeit - aber wahrscheinlich brauchst Du sowieso nicht alle Felder ...) und dann entweder nur eines der beiden "Subject"-Felder nehmen oder eines der beiden dynamisch umbenennen (indem Du OHNE Komma einen alias-Namen direkt dahinter schreibst).

In der Aufzählung müssen die beiden Felder dann natürlich eindeutig identifizierbar sein, also nicht "select inhalt, subject, ... from ...", sondern "select inhalt, mail.subject, dtag.subject, ... from ...". Den Tabellennamen darfst Du weglassen, wenn der Feldname eindeutig ist - aber eben *nur* dann.