Sie können JPG -Dateien nicht direkt als JPGs in den nativen Tabellen einer MS -Zugriffsdatenbank speichern. Der Zugriff verfügt über keinen integrierten Datentyp zum Speichern von Bilddateien in ihrem ursprünglichen Format wie JPG, PNG usw. Der OLE-Objektdatentyp ist die am nächsten gelegene integrierte Option. Dies führt im Allgemeinen zum "Conversion", den Sie vermeiden möchten.
Um das OLE -Objektformat zu vermeiden und JPGs zu speichern, müssen Sie einen dieser Ansätze verwenden:
1. Speichern Sie die Dateipfade: Dies ist die einfachste und oft die beste Methode. Anstatt das JPG selbst in der Datenbank zu speichern, speichern Sie den * Pfad * in der JPG -Datei in Ihrem Dateisystem. Auf diese Weise müssen Sie den Dateispeicher extern verwalten.
* Profis: Einfach, schnell, behält das Originalbildformat, gut für größere Bilder.
* Nachteile: Erfordert eine sorgfältige Verwaltung des Dateisystems. Wenn Dateien verschoben oder gelöscht werden, werden Ihre Datenbanklinks unterbrochen. Sie müssen potenzielle Berechtigungen für Dateien zugreifen.
* Implementierung: Fügen Sie Ihrer Zugriffstabelle ein Textfeld (z. B. `imagePath`) hinzu. Wenn Sie einen Datensatz hinzufügen, geben Sie den vollständigen Pfad in die JPG -Datei ein. Anschließend können Sie Code (VBA) verwenden, um das Bild zur Laufzeit vom Pfad anzuzeigen.
2. Die Bilder in einer verknüpften Tabelle speichern: Verwenden Sie eine separate Datenbank (z. B. SQL Server), die für die Speicherung großer Binärdateien wie Bilder besser geeignet ist. Verknüpfen Sie diese Tabelle dann mit Ihrer Zugriffsdatenbank. SQL Server bietet beispielsweise einen effizienten Speicher von Blob (Binary Large Object).
* Profis: Effizient für eine große Anzahl von Bildern, bessere Leistung als das Speichern von Pfaden, wenn Sie häufig auf die Bilder zugreifen müssen.
* Nachteile: Komplexer, um eingerichtet zu werden, erfordert einen separaten Datenbankserver.
* Implementierung: Erstellen Sie eine Tabelle in Ihrer externen Datenbank mit einem BLOB -Feld, um die JPG -Daten zu speichern. Verwenden Sie dann bei Access den "verknüpften Tabellenmanager", um einen Link zu dieser Tabelle zu erstellen.
3. eine externe Speicherlösung verwenden: Cloud -Speicherdienste wie Azure Blob Storage, Amazon S3 oder Google Cloud Storage bieten skalierbare und zuverlässige Möglichkeiten zum Speichern Ihrer Bilder. Sie würden Pfade oder URLs in den Bildern in Ihrer Zugriffsdatenbank speichern, ähnlich wie die Methode 1.
* Profis: Skalierbar, robust, vermeidet die Belastung Ihrer Zugriffsdatenbank.
* Nachteile: Benötigt ein Cloud -Speicherkonto und Vertrautheit mit der API -Interaktion.
Beispiel (Methode 1:Speichern von Dateipfaden):
Nehmen wir an, Sie haben eine Tabelle namens "Produkte" mit einem Feld für ein Bild:
1. Ein Feld hinzufügen: Fügen Sie in Ihrer Zugriffstabelle "Produkte" ein Textfeld mit dem Namen "ImagePath" hinzu.
2. Daten einfügen: Wenn Sie ein neues Produkt hinzufügen, geben Sie den vollständigen Pfad in die JPG -Datei (z. B. `C:\ Images \ product1.jpg`) im Feld" ImagePath "ein.
3. Das Bild (VBA): Sie würden VBA -Code verwenden, um das Bild in einem Formular oder Bericht anzuzeigen. Dieser Code würde den Pfad aus dem Feld "ImagePath" lesen und mit der "Image" -Kontrolle das Bild anzeigen:
`` `vba
Private sub form_load ()
Dim ImagePath als Zeichenfolge
ImagePath =me.imagePath.Value 'Holen Sie sich den Pfad vom Feld
Wenn Len (ImagePath)> 0 dann
Me.image1.picture =loadPicture (ImagePath) 'Zeigen Sie das Bild an
Ende wenn
Ende sub
`` `
Denken Sie daran, "me.image1" durch den Namen Ihrer Bildsteuerung zu ersetzen. Methode 1 ist für kleine bis mittelgroße Projekte im Allgemeinen am einfachsten, während Methoden 2 und 3 für größere Anwendungen besser geeignet sind. Wählen Sie die Methode, die Ihren Anforderungen und technischen Funktionen am besten entspricht.