Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Bild aus Access DB auslesen und verarbeiten - *.png (https://www.delphipraxis.net/183094-bild-aus-access-db-auslesen-und-verarbeiten-%2A-png.html)

Jens Hartmann 11. Dez 2014 13:39

AW: Bild aus Access DB auslesen und verarbeiten - *.png
 
Ich habe das übrigens in Access selber schon versucht. Das mit dem Nachschlagen ist bei diesen Datentypen nicht möglich. Ich werde das ganze dann wohl über einen Jon lösen müssen.

Danke trotzdem und Gruß Jens

Jumpy 11. Dez 2014 14:21

AW: Bild aus Access DB auslesen und verarbeiten - *.png
 
Zitat:

Zitat von Jens Hartmann (Beitrag 1283070)
Ich werde das ganze dann wohl über einen Jon lösen müssen.

Zitat:

Zitat von Jens Hartmann (Beitrag 1283068)
Vielleicht Grundlegend nochmal beschrieben. Ich habe eine Tabelle mit Einträgen und jeweils einem Feld "Typ" sowie ein Tabelle "Symbole". In der Tabelle Symbole sind die Bilder gespeichert und über den Typ möchte ich diese zur Ergebnismenge holen. Es gibt ca. 20 Bilder, welche jedoch 10.000 mal benötigt werden.

OK. Dann läufst du genau in das von Dejan Vu angemerkte Problem hinein. Es gibt ja nur 20 Bilder, aber so lädst du jedes Bild N mal in dein Dataset. Deswegen wäre es evtl. doch interessant zu wissen, was du mit den Daten weiter machen willst. Soll das Symbol mit in einem Grid angezeigt werden, oder...

Evtl. lädst du ja die 20 Bilder vorab, packst die in eine ImageList oder irgendeine andere Liste oder Array und "malst" die dann dahin, wo du die brauchst.

Gollum 11. Dez 2014 14:41

AW: Bild aus Access DB auslesen und verarbeiten - *.png
 
Zitat:

Zitat von Jumpy (Beitrag 1283056)
Wie ist das denn eigentlich in Access selber, also wenn man das auch als Front-End benutzt? Kann man da die OLE-Felder direkt in ein Formular oder sowas einbinden?

Ja, kann man. Sogar in Berichten. Das schimpft sich dann "gebundenes Objektfeld".

Jens Hartmann 11. Dez 2014 19:46

AW: Bild aus Access DB auslesen und verarbeiten - *.png
 
Also ich brauche die Bilder in einem Report. Diese müssen jeweils dem entsprechenden Eintrag zugewiesen angezeigt werden. Das mit der Imagelist habe ich vorab auch überlegt. Ich muss die Bilder aber an FastReport übergeben und diese sollen ja Datensatz bezogen sein. Daher müsste ich die Bilder ja auch in dem Dataset zur Verfügung haben. Oder?

Dejan Vu 11. Dez 2014 22:21

AW: Bild aus Access DB auslesen und verarbeiten - *.png
 
Es gibt immer den Umweg über ein TfrxUserDataset.

Sir Rufo 11. Dez 2014 22:50

AW: Bild aus Access DB auslesen und verarbeiten - *.png
 
Zitat:

Zitat von Dejan Vu (Beitrag 1283150)
Es gibt immer den Umweg über ein TfrxUserDataset.

:thumb:

Perlsau 12. Dez 2014 02:50

AW: Bild aus Access DB auslesen und verarbeiten - *.png
 
Zitat:

Zitat von Jens Hartmann (Beitrag 1283070)
Ich habe das übrigens in Access selber schon versucht. Das mit dem Nachschlagen ist bei diesen Datentypen nicht möglich. Ich werde das ganze dann wohl über einen Jon lösen müssen.

Irgendwie scheine ich dein Problem nicht so recht zu begreifen: Du hast eine Haupt-Tabelle, die sagen wir mal Personen enthält: Id (Primary Key, AutoInc), Vorname (Text), Nachname (Text), Bild (Zahl). Dann hast du z.B. eine Tabelle, die Fotos von diesen Personen enthält: Id (Primary Key, AutoInc), Bild (Ole-Objekt). In der Spalte Bild deiner Haupttabelle trägst du via Nachschlage-Assistent die Spalte Id aus deiner Bild-Tabelle ein und gut ist. Mit anderen Worten: Du wählst nicht die Spalte mit dem Ole-Objekt als Verknüpfung, sondern die Spalte mit der Id (AutoInc).

Sir Rufo 12. Dez 2014 07:30

AW: Bild aus Access DB auslesen und verarbeiten - *.png
 
Zitat:

Zitat von Perlsau (Beitrag 1283157)
Zitat:

Zitat von Jens Hartmann (Beitrag 1283070)
Ich habe das übrigens in Access selber schon versucht. Das mit dem Nachschlagen ist bei diesen Datentypen nicht möglich. Ich werde das ganze dann wohl über einen Jon lösen müssen.

Irgendwie scheine ich dein Problem nicht so recht zu begreifen: Du hast eine Haupt-Tabelle, die sagen wir mal Personen enthält: Id (Primary Key, AutoInc), Vorname (Text), Nachname (Text), Bild (Zahl). Dann hast du z.B. eine Tabelle, die Fotos von diesen Personen enthält: Id (Primary Key, AutoInc), Bild (Ole-Objekt). In der Spalte Bild deiner Haupttabelle trägst du via Nachschlage-Assistent die Spalte Id aus deiner Bild-Tabelle ein und gut ist. Mit anderen Worten: Du wählst nicht die Spalte mit dem Ole-Objekt als Verknüpfung, sondern die Spalte mit der Id (AutoInc).

Beim Nachschlagen sind immer 3 Werte involviert:
  1. Bild-ID
  2. ID (Bildertabelle)
  3. Bild (Bildertabelle)
Das Problem ist nicht das Nachschlagen selber, sondern, dass ein Bild in einem BLOB-Feld ist und die BLOB-Felder eben nicht als Berechnetes oder Nachschlage-Feld genommen werden können. Das ist eine Einschränkung des Delphi-DataSets. Rein logisch würde das funktionieren.

Perlsau 12. Dez 2014 08:32

AW: Bild aus Access DB auslesen und verarbeiten - *.png
 
Er soll ja auch nicht das Feld BILD der Bildertabelle als Nachschlagefeld wählen, sondern aus eben dieser Tabelle das Feld ID, das als Primary Key festgelegt sein sollte. Wäre es im Falle des TE nicht sogar am Einfachsten, er würde seiner Haupttabelle einfach die Spalte BILD (Ole-Object) hinzufügen, falls er pro Datensatz nur ein Bild zu speichern gedenkt?

Ich hab z.B. in etlichen Datenbanken für einen Datensatz der "Haupt"-Tabelle mehrere Bilder (z.B. für meine Währungs-DB, die alle Währungen der Welt enthält). Da gibt es dann eine "Zwischen"-Tabelle, die die Verknüpfungen enthält, z.B. für Euro alle Geldscheine und Münzen mit Vorder- und Rückseite. Dito in der Sub-Tabelle KURS, da stehen alle jemals ermittelten Kurswerte mit Datum drin, in der entsprechenden "Zwischentabelle" die Verknüpfungen. Das erlaubt dann die Darstellung von Kursverläufen einzelner Währungen über einen gewissen Zeitraum hinweg. Wäre der Kurs einer Währung unveränderlich, bräuchte ich das nicht und würde einfach in der Währungstabelle die Spalte KURS hinzufügen.

Sir Rufo 12. Dez 2014 08:57

AW: Bild aus Access DB auslesen und verarbeiten - *.png
 
Ich glaube wir reden hier stark aneinander vorbei.

Folgendes Dataset per Abfrage
idperson_id
11
21
32
Und die Person_Tabelle
idnamebild
1Peter(BLOB)
2Walter(BLOB)
Mit dem Nachschlagefeld kann ich die erste Abfrage erweitern, dass ich das Feld "name" auch noch dort sehe
idperson_idperson_name
11Peter
21Peter
32Walter
Dabei wird das Feld "person_id" mit dem Feld "id" aus Person_Tabelle verbunden und als Feld, was den referenzierten Wert liefert eben "name" aus Person_Tabelle.

Funktioniert wunderbar.

Aber eben nicht, wenn das Feld was dort reinverknüpft werden soll ein BLOB Feld ist. Das Feld "name" ist (s.o.) kein Problem, ist ein VARCHAR.

Das hier geht also nicht
idperson_idperson_nameperson_bild
11Peter(BLOB)
21Peter(BLOB)
32Walter(BLOB)
Das wollte der TE aber haben

Falls es immer noch nicht klar sein sollte was gesucht ist, dann diesen Artikel lesen
http://docwiki.embarcadero.com/RADSt...der_definieren


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:36 Uhr.
Seite 2 von 2     12   

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