Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Zwei Tabellen als eine Darstellen oder problem bei fastrepor (https://www.delphipraxis.net/69899-zwei-tabellen-als-eine-darstellen-oder-problem-bei-fastrepor.html)

Karstadt 22. Mai 2006 07:28

Datenbank: Mysql • Version: 4 • Zugriff über: mydac

Zwei Tabellen als eine Darstellen oder problem bei fastrepor
 
Hallo.

Ich arbeite mit zwei Tabellen.
Tabelle Auto und Tabelle Bilder.

Nun habe ich 20 Autos und 130 Bilder. Jedes Bild ist zu einem Auto zugewiesen. Diese zwei Tabelle sind mit einem id Feld verbunden.

Nun muss ich eine Möglichkeit realisieren eine Tabelle anzuzeigen die so ähnlich aussieht:

Auto: Audi
à Bilder die zu Audi gehören (Es können mehrere Bilder sein)
Auto: Porsche
è Bilder, die zu Porsche gehören (auch hier können es mehrere Bilder sein)

Usw.

So soll die Tabelle aussehen.

Die Bilderdaten sind al BLOB Dateien hinterlegt.

Ich habe eine Lösung gefunden, in den ich das in Report ausgebe und anzeige lasse. (Fastreport). Die nächste Aufgabe ist es, durch das klicken auf ein Bild soll ein Ereignis (der eigentlicher Bildpfad, was in der Bilder Tabelle unter Feld PFAD gespeichert ist an Delphi übergeben werden). Da bin ich erstmal gescheitert.

(ich habe mir die Hilfe von Fastreport zwar angeschaut, aber irgendwie nichts zu meine Problematik gefunden)

Wie würdet ihr das machen?

Könntet ihr mir stichwortartig Hilfestellung geben?

Wichtig ist das alle Datensätze aus zwei Tabellen auf einmal angzeigt werden!

Sharky 22. Mai 2006 07:45

Re: Zwei Tabellen als eine Darstellen oder problem bei fastr
 
Hai Karstadt,

hat Fastreport nicht ein Ereigniss Delphi-Referenz durchsuchenOnClickObject?
Damit kannst Du versuchen an die Info zu kommen.

Ungetestet:
Delphi-Quellcode:
procedure TForm1.frxReport1ClickObject(Sender: TfrxView; Button: TMouseButton;
  Shift: TShiftState; var Modified: Boolean);
begin
  if Sender is TfrxPictureView then
  begin
    ShowMessage(intToStr((Sender as TfrxPictureView).DataSet.RecNo));
  end;
end;

Karstadt 22. Mai 2006 08:09

Re: Zwei Tabellen als eine Darstellen oder problem bei fastr
 
:cheers:

... Das ist die Lösung! Vielen Dank. Ich bin blind!!

ich bekomme hier zwar eine Zugrifsverletzung:

Delphi-Quellcode:
  if Sender is TfrxPictureView then
  begin
    ShowMessage(intToStr((Sender as TfrxPictureView).DataSet.RecNo));
  end;
Wenn ich aber auf die Eingeschaft TagStr des objektes zugreife dann funktioniert das

if Sender is TfrxPictureView then
begin
Showmessage(TfrxPictureView(Sender).TagStr); //Davor schreibe ich dort was rein....
end;

Ich muss nur noch rausfinden warum das bei mir zu eine Zugrifsverletzung kommt. Diese Komponente ist Defenitiv mit eine DB verbunden.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:14 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