Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Bild(+/-Pfad) in einen DS einfügen
Gehe zu Seite 1, 2, 3  Weiter
zurück: Datentypen in Kriterienausdruck unverträglich weiter: Textfelder formatieren (bunt, fett etc.) Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Feedback Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
brauchehilfe@office
Im Profil kannst Du frei den Rang ändern


Verfasst am:
12. Aug 2007, 13:24
Rufname: Stefan
Wohnort: Schweiz

Bild(+/-Pfad) in einen DS einfügen - Bild(+/-Pfad) in einen DS einfügen

Nach oben
       Version: Office 2003

Hallo

Also ich kriege langsam wirklich ne Krise... Access verarscht mich nach Strich und Faden... Ich komme nicht mal mehr mit meinen eigenen Forenbeiträgen von vor 3 Jahren klar.... Very Happy

Also zum Problem: Ich habe ein Formular womit ich neue Datensätze erfassen kann. Nun will zu diesen Datensätzen auch Bilder hinzufügen können. Unter anderem habe ich mich mit diesem Beitrag beschäftigt: Bild beifügen
Und mit diesem: Bild im Formular anzeigen
Und mit dem: Bilder in AccessDB einfügen?
etc. etc. etc.

Auf jeden Fall, es klappt nicht. Das eine Mal klicke ich ins Leere, das andere Mal kommt eine Fehlermeldung, beim anderen fehlt mir das entsprechende ActiveX...

Mein Wunsch Very Happy :
Ich möchte auf ein Button "Bild einfügen" klicken können worauf sich dann ein Fenster öffnet wo ich das Bild (.jpg) auswählen kann. Die Bilder befinden sich in einem Unterordner der Datenbank im Ordner "Bilder".
Ich habe in einem Beitrag mal gelesen, dass das mit einem Textfeld machbar sein soll, wo er einfach den Pfad des Bildes abspeichert und das Formular bzw das Bild-Objekt/OLE-Objekt "Bild" im Formular an diesem Dateipfad bedient und das anzeigt.
--> In der Datenbank wird schlussendlich nur der Datenpfad gespeichert, damit sich die Datenbank nicht unnötig aufbläht.

Wie zum Henker geht das?! Laughing

VIIIIIEEEEEEEELEEN DANK SCHON IM VORAUS MAL Very Happy
Willi Wipp
Moderator


Verfasst am:
12. Aug 2007, 15:16
Rufname:
Wohnort: Raum Wiesbaden


Re: Bild(+/-Pfad) in einen DS einfügen - Re: Bild(+/-Pfad) in einen DS einfügen

Nach oben
       Version: Office 2003

Hi brauchehilfe@office,

schau mal ob Dir das Thema Bilder einbinden oder auch Grafik und Video in Datenbank einfügen weiter hilft.

_________________
Eine kurze Rueckmeldung waere nett
SL Willi Wipp

(Anleitung fuer das Anhaengen von Dateien: Klicke links auf [www], Gaeste muessen sich dafuer anmelden)
brauchehilfe@office
Im Profil kannst Du frei den Rang ändern


Verfasst am:
12. Aug 2007, 16:33
Rufname: Stefan
Wohnort: Schweiz

AW: Bild(+/-Pfad) in einen DS einfügen - AW: Bild(+/-Pfad) in einen DS einfügen

Nach oben
       Version: Office 2003

Danke mal für die Antwort Smile

Ich hab mich mal mit dem Thema von GM auseinandergesetzt, allerdings weiss ich nicht was ich mit dieser .cls-Datei machen muss und wie ich da genau vorgehen muss.

