AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi In Excel Datenquelle automatisch wählen
Thema durchsuchen
Ansicht
Themen-Optionen

In Excel Datenquelle automatisch wählen

Ein Thema von Overclocker · begonnen am 18. Feb 2008 · letzter Beitrag vom 20. Feb 2008
Antwort Antwort
Overclocker

Registriert seit: 10. Jan 2007
215 Beiträge
 
#1

In Excel Datenquelle automatisch wählen

  Alt 18. Feb 2008, 13:07
Datenbank: SQL • Zugriff über: SQL Abfrage
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

  Mit Zitat antworten Zitat
Overclocker

Registriert seit: 10. Jan 2007
215 Beiträge
 
#2

Re: In Excel Datenquelle automatisch wählen

  Alt 19. Feb 2008, 07:01
Keiner eine Idee ?
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 15. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#3

Re: In Excel Datenquelle automatisch wählen

  Alt 19. Feb 2008, 07:25
Versuch mal:
Delphi-Quellcode:
'UID=' + User + ';' +
'Pwd="";'+
Wenn du ein Passwort in der DSN angibst, bräuchte Excel nicht mehr nachfragen...
  Mit Zitat antworten Zitat
Overclocker

Registriert seit: 10. Jan 2007
215 Beiträge
 
#4

Re: In Excel Datenquelle automatisch wählen

  Alt 19. Feb 2008, 07:44
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
  Mit Zitat antworten Zitat
Overclocker

Registriert seit: 10. Jan 2007
215 Beiträge
 
#5

Re: In Excel Datenquelle automatisch wählen

  Alt 20. Feb 2008, 07:09
keiner hat wohl ne idee
  Mit Zitat antworten Zitat
Benutzerbild von mikhal
mikhal

Registriert seit: 11. Sep 2003
Ort: Linz am Rhein
796 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: In Excel Datenquelle automatisch wählen

  Alt 20. Feb 2008, 07:32
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
Michael Kraemer
Computer erleichtern die Arbeit...
...und die Erde ist eine Scheibe!
  Mit Zitat antworten Zitat
Overclocker

Registriert seit: 10. Jan 2007
215 Beiträge
 
#7

Re: In Excel Datenquelle automatisch wählen

  Alt 20. Feb 2008, 07:46
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
  Mit Zitat antworten Zitat
Overclocker

Registriert seit: 10. Jan 2007
215 Beiträge
 
#8

Re: In Excel Datenquelle automatisch wählen

  Alt 20. Feb 2008, 20:08
Ich brauch eure hilfe,was mach ich falsch???
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:54 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz