Office - Word, Excel und Co. 9.742 Themen, 41.386 Beiträge

VBA Access Bildgröße ändern

Edgar Rau / 5 Antworten / Baumansicht Nickles

Hallo zusammen,

ich habe in einer Access (2003) Datenbank eine Imagebox eingefügt. Mittels VBA-Code Me.Image5.Picture = LoadPicture(Nz(Pfad & "\" & Me.Vorname & Me.Nachname & ".jpg")) werden Bilder, die in einem bestimmten Ordner liegen, in der Imagebox angezeigt.

Der Anwender kann zur Laufzeit ein Bild (jpg) hinzufügen, dieses müsste aber die Bildgröße 129x129 haben. Durch Klick auf einen Button öffnet sich ein FileDialog Fenster, der Anwender sucht ein Bild aus und klickt auf OK. Dadurch wird dieses Bild (jpg) in den bestimmten Ordner mit dem Dateinamen des Datensatzes kopiert.

Nun endlich meine Frage: Kann das vom Anwender ausgesuchte Bild (jpg) mittels Code auf die Größe 129x129 verkleinert werden, Das Seitenverhältnis sollte allerdings beibehalten werden, also wird die Größe 129x129 selten erreicht werden können. Dann sollte das Bild an die Größe 129 angepasst werden.

Ich hoffe, ich habe mich einigermaßen verständlich ausgedrückt und bedanke mich schon einmal im Voraus für Eure Antworten.

Gruß Edgar





Wer brauchen ohne zu gebraucht, braucht brauchen gar nicht zu gebrauchen
bei Antwort benachrichtigen
Borlander Edgar Rau „VBA Access Bildgröße ändern“
Optionen
dieses müsste aber die Bildgröße 129x129 haben.
 Warum nicht 128x128? Das würde auch einer sparsamen JPEG-Kompression sehr entgegen kommen, da JPEG Eine Blockgröße von 8x8 Pixel verwendet...
bei Antwort benachrichtigen
Edgar Rau Borlander „ Warum nicht 128x128? Das würde auch einer sparsamen JPEG-Kompression sehr...“
Optionen

Hallo Borlander (VIP),

vielen Dank für Deine hilfreiche Antwort. Jetzt könnte ich doch meine Frage als beantwortet markieren, oder?

Gruß Edgar

Wer brauchen ohne zu gebraucht, braucht brauchen gar nicht zu gebrauchen
bei Antwort benachrichtigen
neanderix Edgar Rau „VBA Access Bildgröße ändern“
Optionen

Das geht natürlich, aber nicht mit Access-Bordmitteln.

Lade dir von der Seite www.imagemagick.org das gleichnamige Softwarepaket herunter - doch, das gibt es auch für Windows. Dann beschäftige dich ein wenig damit; es handelt sich dabei übrigens im eine Sammlung von Kommandozeilen-Programmen - was für deinen Zweck ein Vorteil ist; du kannst diese nämlich aus Access heraus aufrufen und ihnen den Pfad zum bild und die Bearbeitungswünsche als Parameter übergeben

Für deinen Zweck brauchst du aus dem Paket das Programm "convert" dessen aufruf so aussähe:

convert DeinBild.jpg -resize '128x128' BildFuerAccess.jpg

Wie das genau in Access aus VBA heraus aufgerufen wird, weiss ich nicht, da ich sowas noch nicht gemacht habe.
Nachschlagen kann ich auch nicht, da die Literatur in der 4ma liegt.

Volker

Computers are like airconditioners - they stop working properly when you open Windows Ich bin unschuldig, ich habe sie nicht gewählt!
bei Antwort benachrichtigen
Edgar Rau neanderix „Das geht natürlich, aber nicht mit Access-Bordmitteln. Lade dir von der Seite...“
Optionen

Hallo Volker,

vielen Dank erstmal für Deine Hilfe, ich werde mir die Software 'mal anschauen. Allerdings bin ich ein wenig skeptisch, da ja meine Datenbank auf einem fremden PC ausgeführt werden soll. Dann müsste das Programm ja auch auf allen PCs, die meine Access Datenbank benutzen, installiert sein.

Ich habe schon bei vielen Programmen (Mitgliederverwaltung u.s.w.) gesehen, dass ein Bild eingefügt werden kann und keine bestimmte Größe verlangt wird. So eine Lösung schwebt mir auch vor.

Übrigens:

Ich stamme aus Hattingen, nicht weit von Velbert entfernt. In meinen jungen Jahren war ich öfters in Nierenhof und Langenberg, kennst Du ja bestimmt.

Gruß Edgar

Wer brauchen ohne zu gebraucht, braucht brauchen gar nicht zu gebrauchen
bei Antwort benachrichtigen
neanderix Edgar Rau „Hallo Volker, vielen Dank erstmal für Deine Hilfe, ich werde mir die Software...“
Optionen
Allerdings bin ich ein wenig skeptisch, da ja meine Datenbank auf einem fremden PC ausgeführt werden soll. Dann müsste das Programm ja auch auf allen PCs, die meine Access Datenbank benutzen, installiert sein.

richtig.

Ich habe schon bei vielen Programmen (Mitgliederverwaltung u.s.w.) gesehen, dass ein Bild eingefügt werden kann und keine bestimmte Größe verlangt wird. So eine Lösung schwebt mir auch vor.

ich schau am Montag gerne nochmal in meine Literatur, mache aber vorab keine allzugroßen Hoffnungen. Zumal sich da zwischen A03 und A07 einiges getan hat, kann also durchaus sein, dass A07 und neuer das durchaus mit Bordmitteln erledigen kann.

Ich habe schon bei vielen Programmen (Mitgliederverwaltung u.s.w.) gesehen, dass ein Bild eingefügt werden kann und keine bestimmte Größe verlangt wird. So eine Lösung schwebt mir auch vor.

Kenn ich - find auch gut.
Noch ein tipp: achte unbedingt darauf, dass du in A03 nich das Bild, sondern nur einen Verweis auf das Bild speicherst; bis A03 werden bilder in der DB nämlich in einem Bitmap-ähnlichen Format gespeichert. Und das bläst die DB nur unnötig auf.
In A07 und A10 kann man dafür die neuen "Anlage" Felder verwenden - das hält die DB kleiner.

Ich stamme aus Hattingen, nicht weit von Velbert entfernt.

Is ja nett .. ,-)

In meinen jungen Jahren war ich öfters in Nierenhof und Langenberg, kennst Du ja bestimmt.

Na logisch. Gehe heut noch gerne ins Nizzabad, vorzugsweise das Hallenbad. Grund: das ist heute ein sole-Bad. will heissen: das Becken ist mit Sole gefüllt, die mittel Tankwagen hierher transportiert wurde.
Ist sehr angenehm, dort zu schwimmen.

Volker
Computers are like airconditioners - they stop working properly when you open Windows Ich bin unschuldig, ich habe sie nicht gewählt!
bei Antwort benachrichtigen