Die Codes habe ich mal in meine DB reinkopiert und dementsprechend an meine Steuerelementnamen angepasst. Allerdings meckert er mir an ziemlich vielen Orten:
Code:
Private Sub cmdDateiAuswaehlen_Click()
    Dim objFiledialog As FileDialog
    Dim strDateiname As String
    Dim strDatenbankpfad As String
   
    Set objFiledialog = Application.FileDialog(msoFileDialogFilePicker)
    strDatenbankpfad = CurrentProject.Path
    With objFiledialog
        '[.DialogTitle =] "Bild auswählen"      <-- Fehlermeldung
        '[.DefaultDir =] strDatenbankpfad        <-- Fehlermeldung
        '[.Filter1Text =] "Alle Dateien"         <-- Fehlermeldung
        '[.Filter1Suffix = ]"*.jpg"              <-- Fehlermeldung
        '[.ShowOpen]                             <-- Fehlermeldung
        'If [.FileName] = "" Then Exit Sub       <-- Fehlermeldung
        'strDateiname = [.FileName]              <-- Fehlermeldung
    End With
    Me.Bildpfad = strDateiname
    Set objFiledialog = Nothing
    BildAktualisieren
End Sub
--> Das zwischen den eckigen Klammern markiert er mir im Debug-Modus schwarz
--> Fehlermeldung:
Zitat:
Fehler beim Kompilieren: Methode oder Datenobjekt nicht gefunden
Willi Wipp
Moderator


Verfasst am:
12. Aug 2007, 18:07
Rufname:
Wohnort: Raum Wiesbaden

Re: Bild(+/-Pfad) in einen DS einfügen (II) - Re: Bild(+/-Pfad) in einen DS einfügen (II)

Nach oben
       Version: Office 2003

Hi brauchehilfe@office,

in A03 solltest Du das auch ohne die zusaetzliche Klasse machen koennen, etwa so
Code:
' Menue: Extras -> Verweise: Microsoft Office x.x Object Library
Public Sub cmdDateiAuswaehlen_Click()
    Dim objFiledialog       As FileDialog
    Dim strDateiName        As String
    Dim strDatenbankpfad    As String
   
    Set objFiledialog = Application.FileDialog(msoFileDialogOpen)
    strDatenbankpfad = CurrentProject.Path
    With objFiledialog
        .Filters.Clear
        .Filters.Add "Bilder", "*.gif; *.jpg; *.jpeg", 1
        .AllowMultiSelect = False
        .InitialFileName = strDatenbankpfad
        .Title = "Bild auswählen"
        If .Show = -1 Then ' Eine Datei wurde ausgewaehlt
            If .SelectedItems.Item(1) = "" Then Exit Sub
            strDateiName = .SelectedItems.Item(1)
        End If
    End With
    Set objFiledialog = Nothing
    Me!Dateiname = strDateiName
    BildAktualisieren
End Sub

_________________
Eine kurze Rueckmeldung waere nett
SL Willi Wipp

(Anleitung fuer das Anhaengen von Dateien: Klicke links auf [www], Gaeste muessen sich dafuer anmelden)


Zuletzt bearbeitet von Willi Wipp am 13. Aug 2007, 00:14, insgesamt einmal bearbeitet
brauchehilfe@office
Im Profil kannst Du frei den Rang ändern


Verfasst am:
12. Aug 2007, 20:56
Rufname: Stefan
Wohnort: Schweiz


AW: Bild(+/-Pfad) in einen DS einfügen - AW: Bild(+/-Pfad) in einen DS einfügen

Nach oben
       Version: Office 2003

Super! Funktioniert das schon mal Smile Vielen Dank!

Jetzt hab ich nur noch das Problem, dass ich die Bildpfade gerne relativ hätte und nicht absolut.
Also ich speichere die Bilder in einem Unterordner der Datenbank ab.
--> \Bilder\Datensatz1, \Bilder\Datensatz2 etc...

nun wäre es ideal wenn Access den Pfad auch so abspeichern würde und nicht mit C:\.....

Was müsste man dann an diesem Code noch ändern/ergänzen?

