ODBC-Fehler mit UNION bei mehreren Spalten aus einer Tabelle bei SQL-Abfrage

Hallo!
Bekomme in Access (Frontend) beim Erstellen einer Abfrage (Backend MySql-DB via ODBC) einen Fehler, den ich mir nicht erklären kann. Hoffe, dass Ihr mir helfen könnt. Das hier funktioniert:

SELECT LFDNR, NAME1, NAME2, ASP1NAME, ASP1VORNAME, ASP1TEL, ASP1MOBIL, ASP1MAIL FROM tblfirmen WHERE ASP1NAME like ‚*‘
UNION
SELECT LFDNR, NAME1, NAME2, ASP2NAME, ASP2VORNAME, ASP2TEL, ASP2MOBIL, ASP2MAIL FROM tblfirmen WHERE ASP2NAME like ‚*‘
ORDER BY NAME1;

das hier funktioniert aber nicht (ODBC-Fehler), und ich habe keine Ahnung warum:

SELECT LFDNR, NAME1, NAME2, ASP1NAME, ASP1VORNAME, ASP1TEL, ASP1MOBIL, ASP1MAIL FROM tblfirmen WHERE ASP1NAME like ‚*‘
UNION
SELECT LFDNR, NAME1, NAME2, ASP2NAME, ASP2VORNAME, ASP2TEL, ASP2MOBIL, ASP2MAIL FROM tblfirmen WHERE ASP2NAME like ‚*‘
UNION
SELECT LFDNR, NAME1, NAME2, ASP3NAME, ASP3VORNAME, ASP3TEL, ASP3MOBIL, ASP3MAIL FROM tblfirmen WHERE ASP3NAME like ‚*‘
UNION
SELECT LFDNR, NAME1, NAME2, ASP4NAME, ASP4VORNAME, ASP4TEL, ASP4MOBIL, ASP4MAIL FROM tblfirmen WHERE ASP4NAME like ‚*‘
ORDER BY NAME1;

Kann mir da jemand helfen? Schonmal vielen Dank an Alle!

Servus,

du hast sicher schon getestet, ob das Problem darin besteht dass du keine 4 Tabellen mit UNION verbinden kannst ?

Da immer die selbe Tabelle abgefragt wird und eine Inkompatibilität der Datentypen unwahrscheinlich ist, kann das Problem eigentlich nur darin bestehen, dass deine 4-fache UNION einfach nur mehr Datensätze liefert als technisch erlaubt ist.

Kann das sein dass MySQL oder Access oder die ODBC-Verbindung hier ein Limit hat, das überschritten wird ?

Vllt liegt es ja daran.

Gruss,
SomeOne

Hallo SomeOne,
danke für Deine Anwort. Habe es jetzt in PHP mit der SQL-Abfrage probiert und da geht das 4-fach UNION. Da ich in Access immer einen ODBC-Fehler kriege, wird es wohl wirklich eine ODBC-Beschränkung sein. Hast Du vielleicht eine Idee, wie man das umgehen kann?
Gruß

Guten Tag,
da die Beschränkung wirklich beim MySQL-ODBC-Connector zu liegen scheint, habe ich das Ganze jetzt über eine temporäre Tabelle mit einem 4-fach INSERT INTO gelöst. Ist zwar keine schöne Lösung, aber es funktioniert. Würde mich aber schon interessieren, ob es eine gute Dokumentation für MySQL-ODBC gibt und wo da die Grenzen/Einschränkungen liegen. Hat da einer einen Link?
Danke und Gruß

Guten Morgen,

Hast Du vielleicht eine Idee, wie
man das umgehen kann?

sorry, ich kenne mich weder mit MySQL noch mit Access ausreichend aus, hatte nur auf Grund des beschriebenen Symptoms geraten was das Problem sein könnte.

Für Access gibts aber ein eigenes Brett, dort wird dir sicher weiter geholfen.

Viel Erfolg wünscht
SomeOne

Hallo SomeOne,
danke für Deinen Post. Im Endeffekt hat Dein Denk-Anstoß wirklich geholfen. Mal sehen, ob ich das Ganze nochmal bei Access reinstelle. Ist wohl dafür doch zu „crossover“ mit MySqlODBCAccess. Erstmal funktioniert es mit der Hilfstabelle und eine richtige MySql-ODBC-Dokumentation habe ich immer noch nicht gefunden.
Gruß
cozuhazu

Hi,

vielleicht hilft das ja:

http://stackoverflow.com/questions/12804495/multiple…

Gruss
Joey

Hallo Joey,
danke für Deinen Link. Das kann es aber nicht sein. Wenn ich die gleiche Abfrage in PHP mache, funktioniert es wunderbar. Es scheint am Zusammenspiel von Access und ODBC zu liegen. Habe hier http://gruppen.niuz.biz/unionabfrage-t151273.html?s=… was darüber gefunden. Leider weiß ich nicht, wie ich eine PassThrough-Abfrage erstellen kann. Oder gibt es eine Möglichkeit, die Übergabe der UNION-Abfrage so zu verändern, daß sie richtig bei MySql ankommt?
Gruß
cozuhazu