Bilder für Formulare in MDB speichern

09/04/2009 - 08:55 von Léon Dignòn | Report spam
Hallo,

ich habe ein Access 2007 Formular mit Buttons, auf denen Bilder angezeigt
werden. Diese liegen mit der mdb-Datei in einem Ordner.
Wenn ich nun ein Bild zuweise möchte, schreibe ich einfach

btnCancel.Picture = "cancel.png"

Dann muss ich aber die Bilder immer im selben Ordner wie die mdb haben. Kann
ich das nicht IN die mdb packen???

Gruß
Léon
 

Lesen sie die antworten

#1 Thomas Winkler
09/04/2009 - 09:20 | Warnen spam
Hi,

btnCancel.Picture = "cancel.png"

Dann muss ich aber die Bilder immer im selben Ordner wie die mdb haben.



Nein.

Variante A:
Man kann auch den Pfad der Datenbank aus

strPath = getPath(currentdb.name)

ermitteln, einen Unterordner anfügen

strPath = getPath(currentdb.name) & "\Bilder\"

und dann dem Button

btnCancel.Picture = strPath & "cancel.png"

zuweisen.

Kann ich das nicht IN die mdb packen???



Da gàbe es 2 weitere Möglichkeiten.

Variante B:
Du speicherst Die Bilder in einem BLOB und extrahierst sie vor der
Zuweisung an den Button in einen temporàren Ordner. Suche mal nach
"GetChunk".

Variante C1 (Formularhintergrund):
Du legst ein Bild-Control über das gesamte Formular in den Hintergrund.
Dem bisherigen RecordSource-SQL-Statement Joinst Du jetzt eine
Settingstabelle hinzu, die die Blobs mit den Bildern enthàlt.

Variante C2 (nur Bilder):
Vielleicht lassen sich die Buttons auch in geeignete UFOs auslagern, die
Ihrerseits die Settings-Tabelle als Grundlage haben. Das würde Dir das
Joinen dieser Tabelle im HFO ersparen.

Mit C kàmst Du um die Datei-Extrahierungs-Geschichte bei B herum,
hàttest aber Nachteile im Formular-Design und ggf. auch mit der Performance.

Ich würde Dir die Variante in der hier genannten Reihenfolge empfehlen,
also wenn möglich A, sonst B, alternativ C.

HTH

Thomas

"Access? Damit arbeite ich nicht. Das ist doch nur ein abgespecktes Excel."

Ähnliche fragen