Und noch eine weitere Frage gleich dazu Very Happy
Ist es möglich, dass wenn ich einen Datensatz lösche, auch gerade die Bilder und der Ordner wo diese Bilder drin gespeichert sind gelöscht werden? (müsste ja irgendwie allgemein gehalten werden, da jeder Datensatz einen eigenen Ordner mit einem anderen Namen erhält)
Willi Wipp
Moderator


Verfasst am:
13. Aug 2007, 00:20
Rufname:
Wohnort: Raum Wiesbaden

Re: Bild(+/-Pfad) in einen DS einfügen (II) - Re: Bild(+/-Pfad) in einen DS einfügen (II)

Nach oben
       Version: Office 2003

Hi brauchehilfe@office,

solange es sich wirklich immer um einen Unterordner handelt sotte es z.B.so moeglich sein
Code:
    Me!Dateiname = Mid$(strDateiName, Len(strDatenbankpfad))
Du musst dann aber auch die Prozedur BildAktualisieren entsprechend anpassen
Code:
        strDateiName = CurrentProject.Path & Me!Dateiname
Wenn nun ein Verzeichnis gewaehlt wuerde das sich nicht unter dem aktuellen DB-Pfad befindet,
dann wuerde das zu massiven Problemen fuehren.
Im Uebrigen wuerde ich nicht fuer jeden DS ein extra Unterverzeichnis anlegen!
Eine Datei kann man z.B. mit Kill loeschen.

_________________
Eine kurze Rueckmeldung waere nett
SL Willi Wipp

(Anleitung fuer das Anhaengen von Dateien: Klicke links auf [www], Gaeste muessen sich dafuer anmelden)
brauchehilfe@office
Im Profil kannst Du frei den Rang ändern


Verfasst am:
13. Aug 2007, 09:32
Rufname: Stefan
Wohnort: Schweiz

AW: Bild(+/-Pfad) in einen DS einfügen - AW: Bild(+/-Pfad) in einen DS einfügen

Nach oben
       Version: Office 2003

Werde das heute Abend mal ausprobieren.

Noch wegen den Bildern und den Unterordnern: Es ist eben so, dass wir pro Datensatz oftmals mehrere Bilder speichern müssen, jedoch brauchen wir nur eins davon in der DB zur Vorschau. Die anderen speichern wir für die Vorlagemappen. Deshalb braucht jeder Datensatz einen eigenen Unterordner.
Wäre das also trotzdem machbar? Very Happy
Willi Wipp
Moderator


Verfasst am:
13. Aug 2007, 13:06
Rufname:
Wohnort: Raum Wiesbaden

Re: Bild(+/-Pfad) in einen DS einfügen (II) - Re: Bild(+/-Pfad) in einen DS einfügen (II)

Nach oben
       Version: Office 2003

Hi brauchehilfe@office,

man kann auch eine Extra-Tabelle fuer die Bilder anlegen.
Dann kann man eine DS beliebig viele Bilder zuordnen.
Mit den Unterordnern sollte es aber prinzipiell so auch loesbar sein.

_________________
Eine kurze Rueckmeldung waere nett
SL Willi Wipp

(Anleitung fuer das Anhaengen von Dateien: Klicke links auf [www], Gaeste muessen sich dafuer anmelden)
brauchehilfe@office
Im Profil kannst Du frei den Rang ändern


Verfasst am:
13. Aug 2007, 22:08
Rufname: Stefan
Wohnort: Schweiz

AW: Bild(+/-Pfad) in einen DS einfügen - AW: Bild(+/-Pfad) in einen DS einfügen

Nach oben
       Version: Office 2003

Zum Bild einfügen kommt folgende Fehlermeldung obwohl sich das Bild in einem Unterordner befindet:
"Das Bild ist nicht vorhanden"

