Einzelnen Beitrag anzeigen

alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#3

Re: Datenbankanbindung Fastreport3

  Alt 8. Jan 2007, 08:13
Wie stellst du dir denn die "unmögliche" SQL-Anweisung vor? So etwa?

Select * From SQLSERVER..Tabelle1 Join ACCESS..Tabelle2 .... Wenn Die Anzahl der Eigenschaften aus z.B. Access limitiert ist, dann kannst du dir die Filterkriterien aus Access ziehen und die Tabelle im SQL-Server über den 'IN' Operator rausholen. Dazu bastelst Du dir einen (vielleicht ziemlich langen) String, der die einzelnen Items durch Komma getrennt enthält (so: s := '1,2,3,4') und bepselst ihn dann in deine SQL-Anweisung mit Format:

MySelect := Format ('Select * From SQLServerTabelle Where Field in (%s)',[s]); Das ergibt dann die Anweisung

Select * From SQLServerTabelle Where Field in (1,2,3,4) Wobei die '1,2,3,4' ja aus der Access-Tabelle kommen.

Wenn allerdings die Access-Tabelle vom SQL-Server aus sichtbar ist, dann lies mal in der SQL-Server Hilfe über 'OPENROWSET' nach, denn das öffnet eine externe Tabelle per ADO. Dieses OPENROWSET liefert quasi eine Tabelle, mit der Du dann ganz normal auf dem SQL-Server arbeiten kannst, so etwa:

SQL-Code:
Select *
  from OPENROWSET (...) alias MyAccessTable
    Join MyTable
      on MyAccessTable.AccessField = MyTable.MSDEField
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat