![]() |
Datenbank: Access • Version: 2007 • Zugriff über: TADOQuery
Bild aus Access DB auslesen und verarbeiten - *.png
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo zusammen,
ich habe aktuell folgendes Problem. Ich habe in eine Access Datenbank in einer Tabelle Symbole eingebunden. Var. 1 als OLE-Objekt und Var. 2 als Anlage. Öffne ich diese Tabelle über ein TADOTable, ist zu mindestens mal das öffnen möglich. Ich möchte allerdings einen anderen Weg gehen. Dieser ist wie folgt aufgebaut. TADOQuery - in welcher eine Tabelle abgefragt wird
SQL-Code:
In dieser Query habe ich alle erforderlichen Felder hinzugefügt. Unter diesen Feldern befindet sich auch der Verweis auf die Tabelle "Symbole". Zusätzlich habe ich daher der Query über den Feldeditor ein "Neues Feld" hinzugefügt. Diese habe ich "Symbole" genannten und als "Nachschlagen" deklariert.
SELECT * FROM MV_BMA
Über die Verbindung der Verweise (Primarykey etc.) möchte ich nun das passende *png zum jeweiligen Recordset laden. Um die TADOTable zu öffnen, habe ich das
Delphi-Quellcode:
in die
"Active := true"
Delphi-Quellcode:
und das
"Before Open"
Delphi-Quellcode:
in die
"Active := false"
Delphi-Quellcode:
Methode der Query integriert.
"AfterClose"
Delphi-Quellcode:
Öffne ich jetzt die Query, kommt eine seltsame Fehlermeldung. Siehe Anhang.
procedure TDMReportData.qryRingTopologieBeforeOpen(DataSet: TDataSet);
begin tblSymbole.Active := true; end; procedure TDMReportData.qryRingTopologieAfterClose(DataSet: TDataSet); begin tblSymbole.Active := false; end; Weiß jemand woran das liegt. Geht das mit Bilder als "Nachschlagen" nicht? Danke und Gruß Jens |
AW: Bild aus Access DB auslesen und verarbeiten - *.png
Die Fehlermeldung besagt: Wenn das Feld Symbole in der Tabelle Symbole die PNG-Grafiken enthält, kann es nicht als
![]() ![]() |
AW: Bild aus Access DB auslesen und verarbeiten - *.png
Wie genau ist das Nachschlagefeld definiert?
Wie genau ist die Tabelle definiert, die die Bilder enthält? Theoretisch wäre es denkbar, das Blob-Felder kein Lookupfeld sein können, da sie anders gehandhabt werden. Kommt die Fehlermeldung wirklich, wenn man ein Blob-Feld als PK-Feld definiert? |
AW: Bild aus Access DB auslesen und verarbeiten - *.png
Warum holst du die zusätzliche Spalte aus der anderen Tabelle nicht mit einem einfachen Left Join in die Query mit rein?
|
AW: Bild aus Access DB auslesen und verarbeiten - *.png
Genau so ist es, diese ganzen Blob Felder können dafür nicht verwendet werden.
Einzige Chance ist ein ClientDataSet, wo man alles zusammen/nacheinander hineinlädt |
AW: Bild aus Access DB auslesen und verarbeiten - *.png
Zitat:
Wäre schon schön, wenn man das -sagen wir es geschwollen- resourcensparender umsetzen könnte. Mit DevExpress z.B. geht das, weil dort das Lookup auch im Grid abgebildet werden kann bzw. sollte (mehr Möglichkeiten). |
AW: Bild aus Access DB auslesen und verarbeiten - *.png
Zitat:
Die auch gefallenen Stichworte nachschlagen/Nachschlagefeld implizieren ja irgendwie eine 1 zu n Verbindung, wo dann ein Bild ggf. mehrfach verwendet würde und da hast du dann sicher recht. Bei einer 1 zu 1 Verknüpfung, wo einfach nur die Bilder in eine andere Tabelle "ausgelagert" sind wäre das vielleicht egal. Jenachdem mach es vllt. auch Sinn die reinen Daten ohne Bild zu holen und sich nur die Bilder die man braucht dazuzuladen. |
AW: Bild aus Access DB auslesen und verarbeiten - *.png
Zitat:
Zitat:
Dessenungeachtet ist es schade, das gerade Bildchen nicht als Lookupfeld zu taugen scheinen. |
AW: Bild aus Access DB auslesen und verarbeiten - *.png
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?
|
AW: Bild aus Access DB auslesen und verarbeiten - *.png
Zitat:
Zitat:
Daher wollte ich das ganze recht einfach über eine Table Komponente lösen. |
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 |
AW: Bild aus Access DB auslesen und verarbeiten - *.png
Zitat:
Zitat:
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. |
AW: Bild aus Access DB auslesen und verarbeiten - *.png
Zitat:
|
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?
|
AW: Bild aus Access DB auslesen und verarbeiten - *.png
Es gibt immer den Umweg über ein TfrxUserDataset.
|
AW: Bild aus Access DB auslesen und verarbeiten - *.png
Zitat:
|
AW: Bild aus Access DB auslesen und verarbeiten - *.png
Zitat:
|
AW: Bild aus Access DB auslesen und verarbeiten - *.png
Zitat:
|
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. |
AW: Bild aus Access DB auslesen und verarbeiten - *.png
Ich glaube wir reden hier stark aneinander vorbei.
Folgendes Dataset per Abfrage
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
Falls es immer noch nicht klar sein sollte was gesucht ist, dann diesen Artikel lesen ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:08 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-2025 by Thomas Breitkreuz