Forum des VBA-Tutorials

Bilder per Feldnamen ändern (VBA)

Rene, Donnerstag, 13. Juli 2017, 14:00 (vor 36 Tagen)

Hallo zusammen,

ich habe ein Bericht, da gibt es ein Feld das heißt "Bearbeiter" und ein Feld wo ein Bildverknüpfung besteht, dieses heißt "PicNamen".

Nun wollte ich per passenden Bearbeiter auch das passenden Bild. Ich habe auch ein Code aber der läuft auf Fehler "Objekt erforderlich".

Ich hoffe ihr könnt mir weiterhelfen, anbei auch der Code.

Private Sub Report_Activate()
 
If Me![Bearbeiter] = steffen.kuck Then
         Me!PicNamen.Picture = "L:\Verpackungsplanung\280_VPTA Zeiten\Unterschrift\steffen.kuck.jpg"
       Else
         If Me![Bearbeiter] = daniel.schmidt Then
             Me!PicNamen.Picture = "L:\Verpackungsplanung\280_VPTA Zeiten\Unterschrift\daniel.schmidt.jpg"
           Else
              If Me![Bearbeiter] = sandra.kuhne Then
                Me!PicNamen.Picture = "L:\Verpackungsplanung\280_VPTA Zeiten\Unterschrift\sandra.kuhne.jpg"
                 Else
                  If Me![Bearbeiter] = katja.brettin Then
                    Me!PicNamen.Picture = "L:\Verpackungsplanung\280_VPTA Zeiten\Unterschrift\katja.brettin.jpg"
                     Else
                      If Me![Bearbeiter] = dana.puschner Then
                       Me!PicNamen.Picture = "L:\Verpackungsplanung\280_VPTA Zeiten\Unterschrift\dana.puschner.jpg"
                         Else
                          If Me![Bearbeiter] = rene.schroeter Then
                           Me!PicNamen.Picture = "L:\Verpackungsplanung\280_VPTA Zeiten\Unterschrift\rene.schroeter.jpg"
                            Else
                             If Me![Bearbeiter] = maren.boelzle Or sandy.castellano Or stefan.seiler Then
                              Me!PicNamen.Picture = "L:\Verpackungsplanung\280_VPTA Zeiten\Unterschrift\keine_Unterschrift.jpg"
                               Else
                                Me!PicNamen.Picture = "L:\Verpackungsplanung\280_VPTA Zeiten\Unterschrift\keine_Unterschrift.jpg"
                             End If
                          End If
                       End If
                 End If
             End If
        End If
End If
 
Me.Requery
 
End Sub


lg Rene

Bilder per Feldnamen ändern

Martin Asal, Donnerstag, 13. Juli 2017, 15:25 (vor 36 Tagen) @ Rene

Hallo Rene,

uff, nimm's bitte nicht persönlich, aber beim Anblick deines Codes wäre ich gerade beinahe vor Schreck rückwärts vom Stuhl gefallen ;-)

  • Du willst mit Strings vergleichen. Also fehlen die Gänsefüßchen:
    If Me![Bearbeiter] = "steffen.kuck"

  • Anstelle der unendlich verschachtelten Ifs wäre Select einfacher.

Ich würde es nicht mal mit Select lösen, denn selbst dann musst du jedes Mal, wenn ein neuer Sachbearbeiter hinzukommt, den Code ändern. Statt dessen einfach nur

Me!PicNamen.Picture = "L:\Verpackungsplanung\280_VPTA Zeiten\Unterschrift\" & Me![Bearbeiter] & ".jpg"

Dafür brauchst du eigentlich überhaupt kein VBA. Außer, falls du unbedingt auf "keine_Unterschrift.jpg" zugreifen willst, wenn kein Bild vorhanden ist. Dann würde ich das als Normalfall (ohne VBA) definieren, per Code nach einem entsprchenden Bild suchen (siehe dazu http://www.vba-tutorial.de/referenz/dateien.htm), und dann eben das Bild per Code einfügen.

Martin

RSS-Feed dieser Diskussion
powered by my little forum