Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Bild kommt nicht

Begonnen von carman0103, Januar 14, 2015, 10:01:34

⏪ vorheriges - nächstes ⏩

carman0103

Halli Hallo,

ich hab da mal ne Frage. Ich habe in einem Bericht einen Code eingebaut, mit dem ich ein Bild im Bericht anzeigen lassen möchte. Das hat auch mal funktioniert. Jetzt habe ich das selbe in einer anderen Datenbank versucht und es funzt nicht. Hab ich irgendwas übersehen?

Public Sub form_Current()
    BildAktualisieren1
End Sub

Public Sub BildAktualisieren1()
    On Error GoTo BildAktualisieren1_Err
    Dim strpfad As String
    strpfad = Nz(Me!Pfad & Me!VBild, "")
    If Dir(strpfad) = "" Then
        strpfad = ""
    End If
BildAktualisieren1_Exit:
    Me!picvorschaubild.Picture = strpfad
    Exit Sub
BildAktualisieren1_Err:
    MsgBox "Das Bild konnte nicht geladen werden." & vbCrLf & "Fehler-Nr: " & Err.Number & vbCrLf & "Fehler-Beschreibung: " & Err.Description
    strpfad = ""
    Resume BildAktualisieren1_Exit
End Sub

Private Sub Pfad_Click()
FollowHyperlink Me!Pfad
End Sub

Private Sub picvorschaubild_Click()

End Sub

Function FctNr()
'gibt eine laufende Nummer im Formular zurück
'Anzeige im Formular durch ein Feld mit Steuerelementinhalt: =FctNr()

  On Error GoTo FctNr_Error

  Me.RecordsetClone.Bookmark = Me.Bookmark
  FctNr = Me.RecordsetClone.AbsolutePosition + 1

FctNr_Exit:
  Exit Function

FctNr_Error:
  If Err.Number = 3021 Then FctNr = 0   'bei neuem DS
  Resume FctNr_Exit

End Function


Vielen Dank im Voraus für Eure Hilfe
carman0103
Wer andern eine Bratwurst brät, hat meist ein Bratwurstbratgerät  Grinsend

database

Hallo,

ZitatIch habe in einem Bericht einen Code eingebaut...
Wenn du ganz sicher bist, dass es sich dabei um einen BERICHT handelt, wirst mit ....
   
    Public Sub form_Current()

nicht ganz glücklich werden.

Schreib statt dessen     Report_Current


carman0103

Ups, ja das konnte ja nicht gehen. Hab das jetzt geändert, aber es funktioniert trotzdem nicht.

Momentan sieht der Code so aus:

Public Sub Report_Current()
    BildAktualisieren1
End Sub

Public Sub BildAktualisieren1()
    On Error GoTo BildAktualisieren1_Err
    Dim strpfad As String
    strpfad = Nz(Me!Pfad & Me!VBild, "")
    If Dir(strpfad) = "" Then
        strpfad = ""
    End If
BildAktualisieren1_Exit:
    Me!picbericht.Picture = strpfad
    Exit Sub
BildAktualisieren1_Err:
    MsgBox "Das Bild konnte nicht geladen werden." & vbCrLf & "Fehler-Nr: " & Err.Number & vbCrLf & "Fehler-Beschreibung: " & Err.Description
    strpfad = ""
    Resume BildAktualisieren1_Exit
End Sub

Private Sub picbericht_Click()

End Sub


Wer andern eine Bratwurst brät, hat meist ein Bratwurstbratgerät  Grinsend

MaggieMay

Hi,

ein Bericht hat kein Current-Ereignis, statt dessen musst du das Format-Ereignis des zugehörigen Berichtsbereichs nehmen.

Merke: Ereignisprozeduren sollten stets aus der Entwurfsansicht initiiert werden.

Freundliche Grüße
MaggieMay

DF6GL

Hallo,

"ein Bericht hat kein Current-Ereignis"

das stimmt so seit A2010 (A2007?) nicht mehr....

carman0103

Danke für Eure Antworten.

Mit dem, was MaggieMay geschrieben hat komme ich nicht klar, sowas habe ich noch nicht gemacht.
Wer andern eine Bratwurst brät, hat meist ein Bratwurstbratgerät  Grinsend

MaggieMay

@DF6GL:
Ok, da hast du recht (ab 2007 sogar!), aber das Ereignis tritt nur in der Berichtsansicht auf und ist für diese Aktion nicht geeignet.

@carman0103:
Gehe in den Berichtsentwurf, lass dir die Eigenschaften anzeigen, Register "Ereignis", markiere den Berichtsbereich in dem sich das Bild befindet, wähle beim Ereignis "Beim Formatieren" die Ereignisprozedur und gehe über die drei Punkte in den VBA-Editor.
Freundliche Grüße
MaggieMay

carman0103

@MaggieMay

Dankeschön für die Erklärung. Habe dort jetzt meinen Code eingegeben. Aber es passiert immer noch nichts.  :'(
Wer andern eine Bratwurst brät, hat meist ein Bratwurstbratgerät  Grinsend

MaggieMay

Du musst den Bericht in der Seitenvorschau öffnen.
Freundliche Grüße
MaggieMay

carman0103

Hab ich ja. Aber das Bild erscheint nicht. Muss ich bei dem Code irgendwas anders machen?



Private Sub Detailbereich_Format(Cancel As Integer, FormatCount As Integer)

End Sub

Public Sub Report_Current()
    BildAktualisieren1
End Sub

Public Sub BildAktualisieren1()
    On Error GoTo BildAktualisieren1_Err
    Dim strpfad As String
    strpfad = Nz(Me!Pfad & Me!VBild, "")
    If Dir(strpfad) = "" Then
        strpfad = ""
    End If
BildAktualisieren1_Exit:
    Me!picbericht.Picture = strpfad
    Exit Sub
BildAktualisieren1_Err:
    MsgBox "Das Bild konnte nicht geladen werden." & vbCrLf & "Fehler-Nr: " & Err.Number & vbCrLf & "Fehler-Beschreibung: " & Err.Description
    strpfad = ""
    Resume BildAktualisieren1_Exit
End Sub

Private Sub picbericht_Click()

End Sub

Wer andern eine Bratwurst brät, hat meist ein Bratwurstbratgerät  Grinsend

MaggieMay

ZitatHabe dort jetzt meinen Code eingegeben.
Nein, hast du nicht.
Fällt dir hierbei gar nichts auf:Private Sub Detailbereich_Format(Cancel As Integer, FormatCount As Integer)

End Sub

Public Sub Report_Current()
    BildAktualisieren1
End Sub
;D
Freundliche Grüße
MaggieMay

carman0103

Ich bin leider kein VBA-Genie. :-D

Ich schätze mal, dass das Public Sub weg muss ?
Wer andern eine Bratwurst brät, hat meist ein Bratwurstbratgerät  Grinsend

MaggieMay

Ich dachte eher daran, dass die Prozedur leer ist...  ::)
Freundliche Grüße
MaggieMay

carman0103

Also so?

Private Sub Detailbereich_Format()

End Sub

Public Sub Report_Current()
    BildAktualisieren1
End Sub
Wer andern eine Bratwurst brät, hat meist ein Bratwurstbratgerät  Grinsend

MaggieMay

Die Prozedur beginnt mit "Private Sub" und endet mit "End Sub" und dazwischen passiert nichts.
Ist das wirklich so schwer zu verstehen???

Wie gesagt, ich rede hier vom Format-Ereignis.
Freundliche Grüße
MaggieMay