![]() |
Datenbank: Excel/Access • Version: 2003 • Zugriff über: ADO/ODBC
SQL-Abfrage in Excel-Tabelle via ADO mit Parameter
Moin, moin,
weiß irgendjemand, ob und wie man ein SQL-Script formulieren muss, um bei einer SQL-Abfrage via ADO-Komponente, Verbindung via ODBC, auf eine EXCEL-Tabelle zugreifen zu können? Das von mir verwendete Script arbeitet mit Access einwandfrei (allerdings JET4). Das SQL Script: SELECT [Standbeschriftung.ID] AS ID, [Standbeschriftung.AdressSortierung] AS AdressSortierung, [Standbeschriftung.Halle] AS Halle, [Standbeschriftung.StandNr] AS StandNr, [Standbeschriftung.Blendentext] AS Blendentext, [Standbeschriftung.Firmensitz] AS Firmensitz, [Standbeschriftung.Standleistung] AS Standleistung, [Standbeschriftung.OAS] AS OAS FROM [Standbeschriftung] WHERE Standbeschriftung.Halle LIKE :Halle Verwende ich ein Wildcard-String z.B. '%1%' oder ähnlich anstelle des Parameters :Halle, mault die ADO-Komponente nicht bei der Abfrage der EXCEL-Tabelle. Und sonst erscheint immer die fiese Fehlermeldung: Ein Parameterobjekt ist nicht ordnungsgemäß definiert. Inkonsistente oder unvollständige Informationen wurden angegeben. Und das passiert, nachdem das SQL-Script an die Komponente übergeben und ExecSQL ausgeführt wurde. Muss oder kann man im Vorwege die Params vorbereiten um z.B. den DataType vorzugeben? Bzw. welchen DataType muss ich für die Excel-Tabelle ansetzen? Oder wie, oder was, oder geht das mit der Paramterübergabe mit Excel nicht. Help, help, please... |
AW: SQL-Abfrage in Excel-Tabelle via ADO mit Parameter
Auf Excel über ADO und ODBC? Komplizierter geht nicht mehr?
Wenn schon dann über ADO und der JET-Engine "direkt" drauf. Dürfte weniger Probleme verursachen als den Umwegü ber ODBC zu gehen. |
AW: SQL-Abfrage in Excel-Tabelle via ADO mit Parameter
Liste der Anhänge anzeigen (Anzahl: 1)
Würde ich ja gerne machen. Aber wie kann ich das mit den Ado-Komponenten einstellen?
Über Jet 4.0 OLE kann ich nur Access-DB ansprechen...:? |
AW: SQL-Abfrage in Excel-Tabelle via ADO mit Parameter
Passenden Connectionstring aufbauen:
![]() |
AW: SQL-Abfrage in Excel-Tabelle via ADO mit Parameter
Das hilft mir leider nicht weiter.
Es lässt sich ja eine Verbindung zu Excel aufbauen. Das löst aber immer noch nicht das Problem... |
AW: SQL-Abfrage in Excel-Tabelle via ADO mit Parameter
Die Ado Komponente meckert, weil sie den Parameter :Halle nicht auflösen kann. Diese Parameter muss man bei geschlossener Query zunächst einmal setzen.
Ich gehe dabei folgendermaßen vor:
Delphi-Quellcode:
Anschließend sollte Adoquery nicht mehr meckern.
var
param : Tparameter; begin with abfrage do begin Close; SQL.clear; SQL.add(sqlstring); param := Parameters.Parambyname('Halle'); param.Datatype := ftstring; param.value := 'Die Halle'; execsql; end; end; Im übrigen ist dein SQL String etwas lang geraten. Es reicht völlig die folgende Abfrage: Select ID, AdressSortierung,... from Standbeschriftung where Halle like :Halle; Ich würde jedoch den Parameter :Halle durch einen anderen Ausdruck ersetzen. Es könnte sein, dass die Komponente durch die zweimalige Verwendung desselben Wortes etwas durcheinander kommt. Gruß Kompi |
AW: SQL-Abfrage in Excel-Tabelle via ADO mit Parameter
Zitat:
erst mal vielen Dank für deine Antwort. Ist nachvollziehbar, was du geschrieben hast. Ahnte ich ja schon. Leider muss ich mir dann allerdings für meinen Bedarf programmiertechnisch etwas ausdenken, um den Datentyp vorher herauszubekommen. Sprich: SQL-Script vom Programm analysieren lassen und dann die ermittelten Daten an die Query-Komponente übergeben. Danach erst SQLExec.... Dann wird ich mal loslegen... |
AW: SQL-Abfrage in Excel-Tabelle via ADO mit Parameter
SQLExec? Ein
Delphi-Quellcode:
wäre hier wohl richtiger?
Query.Open
Gruß K-H |
AW: SQL-Abfrage in Excel-Tabelle via ADO mit Parameter
Zitat:
|
AW: SQL-Abfrage in Excel-Tabelle via ADO mit Parameter
Zitat:
Hmmm... Wohl kaum. Erst SQLExec und danach Open... Das ist die Reihenfolge. Zitat:
Ergo: Das Programm muss das dann wissen. :wink: Und das klappt jetzt. War ein bissel getippe, um alle möglichen Variationen eines SQL-Scriptes zu berücksichtigen... aber... funzt! :-D |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:03 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 by Thomas Breitkreuz