Access SQL <> MySQL ?

Hallo,

ich wollte unter Access eine Abfrage auf eine MySQL DB machen. Und zwar genau diese:

Test = "SELECT CONCAT_WS(’.’,VOLUMEN_POS,LFD_PREIS_NR)AS Test FROM bericht_200407"

Frage: Warum läuft die Abfrage unter MySQL ohne Probs - aber wenn ich sie unter Access laufen lassen möchte (wobei die Abfrage auch dann auf die gleiche MySQL DB geht) dann meckert er immer herum:
Laufzeitfehler 2342
Eine Ausführungs SQL-Aktion (RunSQL) erfordert ein Argument, das aus einer SQL-Anweisung besteht.

???

Hat jmd. einen Rat? (Außer Microsoft zu vergessen…)
Danke!

Hallo, Andreas!

Test = "SELECT CONCAT_WS(’.’,VOLUMEN_POS,LFD_PREIS_NR)AS
Test FROM bericht_200407"

Schau mal unter der Access-Hilfe unter dem SQL-Befehl CONCAT_WS nach. Und falls Du ihn findest, sag Bescheid.

Frage: Warum läuft die Abfrage unter MySQL ohne Probs - aber

Weil mySQL eine Server-Datenbank ist, die den Befehl entgegennimmt und verarbeitet.

wenn ich sie unter Access laufen lassen möchte (wobei die
Abfrage auch dann auf die gleiche MySQL DB geht) dann meckert
er immer herum:
Laufzeitfehler 2342
Eine Ausführungs SQL-Aktion (RunSQL) erfordert ein Argument,
das aus einer SQL-Anweisung besteht.

Weil die Syntax nicht mit der Access-SQL-Syntax übereinstimmt.

Hat jmd. einen Rat? (Außer Microsoft zu vergessen…)

Vergiss MS. Gut, noch was: Du musst die Abfrage als Pass-Through-Abfrage definieren. Dann schiebt Access diese uninterpretiert zum Server durch, und dort sollte sie laufen. Ohne Pass-Through versucht Access, das Ding selbst auf die Reihe zu bekommen, was eben nicht funktioniert.

Du solltest übrigens möglichst oft Pass-Through verwenden, damit auch wirklich die Server-DB rechnet. Ansonsten holt sich Access die komplette Tabelle(n) (über’s Netz) und berechnet selbst den einen Datensatz aus zehn Millionen.

Ein Problem sind jedoch die unterschiedlichen Syntax… (was ist davon eigentlich der Plural? Syn-Taxis?) von Server-DB und Access.

Danke!

Hoffe, es klappt. Dann: Bitte.

Gruß, Manfred

Test = "SELECT CONCAT_WS(’.’,VOLUMEN_POS,LFD_PREIS_NR)AS
Test FROM bericht_200407"

Hi,

Access 97 kennt Concat_WS nicht. Was macht Concat_WS? Ich vermute, dass es die beiden Zellen „Volumen_POS“ und „LFD_PREIS_NR“ konkatenieren und ein „.“ dazwischen schreiben soll? Unter Access 97 sieht das Ding so aus:

SELECT [volumen_pos] & „.“ & [lfd_preis_nr] AS test FROM [bericht_200407]

Grüße,
Michl

Jepp, denke - hat gefunzt :smile:

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]