Button-Code:
Code:
Private Sub cmdDateiAuswaehlen_Click()
    Dim objFiledialog       As FileDialog
    Dim strDateiName        As String
    Dim strDatenbankpfad    As String
   
    Set objFiledialog = Application.FileDialog(msoFileDialogOpen)
    strDatenbankpfad = CurrentProject.Path
    With objFiledialog
        .Filters.Clear
        .Filters.Add "Bilder", "*.gif; *.jpg; *.jpeg", 1
        .AllowMultiSelect = False
        .InitialFileName = strDatenbankpfad
        .Title = "Bild auswählen"
        If .Show = -1 Then ' Eine Datei wurde ausgewaehlt
            If .SelectedItems.Item(1) = "" Then Exit Sub
            strDateiName = .SelectedItems.Item(1)
        End If
    End With
    Set objFiledialog = Nothing
    Me!Bildpfad = Mid$(strDateiName, Len(strDatenbankpfad))
    BildAktualisieren
End Sub
Bild Aktualisieren Code:
Code:
Private Sub BildAktualisieren()
    Const cstrPictureEmpty As String = "\Standard.jpg"
    Dim strDateiName As String
    Dim strPicture As String
   
    'Prüfen, ob Dateiname vorhanden ist
    If Not IsNull(Me!Bildpfad) Then
        strDateiName = CurrentProject.Path & Me!Bildpfad
        'Prüfen, ob das angegebene Bild existiert...
        If Not Dir(strDateiName) = "" Then
            '... und Bild festlegen
            strPicture = strDateiName
          Else
            '... oder Meldung ausgeben
            'und Textfeld Dateiname leeren
            MsgBox "Das Bild ist nicht vorhanden."
            Me!Bildpfad = ""
            strPicture = CurrentProject.Path & cstrPictureEmpty
        End If
      Else
        strPicture = CurrentProject.Path & cstrPictureEmpty
    End If
    Me!ctlBild.Picture = strPicture
End Sub
Und wegen der Löschroutine der Unterordner:
Eine zusätzliche Tabelle mit Bildern einfügen etc ist wieder zusätzlichen Verwaltungsaufwand. Die Unterordnerstruktur mit den Bildern die existiert bereits seit Jahren und die möchten wir auch beibehalten. Lediglich wollen wir ein Bild in der Datenbank als Vorschau. Aber wenn wir dann den Datensatz löschen, wollen wir auch die Bilder gelöscht haben und es wäre halt eben praktisch, wenn das gleich VB miterledigen würde...
Willi Wipp
Moderator


Verfasst am:
14. Aug 2007, 01:16
Rufname:
Wohnort: Raum Wiesbaden

Re: Bild(+/-Pfad) in einen DS einfügen (III) - Re: Bild(+/-Pfad) in einen DS einfügen (III)

Nach oben
       Version: Office 2003

Hi brauchehilfe@office,

Eines nach dem Anderen Wink
Was ist denn der Inhalt der Variablen strDateiName wenn die Fehlermeldung kommt ?

_________________
Eine kurze Rueckmeldung waere nett
SL Willi Wipp

(Anleitung fuer das Anhaengen von Dateien: Klicke links auf [www], Gaeste muessen sich dafuer anmelden)
brauchehilfe@office
Im Profil kannst Du frei den Rang ändern


Verfasst am:
14. Aug 2007, 06:12
Rufname: Stefan
Wohnort: Schweiz

AW: Bild(+/-Pfad) in einen DS einfügen - AW: Bild(+/-Pfad) in einen DS einfügen

Nach oben
       Version: Office 2003

Da weiss ich jetzt grade nicht was du von mir verlangst... Very Happy
Was genau meinst du mit deiner Frage?
Willi Wipp
Moderator


Verfasst am:
14. Aug 2007, 08:55
Rufname:
Wohnort: Raum Wiesbaden

Re: Bild(+/-Pfad) in einen DS einfügen (IV) - Re: Bild(+/-Pfad) in einen DS einfügen (IV)

Nach oben
       Version: Office 2003

Hi brauchehilfe@office,

