![]() |
Datenbank: Access • Zugriff über: ODBC
Fehler - Abfrage zu komplex bei ODBC auf access
Hallo Leute,
ich habe folgendes Problem und bin nun langsam am Verzweifeln. Ich greife mit einem Formular via ODBC auf eine Access-Datenbank zu und das klappt auch noch. Aber wenn der aktuelle Datensatz mehr als 90 Datenfelder enthällt (und leider brauch ich die auch noch alle) dann kommt da so ein lustiger Fehler: "Abfrage zu komplex". Ich denke mir das es daran liegt wieviele Felder man auf einmal editieren will. Eigentlich reicht mir ja eins aber wie kann ich denn den Bereich ändern der editiert werden soll, oder gibt es da andere dinge an die ich nicht gedacht habe. Vielen Dank schon mal im Vorraus Bodo |
Re: Fehler - Abfrage zu komplex bei ODBC auf access
Wiie änderst du den? Wenn du SQl verwendest kannst du ja nur das gewünschte Feld ändern.
|
Re: Fehler - Abfrage zu komplex bei ODBC auf access
ich benutze einfach den edit Befehl des Objectes tTable änder mein Feld via FieldByName und speicher mit post.
klappt ja auch soweit nur bei den großen halt nicht |
Re: Fehler - Abfrage zu komplex bei ODBC auf access
Auf den Einsatz von TTable sollte man verzichten.Besonderst bei ODBC. Verwende ein TQuery und einen UPDATE-Befehl.
|
Re: Fehler - Abfrage zu komplex bei ODBC auf access
Verwende lieber die ADO-Komponenten in Delphi (TADODataset). Die BDE hat auch einige Bugs wenn zu viele Felder verwendet werden bzw. diese zu lang sind.
|
Re: Fehler - Abfrage zu komplex bei ODBC auf access
Zitat:
Gute Idee. Scheint auch so zu funktionieren, wenn ich die Abfrag direct in Access ausführe. Wenn ich das aber in Delphi mache bringt er die Meldung: Allgemeiner SQL-Fehler[Microsoft][ODBC Microsoft Acces Driver]2 Parameter wurden erwartet es wurden aber zu wenig übergeben das ist ja schön und gut aber ExecSQL will doch gar keine Parameter. |
Re: Fehler - Abfrage zu komplex bei ODBC auf access
Aber die Felder werden als Paramter in der erzeugten SQL-Abfrage verwendet.
|
Re: Fehler - Abfrage zu komplex bei ODBC auf access
is ja richtig jedoch geht die gleich abfrage in Access selbst ja ohne Probleme oder welche Felder meinst du jetzt.
Also meine Abfrage sieht so aus: SQL.Clear; SQL.Add('UPDATE ' + tableName + ' SET ' + Port + ' = ' + newValue + ' WHERE Leiste= "A";'); tableName ist mein TabellenName :mrgreen: (wer hätte das gedacht) Port mein Feld NewValue der neue Wert Leiste der Datensatz |
Re: Fehler - Abfrage zu komplex bei ODBC auf access
Versuchs mal so
Delphi-Quellcode:
SQL.Clear;
SQL.Add('UPDATE ' + tableName + ' SET ' + Port + ' = ' + newValue + ' WHERE Leiste= '''A''';'); |
Re: Fehler - Abfrage zu komplex bei ODBC auf access
[Fehler] Unit4.pas(37): ')' erwartet, aber Bezeichner 'A' gefunden
Das wars nicht aber wenn ich die ganze WHERE Klausel weglasse wird nur noch ein Parameter erwartet. Also müsste der Fehler doch irgendwo im SQL String sein und an den Variablen liegts nicht die hab ich eben mal durch Testwerte ersetzt sie auf jeden Fall funktionieren sollten und das Ergebniss war das gleiche |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:49 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz