none
Access 2000 VBA Bericht Report Bildquelle Picture

    Frage

  • Hallo Spezialistenrunde!

    Wir haben eine Menge Reports, die alle auf einen gemeinsamen "Universalkopf" (=Unterbericht) zurückgreifen, damit wir den Kopf nicht immer neu gestalten müssen. Hier drin ist ein Firmenlogo, welches manchmal gewechselt werden soll.

    Der folgende Versuch geht schief, weil der Report noch nicht geöffnet ist:
    Reports("Universalkopf").controls("imgLogo").Picture="X:\...\logo1.jpg"

    Also packe ich die Routine in den Report_Open des Unterberichtes:
    Me.imgLogo.Picture = "X:\...\logo1.jpg"

    oder z.B. auch:
    Me.controls("imgLogo").Form.Picture = "X:\...\logo1.jpg"

    Das funktioniert leider alles gar nicht. Entweder gibt's Ablauffehler, oder der Unterbericht wird überhaupt nicht mehr angezeigt!

    Was tun?

    Danke für Tipps

    Raimund Gryszik, Berlin

    Montag, 17. Januar 2011 16:55

Antworten

  • tach Raimund,

    Wenn du es im Format-Ereignis der Sektion in dem dein Image-Control liegt zuweist, sollte es gehen.


    Microsoft MVP Office Access
    https://mvp.support.microsoft.com/profile/Stefan.Hoffmann
    Montag, 17. Januar 2011 16:58
    Moderator

Alle Antworten

  • tach Raimund,

    Wenn du es im Format-Ereignis der Sektion in dem dein Image-Control liegt zuweist, sollte es gehen.


    Microsoft MVP Office Access
    https://mvp.support.microsoft.com/profile/Stefan.Hoffmann
    Montag, 17. Januar 2011 16:58
    Moderator
  • Hallo Stefan,

    danke für deine blitzschnelle Antwort!

    Aber es funktioniert leider auch nicht, der Unterbericht bleibt unsichtbar. Und genau wie bei meinen bisherigen Versuchen ist er auch so kaputt, dass ich ihn im Editor öffnen muss, irgendwas ändern, und wieder abspeichern, damit er wieder sichtbar wird.

    Wenn ich die gewünschten Bilder per Hand im Berichtseditor einfüge (per Pfadangabe), funktioniert alles.

    Und ich weiß auch immer noch nicht, wie ich das VBA-Statement schreiben muss:

    me.imgLogo....      oder       me.controls("imgLogo").....

    Und muss .Form. dahinter oder nicht?   Also    me.imgLogo.Form.Picture =

    Danke

    Raimund

    Montag, 17. Januar 2011 17:26
  • IT-Designer wrote:
    > ...
    > Aber es funktioniert leider auch nicht, der Unterbericht bleibt
    > unsichtbar. Und genau wie bei meinen bisherigen Versuchen ist er auch
    > so kaputt, dass ich ihn im Editor öffnen muss, irgendwas ändern, und
    > wieder abspeichern, damit er wieder sichtbar wird.
    >
    > Wenn ich die gewünschten Bilder per Hand im Berichtseditor einfüge
    > (per Pfadangabe), funktioniert alles.
    >
    > Und ich weiß auch immer noch nicht, wie ich das VBA-Statement
    > schreiben muss:
    >
    > me.imgLogo....      oder       me.controls("imgLogo").....
    >
    > Und muss .Form. dahinter oder nicht?   Also
    > me.imgLogo.Form.Picture =
     
    Wenn du den Code im Öffnen-Ereignis des Berichtes hast,
    den du als Unterbericht verwendest, dann ist eine richtige
    Syntax z.B.
     
    Me!imgLogo.Picture = "X:\...\logo1.jpg"
     
    Wobei "imgLogo" der Name des Bild-Steuerelmentes wäre.
     
    Wenn das nicht funktionert, dann verrate die genaue Fehlermeldung
    und -nummer.
     
    --
    Servus
    Karl
    ********
    Access-FAQ: www.donkarl.com
     
     
     
    Montag, 17. Januar 2011 17:45
  • Hallo Karl,

    danke für deine Antwort! 

    Die Syntax spielt offensichtlich keine Rolle (wenn sie denn richtig ist). Auch ob ich die Zuweisung im Report_Open oder im Detailbereich_Format mache, hat keinen Einfluss. Das Ergebnis ist immer:

    - Hauptbericht wird korrekt angezeigt
    - Unterbericht ist unsichtbar
    - keine Fehlermeldung.

    Ich habe jetzt auch noch ganz viel mit den Pixelmaßen der jpg-Datei und mit der Image-Einstellung "Größenanpassung" herumexperimentiert. Bisher kein Ergebnis :-(

    Immer, wenn ich per VBA dasjenige Bild zuweise, das sowie schon drin ist, funktioniert es (macht aber keinen Sinn, ist ja keine Veränderung). Sobald ich eine andere jpg-Datei zuweise, ist der Unterbericht kaputt. Solange bis ich ihn im Bereichtseditor ändere und neu abspeichere.

    Der Bildtyp ist "Eingebettet".

    Raimund

    Dienstag, 18. Januar 2011 09:51
  • Ich bin jetzt schon einen Schritt weiter:

    Das Problem tritt nur auf, wenn der Unterbericht tatsächlich als solcher genutzt wird (also von einem Hauptbericht aus aufgerufen). Wenn man den Unterbericht direkt öffnet, klappt alles.

    Raimund

    Dienstag, 18. Januar 2011 10:37
  • Noch ein Schritt weiter:

    Das Problem tritt nicht auf, wenn ich Access jungfräulich geladen habe. Sondern nur, wenn der Bericht/Unterbericht in dieser Session bereits einmal genutzt wurde.

    Dafür spricht auch, dass Access behauptet, der Bericht wäre noch geöffnet, wenn ich ihn umbenennen will. Er ist aber nicht sichtbar geöffnet.

    Zusammengefasst: nach dem ersten Öffnen des Berichtes mit seinem Unterbericht in der Access-Session bleibt dieser unsichtbar geöffnet und kann deshalb per VBA nicht verändert werden!

    Was tun?

    Raimund

    Dienstag, 18. Januar 2011 11:13
  • An alle: Problem gelöst!

    Dadurch, dass am Anfang gar nichts geklappt hatte, war ich leider von Karls Hinweis auf die "Detailbereich_Format" wieder abgewichen und hatte irrtümlich in  "Report_Open" weiter getestet. Irgendwie hatte sich Access dabei verklemmt.

    Jetzt, in Detailbereich_Format funktioniert alles wie gewünscht, auch mit bmp u.ä.

    Danke !

    Raimund

     

    Dienstag, 18. Januar 2011 12:06