PDA

Vollständige Version anzeigen : Grundrisse (Jpg's) zur passenden Wohnungsnummer (Access 97/XP)


SSchmidt
25.09.2003, 06:43
Ich habe eine Datenbank, bei der man Wohnungen anzeigen kann und diese ausdrucken. Die Wohnungen haben Nummern, so zum Beispiel 12/34/56 oder 11/22/33. Das Drucken etc. klappt einwandfrei, nur die Bilder der Grundrisse bekomme ich nicht in den Bericht.

Die Bilder liegen als JPG vor und haben den selben namen wie die Wohnung, einzigster Unterschied ist, das statt dem Slash ein "_" verwendet wird. So zum Beispiel 12_34_56.jpg oder 11_22_33.jpg.

Die Bilder liegen im selben Ordner wie die Datenbank. Ich verwende derzeit noch Access 97, möchte die Datenbank dann aber irgendwann mal in XP konvertieren.

Für Hilfe wäre Ich sehr dankbar.

Samuel

MarkusS
25.09.2003, 07:26
Hallo Samuel,
warum speicherst u Deine Bilder nicht direkt in einer Tabelle? Das geht mit dem Datentyp: OLE
Dann kannst Du die Bilder ohne Probleme in einen Bericht bekommen.

dancer1970
25.09.2003, 08:09
Hallo,
wie bekommst Du denn Deine Bilder in den Bericht?

Ich würde folgendermaßen vorgehen.
Aus Deiner Wohnungsnummer einen Dateinnamen generieren oder einfach den Dateinamen schreiben und im Bericht im Ereignis beim Drucken dies Prozedur durchlaufen lasssen.

Private Sub Detailbereich_Print(Cancel As Integer, PrintCount As Integer)

Me![logo].Picture = Me![p_pfad] & Me![Dateiname]

End Sub

p_pfad und dateiname sind Feldnamen im Bericht.
Ich habe das bei mir mit einer Tabelle Pfad und einer Tabelle Bilder gelöst, die mit der Datentabelle verknüpft sind.
So sollte es funktionieren.

Stefan

SSchmidt
25.09.2003, 08:44
Genau, in einer Tabelle wäre am idealsten. Ich habe ja bereits eine Tabelle wo die Wohnungen aufgelistet werden. Da könnte man ein Feld für das Bild implementieren.

Mein Problem ist, das diese Wohnungen alle 30 tage rausfliegen und durch neue ersetzt werden. Dann kommen auch die neuen Grundrisse der Wohnungen. Diese liegen im selben Ordner, allerdings mit dem unterschiedlichen Dateinamen. Ein Zusammenhang lässt sich ja schon erkennen, nur eben der Unterschied mit dem Slash. Kann man das automatisiert einbauen?

Als erstes müsste ich doch sicher den Dateinamen auseinandernehmen. Ich programmiere etwas ASP, da gibt es ja den Befehl left(), mit dem ich sagen kann, das ich die ersten beiden Zahlen möchte oder die Zahlen 4 und 5 um die Slahes rauszubekommen.

Aber auch da habe ich wieder ein Problem, weil es mal 3 stellig, 2 stellig oder ein-stellig sein kann.

Oh Mann ich bin echt ratlos wie ich das mache.

Arne Dieckmann
25.09.2003, 08:48
Ab A2k gibt es die Funktion Replace(), mit der Du die Slashes durch Unterstriche ersetzen könntest:

Dateiname=Replace(Me![wohnungsnummer],"/","_")

Für A97 gibt es einen Replace-Ersatz bei Reinhard Kraasch: Klick mich! (http://www.kraasch.de/vba003.htm).

DarthPatrick
25.09.2003, 08:51
Hallo Samuel,

mit Left bist du ja schon auf dem besten Weg! Zusätzlich kannst du mit der Funktion Instr (siehe OnlineHife) feststellen, an welcher Stelle der erste Backslash auftaucht.

Dann nimmst du einfach mit Left den String auseinander und setzt ihn neu zusammen. Das ganze wiederholst du so oft, bis der Backslash nicht mehr gefunden wird.

Es gibt aber auch bei donKarl die Funktion Replace - damit geht es dann noch einfacher und viel schneller.

Hoppla, da habe ich mich doch vertan: Replace gibts bei Reinhard Kraasch ...

dancer1970
25.09.2003, 09:12
so ähnlich würde ich auch den Dateinamen auseinandernehmen aber nicht in der Tabelle als OLE speichern.
Die Datenbank wird dann ziemlich groß werden, da die Bilder als bmp gespeichert werden.

Stefan

Sascha Trowitzsch
25.09.2003, 09:25
Vielleicht etwas OT, aber speichert man solche Grafiken nicht im GIF-Format?
JPG eignet sich für feine Linien nicht.

Ciao, Sascha

SSchmidt
25.09.2003, 12:42
Hi,

danke für die vielen Tips und Hinweise, ich setze mich nun mal dran und versuche mich.

Hi Sascha
Ja, im Gif Format wäre am besten, zumal die Bilder eh nur schwarz/Weiß sind, aber leider habe ich auf das Format keinen Einfluss.