Moin. Ich bin Sönke SchĂ€fer, der DatenschĂ€fer. Und heute gehtâs um ein Thema, das Entwickler in Access & Co. oft nervt: Icons. Genauer gesagt: Wie bekommst Du moderne Icons wie PNG oder SVG in Deine Formulare â ohne Bastellösungen und mit sauberem VBA.
Access ist alt. Aber mit ein paar Tricks kannst Du auch dort moderne Bilder einbinden. Ich zeig Dir, wie.
SVG in Access? Leider nein.
Klartext: Access kann kein SVG. Zumindest nicht direkt. SVG ist ein Vektorformat â Access kennt nur Bitmaps, JPEG, GIF und PNG.
Wenn Du SVGs hast, musst Du sie vorher konvertieren â am besten in PNG. Tools dafĂŒr gibtâs genug. Zum Beispiel:
- Inkscape (kostenlos)
- Online-Konverter wie cloudconvert.com
PNG einbinden â drei Möglichkeiten
Du hast jetzt ein PNG? Gut. Dann hast Du drei Wege, es in ein Formular zu bringen.
1. Bildsteuerfeld mit Pfad zur Datei
Einfachstes Setup:
Me!imgIcon.Picture = "C:\Pfad\zum\Icon.png"
Wichtig: Das Steuerelement imgIcon
muss ein Bildfeld sein (Steuerelementtyp âBildâ).
Das funktioniert gut fĂŒr statische Icons â aber nur, wenn der Pfad erreichbar ist.
2. Bild aus eingebettetem OLE-Feld
Du kannst das Bild auch in eine Tabelle laden â z.âŻB. mit einem OLE-Feld. Dann lĂ€dst Du es zur Laufzeit ins Formular.
Das ist umstÀndlich. Und oft instabil. Ich empfehle es nicht mehr. Lieber: Bilder in Ordner legen und mit Pfadangabe arbeiten.
3. Bild als eingebettete Ressource (gepackt als Bytearray)
Wenn Du das Bild direkt in VBA einbinden willst (z.âŻB. ohne Dateipfad), kannst Du es als Bytearray laden.
Das geht ĂŒber die Windows-API. Aber ehrlich: FĂŒr Access-Formulare ist das Overkill. Es lohnt sich eher fĂŒr Ribbon-Icons oder spezielle Anwendungen.
Icons dynamisch Ă€ndern â z.âŻB. per Button-Klick
Willst Du je nach Zustand ein anderes Icon anzeigen? Kein Problem:
Private Sub cmdWechsel_Click()
If Me!imgIcon.Picture = "C:\Icons\info.png" Then
Me!imgIcon.Picture = "C:\Icons\warnung.png"
Else
Me!imgIcon.Picture = "C:\Icons\info.png"
End If
End Sub
Du kannst damit z.âŻB. SchaltflĂ€chen oder Statusfelder visuell steuern.
Transparente Icons? Ja, aber nur PNG
GIF kannâs auch â aber PNG ist besser. Transparenz funktioniert sauber, solange Du nicht versuchst, das Bild zu skalieren oder im Steuerelement zu quetschen.
Tipp:
Me!imgIcon.SizeMode = 1 ' Zoom
Das sorgt dafĂŒr, dass das Bild proportional skaliert wird.
Ribbon mit Icons? Extra-Kapitel.
Wenn Du Icons im Access-Ribbon setzen willst, brauchst Du XML und ImageMso oder Base64-kodierte Bilder.
Das machen wir ein andermal. Heute bleiben wir bei Formularen.
Fazit vom DatenschÀfer
Access lebt. Und mit modernen Icons siehtâs nicht nur besser aus â es hilft auch der Usability. Mit ein bisschen Disziplin beim Pfadmanagement und konsistenten BildgröĂen kannst Du viel rausholen. SVG geht leider nicht direkt â aber PNG reicht oft. Wenn Du willst, zeig ich Dir, wie Du das Ganze in ein zentrales Icon-Management einbaust.
DatenschĂ€fer: Analyse, Auswertung und Automatisierung fĂŒr KMU im Norden đ
No responses yet