verwende mal
Code:
            MsgBox "Das Bild '" & strDateiName & "' ist nicht vorhanden."
' oder
            MsgBox "Das Bild ist nicht vorhanden."
            Debug.Print "|" & strDateiName & "|"
Die 2. Variante gibt den Stringinhalt im Direktbereich (Strg+G; Testfenster) aus, da kann man ihn leichter kopieren Wink
_________________
Eine kurze Rueckmeldung waere nett
SL Willi Wipp

(Anleitung fuer das Anhaengen von Dateien: Klicke links auf [www], Gaeste muessen sich dafuer anmelden)
brauchehilfe@office
Im Profil kannst Du frei den Rang ändern


Verfasst am:
14. Aug 2007, 20:24
Rufname: Stefan
Wohnort: Schweiz

AW: Bild(+/-Pfad) in einen DS einfügen - AW: Bild(+/-Pfad) in einen DS einfügen

Nach oben
       Version: Office 2003

Immer noch die Fehlermeldung: "Das Bild ist nicht vorhanden" Sad
Code:
Private Sub cmdDateiAuswaehlen_Click()
    Dim objFiledialog       As FileDialog
    Dim strDateiName        As String
    Dim strDatenbankpfad    As String
   
    Set objFiledialog = Application.FileDialog(msoFileDialogOpen)
    strDatenbankpfad = CurrentProject.Path
    With objFiledialog
        .Filters.Clear
        .Filters.Add "Bilder", "*.gif; *.jpg; *.jpeg", 1
        .AllowMultiSelect = False
        .InitialFileName = strDatenbankpfad
        .Title = "Bild auswählen"
        If .Show = -1 Then ' Eine Datei wurde ausgewaehlt
            If .SelectedItems.Item(1) = "" Then Exit Sub
            strDateiName = .SelectedItems.Item(1)
        End If
    End With
    Set objFiledialog = Nothing
    Me!Bildpfad = Mid$(strDateiName, Len(strDatenbankpfad))
    BildAktualisieren
End Sub

Private Sub BildAktualisieren()
    Const cstrPictureEmpty As String = "\Standard.jpg"
    Dim strDateiName As String
    Dim strPicture As String
   
    'Prüfen, ob Dateiname vorhanden ist
    If Not IsNull(Me!Bildpfad) Then
        strDateiName = CurrentProject.Path & Me!Bildpfad
        'Prüfen, ob das angegebene Bild existiert...
        If Not Dir(strDateiName) = "" Then
            '... und Bild festlegen
            strPicture = strDateiName
          Else
            '... oder Meldung ausgeben
            'und Textfeld Dateiname leeren
            MsgBox "Das Bild ist nicht vorhanden."
            Debug.Print "|" & strDateiName & "|"
            Me!Bildpfad = ""
            strPicture = CurrentProject.Path & cstrPictureEmpty
        End If
      Else
        strPicture = CurrentProject.Path & cstrPictureEmpty
    End If
    Me!ctlBild.Picture = strPicture
End Sub
Willi Wipp
Moderator


Verfasst am:
14. Aug 2007, 22:32
Rufname:
Wohnort: Raum Wiesbaden

Re: Bild(+/-Pfad) in einen DS einfügen (V) - Re: Bild(+/-Pfad) in einen DS einfügen (V)

Nach oben
       Version: Office 2003

Hi brauchehilfe@office,

Du hast die 2. Variante verwendet. Was wird da nun im Direktbereich (Strg+G; Testfenster) ausgegeben?
Ich habe in deinem Code mal die unteren 2 Prozedur-Deklarationszeilen auskommentiert.
Das musste sonst eigentlich eine Fehlermeldung geben!
Man kann eine Funktion oder Prozedur nicht in eine andere Funktion oder Prozedur verschachteln.

_________________
Eine kurze Rueckmeldung waere nett
SL Willi Wipp

