![]() |
Datenbank: SQL • Zugriff über: SQL Abfrage
In Excel Datenquelle automatisch wählen
Hi,
folgenden Code habe ich hier gefunden, um eine SQL Abfrage direkt nach Excel zu exportieren.
Delphi-Quellcode:
var Excel:TExcelApplication;
lcid:integer; Workbook:_Workbook; Query, Range, Sheet:Variant; User, Database, ODBCname:string; begin Excel:=TExcelApplication.Create(Self); try lcid:=GetUserDefaultLCID; Excel.Connect; Excel.Visible[lcid] := true; Excel.UserControl := true; Workbook:=Excel.Workbooks.Add(EmptyParam, LCID); User:='Overclocker'; ODBCname:='SQL-Server'; Database:='DATA'; Sheet:=Workbook.ActiveSheet; Range := Excel.Cells.Range['A1', 'A1']; Query:=Sheet.QueryTables.Add( 'ODBC;' + 'DSN=' + ODBCname + ';' + 'UID=' + User + ';' + 'APP=Microsoft® Query;' + 'DATABASE=' + Database + ';' + 'Trusted_Connection=Yes', Range ); Query.CommandText:= excel_query; Query.Name:= 'Meine Abfrage von LocalServer'; Query.FieldNames := True; Query.RowNumbers := False; Query.FillAdjacentFormulas := False; Query.PreserveFormatting := True; Query.RefreshOnFileOpen := False; Query.BackgroundQuery := True; Query.RefreshStyle := xlInsertDeleteCells; Query.SavePassword := True; Query.SaveData := True; Query.AdjustColumnWidth := True; Query.RefreshPeriod := 0; Query.PreserveColumnInfo := True; Query.Refresh(False); finally Excel.Disconnect; Excel.free; end; User:='Overclocker'; ODBCname:='SQL-Server'; Database:='DATA'; Hier habe ich alle Sachen ausgefüllt, d. h. Username ist "Overclocker", der Server ist "SQL-Server" und die Datenbank ist "Data". Wenn ich das jetzt ausführ, funktioniert auch alles soweit wunderbar. Nur sobald sich Excel öffnet, muss ich hier noch einmal die Datenquelle neu auswählen (also z.b. "SQL Server" im Register DAtasources). Wieso muss ich es hier nochmal auswählen, wenn es doch im Code schon hinterlegt ist?? Danke für die Hilfe :) |
Re: In Excel Datenquelle automatisch wählen
Keiner eine Idee :(?
|
Re: In Excel Datenquelle automatisch wählen
Versuch mal:
Delphi-Quellcode:
Wenn du ein Passwort in der DSN angibst, bräuchte Excel nicht mehr nachfragen...
'UID=' + User + ';' +
'Pwd="";'+ |
Re: In Excel Datenquelle automatisch wählen
Hey,
danke für deine Antwort. Habe ich vorher schon probiert und jetzt auch nochmal, jetzt kommt das Fenster trotzdem noch,dann muss ich im Register: DataSources meinen Server auswählen und dann kommt eben ein Fenster: Gesicherte Verbindung hernehmen (oder so ähnlich) wo eben dann mein Username + Passwort schon hinterlegt sind,aber die störenden Fenster kommen immer noch Gruß //Noch als Zusatz: In meinen anderen ADOConnection Komponenten habe ich als Provider SQLOLEDB.1 angegeben, doch wenn ich das ODBC mit diesem ersetze kommt ein neuer Fehler,aber vielleicht liegts irgendwie daran |
Re: In Excel Datenquelle automatisch wählen
keiner hat wohl ne idee :(
|
Re: In Excel Datenquelle automatisch wählen
Hast du in deiner AdoConnection die Property LoginPrompt auf False gesetzt? Die steht standardmäßig auf True und ruft deshalb immer den Anmeldedialog auf.
Grüße Mikhal |
Re: In Excel Datenquelle automatisch wählen
normal hat das nix mit der ADO CONnection zu tun,da diese in der Beziehung mit keiner anderen Komponente die ich hierfür benötige in verbindung steht.... und das loginprompt is bei mir auf false
|
Re: In Excel Datenquelle automatisch wählen
Ich brauch eure hilfe,was mach ich falsch???
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:14 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