Etwas detaillierter
Weise einer Schaltfläche im Formular folgende Ereignisprozedur zu (Eigenschaften-Beim Klicken).
Die Schaltfläche heißt hier „cmd_Drucken“. Ersetze die Platzhalter wie z.B. „DeinFormularName“ etc. durch Deine konkret vergebenen Objektnamen. Das Ganze setzt hingegen voraus, daß Du die Verweise auf Deine Bilder via Hyperlink-Feld erledigst, denn dann müssen da so ein paar „interne“ Zeichen erstmal rausgeschnitten werden, wie es in der vorliegenden Prozedur erledigt wird. Wenn Du Deine Verweise auf Bilddateien anders speicherst, entfällt die Zeile mit der MID-Funktion und der LEN() Funktion. Dann bitte entsprechend ändern.
Private Sub cmd_Drucken_Click()
Dim bildverweis As String
If Forms!DeinFormularname!DeinBildsteuerelementName „“ Then 'es wurde ein Hyperlink erfasst
bildverweis = Forms!DeinFormularname!DeinBildsteuerelementName 'der Inhalt des Steuerelementes
bildverweis = Mid(bildverweis, 2, ((Len(bildverweis) - 2))) 'das #-Zeichen aus Link rauskopieren
DoCmd.Echo False
DoCmd.OpenReport („DeinBerichtsName“), acViewDesign 'Berichtsentwurf unsichtbar öffnen
Reports!DeinBerichtsname!DeinBildSteuerelementImBerichtName.Picture = bildverweis 'Quelle Bild im Bericht variabel setzen
DoCmd.Close acReport, „DeinBerichtsname“, acSaveYes 'Speichern
DoCmd.Echo True
DoCmd.OpenReport „DeinBerichtsname“, acViewPreview 'Bericht ausgeben, acViewNormal druckt direkt
Else
MsgBox „Nichts zum Drucken da!“, vbInformation, „Nichts zu tun…“ 'der Hyperlink war leer
End If
End Sub
Kurzform: Leg’ z.B. 'ne Schaltfläche im Formularentwurf des betr. Formulars an. Dieser Button kann Ereigniseigenschaften haben (Entwurf, Rechtsklick auf den Button, Menü Eigenschaften, Register Ereignis Beim Klicken, dort Klick auf die gepunktete Fläche, dort obigen Code angepaßt an Deine indiv. Namensgebung eingeben). Voila!
Gruß aus Finnland
Stephan