PDA

Vollständige Version anzeigen : Grafik extern speichern


Satome
28.02.2001, 21:26
Hallo,
ich habe hier und in der MS Knowledgebase zwar mehrere Mails über das externe Speichern von Bildern gelesen, aber leider weiß ich noch immer nicht, wie das nun genau gehen soll. Ich bin zwar kein PC-Neuling, aber Access ist Neuland für mich. Was muß ich also machen, damit ich eine Grafik extern speichern kann?

Vielen Dank für eure Antworten,
Satome

Sascha Trowitzsch
28.02.2001, 21:29
Wie meinen?

Sollen Grafiken, die in Access gespeichert sind exportiert werden?? Oder wo kommen deine Grafiken her?

Tell me! Sascha

Satome
02.03.2001, 09:23
Hallo Sascha und *.*,
vielen Dank, ich konnte das Problem dank der MS Knowledgebase doch noch lösen. Ich wollte Grafiken extern speichern, nur über die angabe des Pfades, weil die Grafiken sonst die Datenbank so aufblähen.

Jaeger81
02.03.2001, 09:37
Hi!


Schön das die Lösung in der Knowlegdebase ist. Kannst du sie nicht trotzdem hier anzeigen?

Satome
02.03.2001, 12:48
Aber sicher doch (zuerst als Link, dann als Text):
http://www.microsoft.com/IntlKB/Germany/Support/kb/D42/D42349.HTM?LN=DE&SD=SO&FR=0

ACC2000: Bilder im Formular anzeigen, nicht in Tabelle speichern

Die Information in diesem Artikel bezieht sich auf:
Microsoft Access 2000

Schwierigkeitsgrad: Durchschnittlich. Das Verständnis dieses Artikels erfordert grundlegende Makro-, Programmier- und allgemeine Anwenderkenntnisse.

Zusammenfassung:
Dieser Artikel beschreibt, wie Sie ein Bitmap in einem Formular anzeigen können, wobei nur Pfad und Dateiname in der Microsoft Access Tabelle gespeichert werden.
Dieser Artikel setzt voraus, dass Sie im Umgang mit Visual Basic für Applikationen und in der Erstellung von Microsoft Access Applikationen unter Verwendung der Programmierumgebung von Microsoft Access vertraut sind. Weitere Informationen über Visual Basic für Applikationen finden Sie im Handbuch "Erstellung von Anwendungsprogrammen mit Microsoft Access".

Weitere Informationen:
Manchmal ist es unpraktisch, Bilder in Microsoft Access-Tabellen zu speichern. Wenn Sie eine große Anzahl von Bildern haben oder wenn Ihre Bilder sehr groß sind, nimmt die Größe der Datei Ihrer Microsoft Access-Datenbank sehr schnell zu.

Das folgende Beispiel zeigt, wie Sie ein Bild vom Typ Windows-Bitmap in einem Formular in Microsoft Access anzeigen können, ohne es in einer Tabelle in Microsoft Access abzuspeichern.
1. Öffnen Sie Beispieldatenbank Nordwind.mdb.
2. Erstellen sie eine neue Tabelle mit Namen BilderTabelle. Fügen Sie ein Textfeld hinzu namens BildPfad.
3. Öffnen Sie die Tabelle BilderTabelle in der Datenblattansicht. Fügen Sie Pfad und Name von Bitmap-Dateien in einige Datensätze ein. Die folgenden Beispiele zeigen, wie die Datensätze aussehen müssen:

C:\Windows\Kreise.bmp
C:\Windows\Wellen.bmp
C:\Windows\Kacheln.bmp
C:\Windows\Kugeln.bmp

4. Erstellen Sie ein einspaltiges Autoformular, basierend auf der Tabelle BilderTabelle. Speichern Sie es unter dem Namen BilderFormular.
5. Öffnen Sie das Formular BilderFormular in der Entwurfsansicht. Fügen Sie ein Steuerelement vom Typ Bild hinzu. Sie werden aufgefordert, ein Bild auszuwählen und einzufügen. Wählen Sie irgendein auf Ihrem Computer vorhandenes Bild aus. Nennen Sie das Feld BildFeld.
6. Setzen Sie das Ereignis "Beim Anzeigen" des Formulars BilderFormular auf die folgende Ereignisprozedur:

Private Sub Form_Current()
On Error Resume Next
Me![BildFeld].Picture = Me![BildPfad]
End Sub

7. Setzen Sie die Eigenschaft "Nach Aktualisieren" des Textfeldes BildPfad auf die folgende Ereignisprozedur:

Private Sub Form_AfterUpdate()
On Error Resume Next
Me![BildFeld].Picture = Me![BildPfad]
End Sub

8. Öffnen Sie das Formular BilderFormular in der Formularansicht. Das Formular zeigt das entsprechende Bild zu jedem Datensatz.

Das Formular zeigt das zuletzt vorhandene Bild, wenn der Pfad oder Dateiname in der Tabelle BilderTabelle falsch ist.

Dieses Verfahren bindet uns allerdings an absolute Pfadangaben. Das bedeutet, dass man die Bilddateien nicht einfach in ein anderes Verzeichnis oder auf ein anderes Laufwerk verschieben kann. Auch eine Weitergabe an andere Anwender, oder ein Weitergabe per CD ist nicht so ohne weiteres möglich, da man gezwungen ist, die Pfade wie zuvor in der Tabelle abgespeichert, anzulegen.
Da aber AccessBasic, als auch VBA wie die meisten Programmiersprachen in der Lage ist, Umgebungsvariablen auszulesen, könnte man den jeweiligen Pfad zu den Bilddateien in einer solchen und nur den Namen der Bilddatei in der Tabelle abspeichern.
Die Tabelle enthält nur noch den Namen der Bilddatei. Aus dem Inhalt der Umgebungsvariablen und dem Dateinamen aus der Tabelle kann man dann sehr leicht wieder eine kompletten Pfad und Dateinamen erstellen.

Hier ein Beispiel für das Betriebssystem Windows 98:
1. Klicken Sie auf START - AUSFÜHREN und geben Sie SYSEDIT ein. Klicken Sie auf OK.
2. Erstellen Sie in der Datei AUTOEXEC.BAT folgenden Eintrag:

SET BILDPFAD=C:\WINDOWS

Nach einem Neustart des Rechners steht die Umgebungsvariable BILDPFAD zur Verfügung und hat den Inhalt: C:\WINDOWS.
Der Inhalt kann nun mit der Funktion Environ() ausgelesen werden.

Beispiel:

Dim Pfad as String
Pfad = Environ("Bildpfad") & "\" & Me![Bildpfad]

Die Variable PFAD enthält nun den Wert:

C:\WINDOWS\<Dateiname>

Der Dateiname kommt dabei über ein Feld eines Formulars aus der Tabelle. Somit haben wir wieder einen kompletten Pfad und Dateinamen. Damit kann nun, wie oben beschrieben, verfahren werden.

Wie eine Umgebungsvariable erstellt wird, entnehmen Sie bitte der Dokumentation des jeweiligen Betriebssystems.