(Anleitung fuer das Anhaengen von Dateien: Klicke links auf [www], Gaeste muessen sich dafuer anmelden)
brauchehilfe@office
Im Profil kannst Du frei den Rang ändern


Verfasst am:
15. Aug 2007, 06:20
Rufname: Stefan
Wohnort: Schweiz


AW: Bild(+/-Pfad) in einen DS einfügen - AW: Bild(+/-Pfad) in einen DS einfügen

Nach oben
       Version: Office 2003

Im Testfenster zeigt er den Pfad an, den ich ausgewählt habe.

Habe mal den Code reinkopiert. Die Meldung bleibt aber bestehen. Jetzt zeigt er im Testfenster den Dateipfad sogar schon doppelt an...
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Gehe zu Seite 1, 2, 3  Weiter
Diese Seite Freunden empfehlen

Seite 1 von 3
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Access Tabellen & Abfragen: Einfügen einer Kalenderwoche! 2 Easy091981 3226 15. Feb 2008, 18:39
KlausMz Einfügen einer Kalenderwoche!
Keine neuen Beiträge Access Tabellen & Abfragen: M:N Beziehung, DS inkl. Autowert im Unterformular einfügen 5 wolfsmilch 2625 10. Feb 2008, 20:08
KlausMz M:N Beziehung, DS inkl. Autowert im Unterformular einfügen
Keine neuen Beiträge Access Tabellen & Abfragen: Tabellenverknüpfung nur über den festen Pfad? 7 COFFEE-COP 1219 30. Dez 2007, 13:46
jens05 Tabellenverknüpfung nur über den festen Pfad?
Keine neuen Beiträge Access Tabellen & Abfragen: Modul zum Einfügen von Spaltenwerten 10 Gast2007 595 22. Nov 2007, 15:42
Willi Wipp Modul zum Einfügen von Spaltenwerten
Keine neuen Beiträge Access Tabellen & Abfragen: Datensatz in anderes Formular automatisch einfügen lassen 8 Vievien 798 20. Nov 2007, 00:25
derArb Datensatz in anderes Formular automatisch einfügen lassen
Keine neuen Beiträge Access Tabellen & Abfragen: Zeile einfügen 2 Plolex 282 14. Nov 2007, 17:18
Plolex Zeile einfügen
Keine neuen Beiträge Access Tabellen & Abfragen: Access Abfrage nach Excel! Leerzeilen einfügen. Wie? 22 baldy 3160 26. Jan 2007, 16:28
steffen0815 Access Abfrage nach Excel! Leerzeilen einfügen. Wie?
Keine neuen Beiträge Access Tabellen & Abfragen: Bild einbinden ohne Verlinkung 2 luli 798 09. Jan 2007, 00:59
Gast Bild einbinden ohne Verlinkung
Keine neuen Beiträge Access Tabellen & Abfragen: Autowert aktuelles Jahr in Tabelle einfügen 2 AndreM 1712 19. Dez 2006, 20:27
AndreM Autowert aktuelles Jahr in Tabelle einfügen
Keine neuen Beiträge Access Tabellen & Abfragen: Werte aus 2 Tabelle Vergleichen in einer Abfrage einfügen 0 Petermann 1005 10. Dez 2006, 04:30
Petermann Werte aus 2 Tabelle Vergleichen in einer Abfrage einfügen
Keine neuen Beiträge Access Tabellen & Abfragen: Inhalte zweier Spalten in eine der beiden einfügen 6 Michael von Bock 712 29. Sep 2006, 18:07
Nouba Inhalte zweier Spalten in eine der beiden einfügen
Keine neuen Beiträge Access Tabellen & Abfragen: Unterdatenblatt einfügen - warum - hilfe 2 sbmiles21 2421 26. Sep 2006, 14:05
sbmiles21 Unterdatenblatt einfügen - warum - hilfe
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Microsoft Excel Tricks