Neuigkeiten:

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

Mobiles Hauptmenü

Externe Bilder in Bericht einbinden

Begonnen von KlausMaus, März 17, 2019, 11:47:50

⏪ vorheriges - nächstes ⏩

KlausMaus

Hallo,

vorweg, ich bin kein Programmierprofi, habe nur ein paar jahrzehntealten Basic und Pascal Erfahrungen.

Also, ich habe eine Datenbank aus der ich ab und mal mal einen Bericht erzeuge. Jeweils 8 Datensätze auf einem Blatt.
Da die Bilder in Access fest einzubinden die Datenbank enorm gross macht, habe ich diese beim Erstellen des Berichtes eingebunden, und zwar hiermit:

Private Sub Detailbereich_Format(Cancel As Integer, FormatCount As Integer)
On Error GoTo Err_Detailbereich_Format

     Me!Bild67.Picture = "F:\Bilder\Etiketten\" & Nummer & " - " & Name & ".jpg"
Exit_Detailbereich_Format:
     Exit Sub
         
Err_Detailbereich_Format:
     Me!Bild67.Picture = "F:\Bilder\Etiketten\0 - ohne Etikett.jpg"
     Resume Exit_Detailbereich_Format

End Sub


Wobei "Bild67" das Steuerelemt ist, in dass das Bild einkopiert wird, "Nummer" und "Name" zwei Felder aus der Datenbank.

Ich nutze noch Access 2003, ist zwar sehr alt, mehr brauche ich aber nicht.
Bisher, unter Windows 7, funktionierte das auch ohne Probleme.
Jetzt habe ich kürzlich auf Windows 10 umgestellt (kein Update, komplette Neuinstallation).
Auch hier funktioniert das erst mal problemlos.
In unregelmässigen Abständen aber bekomme ich beim Aufruf des Berichtes die Meldung "Laufzeitfehler 2114" (Screenshot habe ich angehängt).
Die Bilder sind sehr klein, habe trotzdem versucht sie weiter zu verkleinern oder andere Formate zu nehmen, bringt aber nix.
Also habe ich den PC auf den letzten Stand zurückgesetzt, und plötzlich geht es wieder. Irgendwann kommt dann wieder die Fehlermeldung und Schluss.
Erst vorgestern, am Abend vorher ging es, am nächsten Tag plötzlich nicht mehr. Ich habe inzwischen nichts installiert, geändert oder sonstwas gemacht.
Im Administratorkonto geht es noch, warum auch immer. Wie lange ...

Mir scheint, als würde irgendwo in der Registry ein Wert stehen, der diesen Fehler verursacht. Habe etwas von Handlern (was auch immer das ist) gelesen, die dort mit einem bestimmten Maximalwert verschlüsselt sind, und die dann irgendwie überschritten werden. Vielleicht kommt das alte Access mit dem neuen Windows nicht zurecht und lässt immer irgendwelche "Rest" übrig, die dann einen "Überlauf" erzeugen, der auch nach einem Neustart bestehen bleibt.
Keine Ahnung.

Am VBA Schnipsel kann es ja nicht liegen, im Grunde geht es ja.
Hatt ev. jemand eine Idee was die Ursache sein könnte, oder ob man die Bilder auch auf einem anderen Weg in den Bericht einbinden kann ohne sie in der Datenbank zu speichern?

Würde mich freuen.

Gruß
Stefan

DF6GL

Hallo,

kann auch nur vermuten, bzw. Dir raten:

-- benenne das Feld "Name" überall(!)  in z. B. "Bezeichnung" um.
-- füge die Felder "Nummer" und "Bezeichnung" als Textfelder in den Bericht ein.
-- Referenziere diese Felder im Code auf das Berichtobjekt.  (Me!Nummer, Me!Bezeichnung")
-- prüfe, ob es die Datei "F:\Bilder\Etiketten\0 - ohne Etikett.jpg" tatsächlich gibt. 
-- Prüfe, ob unter bei A2003 der jpg-Grafikfilter installiert ist. (Kann mich erinnern, das es da mal Probleme gab.)



zudem Code-Vorschlag:


Private Sub Detailbereich_Format(Cancel As Integer, FormatCount As Integer)
On Error GoTo Err_Detailbereich_Format

Dim strFN as String
Const strDefaultFN =  "F:\Bilder\Etiketten\0 - ohne Etikett.jpg"

strFN = "F:\Bilder\Etiketten\" & Me!Nummer & " - " & Me!Bezeichnung & ".jpg"

If Dir (strFN) <>"" then
     Me!Bild67.Picture = strFN
Else
     Me!Bild67.Picture = strDefaultFN
End If


Exit_Detailbereich_Format:
     Exit Sub
         
Err_Detailbereich_Format:
     Msgbox Err.number & ":  " & Err.Description
     Resume Exit_Detailbereich_Format

End Sub


Insgesamt wäre bessere Benamsung von Vorteil.
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access