PDA

Vollständige Version anzeigen : Datenbank mit Bildern verknüpfen, und das auf dem Server


luna30
18.10.2001, 16:15
Hallo,
Erstelle grad mit Access eine Datenbank, die ich auf meine Homepage übertragen möchte.
Wird ein Datensatz aufgerufen, soll auch ein entsprechendes Bild angezeigt werden. Die Bilder sollen möglichst nicht in der Datenbank enthalten sein (da die Datenbank zu groß werden würde).Wie verknüpfe ich die Bilder???? Bitte eine verständliche Erklärung.

Manuela Kulpa
18.10.2001, 17:09
<font face="Verdana" size="2">Hallo luna30!

Kleiner Tipp am Rande ;), <a href="http://www.donkarl.com" target="_blank">FAQs von Karl Donaubauer</a> - speziell

<a href="http://www.donkarl.com/FAQ/FAQ2Allgemein.htm#2.2" target="_blank">FAQ 2.2 - Bilder speichern</a>

vg</font>

Stema
18.10.2001, 17:12
Hallo luna30,

Du brauchst einfach ein Feld vom Typ Text in Deiner Tabelle (großzügig dimensionieren). In diesem Feld speicherst Du den absoluten Netzwerkpfad von den Bildern, z.B.
\\DeinServer\DeinServerlaufwerk\DeinPfad\DeinBild.bmp[

Anzeigen kannst Du die Bilder dann in einem Formular oder einem Report, indem Du ein Bildobjekt einfügst und die Eigenschaft DeinBildObjekt.Picture mit dem gespeicherten Pfad "füllst".
HTH

luna30
18.10.2001, 21:14
Danke für die Hilfe,
verstehe das noch nicht so ganz. Habe ein Suchfeld "Typ".Wenn ich ein Suchkreterium eingebe soll der dazugehörige Datensatz angezeigt werden -soweit funktioniert es auch schon (per ASP), aber das Bild erscheint nicht daneben.
Kannst Du deine Antwort nochmal genauer umschreiben?

Sascha Trowitzsch
19.10.2001, 01:03
Hi Luna,

darf ich mal ganz bescheiden fragen, was du da für einen Provider hast, der ASP unterstützt und wo du nach Belieben rumwerkeln kannst?

Oder machst du das gerade lokal auf deinem Rechner.Wenn ja, mit welchem Server?

Fragt Sascha

Stema
19.10.2001, 09:57
Hi Luna,

dann hast Du jetzt also ein Tabellenfeld erstellt, in dem Du den absoluten Pfad des Bildes einträgst, richtig?

Und Du hast ein Formular erstellt, das an die Tabelle gebunden ist, richtig?

Dann setzt Du in Dein Ereignis Form_Current folgendes:

Dim rst As Recordset
Set rst = Me.RecordsetClone
Me.DeinBildobjekt.Picture = rst!DeinBildFeldInDerTabelle

Ungetestet und ohne Gewähr

luna30
19.10.2001, 14:08
Hallo Stema und Sascha,
arbeite auf meinem eigenen Server (personal web server 4.0).
Vielen Dank Stema,werde es mal versuchen. Geht es auch ohne absolute Pfade? Würde ganz gern mit relativen Pfaden arbeiten, heißt: will per Formular bei Eingabe eines neuen Datensatzes nur den Namen des Bildes angeben, so daß ich nicht immer wieder einen Pfad eingeben muß; wäre zu umständlich immer wieder einen Pfad einzugeben.

Stema
19.10.2001, 14:16
Klar geht das auch ohne absoluten Pfad. Den Pfad solltest Du aber auf jeden Fall mitspeichern, in jedem Feld (z.B. globale Konstante definieren) oder in einer Tabelle "Optionen".

Andere Möglichkeit. Du bindest das Excel-Objekt GetSaveFilename (such mal im Forum) mit ein und verknüpfst so die Bilddatei.

Was den absoluten Pfad angeht. Wenn Du den Laufwerkbuchstaben speicherst (F:\...) und ein anderer User hat dieses Laufwerk auf den Buchstaben G: gelegt, dann ist nichts mit öffnen, dashalb den absoluten Netzwerkpfad.

Andorxor
19.10.2001, 14:25
Die Bilder müssen nur im selben Verzeichnis wie die Aspdatei liegen.
Damit Bilder mit ASP angezeigt werden muss der Bildname dem src Attribut des img-Tags zugewiesen werden.Ungefähr so:
|img src="|%= rs.fields("BildPfad").value %|"|
Die | muss du durch die entsprechenden Zeichen ersetzen.
Viele der Vorschläge hier bezogen sich auf die Darstellung der Bilder in der Datenbank und nicht auf der ASPSeite.

luna30
19.10.2001, 14:59
Hallo nochmal,
vielen Dank Stema!!
Denke Andorxor hat da nicht ganz unrecht!
Andorxor, könntest Du das etwas genauer erklären -kenne mich mit Asp nicht so genau aus- bin schon echt ein bißchen am verzweifeln. Ein Beispiel (vielleicht etwas genauer erklärt) würde mir weiterhelfen;wenn es nicht zu große Umstände macht.

Gruß Luna

Andorxor
19.10.2001, 15:10
Schritt 1 : Du speichers die Bilder im selben Verzeichnis wie die Asp-Seite auf der sie dargestellt werden sollen.
Schritt 2 : Du erstellts in deiner Datenbank ein Feld wo der Bildname mit Endung gespeichert ist
Schritt 3 : Du erstellts auf deiner ASP-Seite ein Recordset das deine Datenbank abfragt.(Da du schon den Datensatz darstellen kannst müsstes du wissen wie das geht.)
Schritt 4 : Du weist denr src-Eigenschaft deines Bildes das Feld aud dem Recordset zu das den Bildnamen enthält.Wenn du Dreamweaver Ultradev benutzts ziehe einfach das Feld aus den Databindingsfenster auf die src-eigenschaft im Property fenster.
Wenn du die Seite per Hand schreibst benutze:
img src="|%= rs.fields("BildPfad").value %|"|
(| immer noch kleiner und grösser) an der stelle wo das Bild hin soll. (rs = Name deines Recordsets)