Access-o-Mania

Access-Forum (Deutsch/German) => Formular => Thema gestartet von: derilzemer am März 10, 2015, 11:04:46

Titel: Datei mit Pfadvorgabe suchen .....
Beitrag von: derilzemer am März 10, 2015, 11:04:46
Hallo,
aktuell pflege ich alle Bilderquellen (welche extern liegen) manuell, da ich die Namen kenne. Das ganze geht über ein Ufo im Hauptformular, worüber ich diese Bildquellen einpflege. Jeder Verlag hat seinen Pfad. Der Basispfad ist immer gleich, W:\AccessDB\ und unterscheidet sich dann nur noch durch den Verlag, z.B. W:\AccessDB\ass oder W:\AccessDB\berl etc. Ich muss lediglich den Bildnamen einpflegen wie z.B. 101419_1970_db.png.

(http://quartettportal.de/bilder/bildpfad.jpg)

Dies ist aber sagen wir mal nicht unbedingt schick, zumal meine Frau mich da ein wenig unterstützen will in der Datenpflege, da muss ich es ein wenig "Frauenfreundlicher" gestalten. Ich will also was für die Quote machen :).
Wie kann man dies nun bewerkstelligen, dass ich mit einem doppelklick im Feld Bild Datei Name gleich in das richtige Verzeichnis springe und das Bild auswählen kann?

mfG
A. Müller

Titel: Re: Datei mit Pfadvorgabe suchen .....
Beitrag von: MaggieMay am März 10, 2015, 11:36:06
Hallo,

wenn du bereits den Dateiauswahldialog im Doppelklickereignis aufrufst, so brauchst du ihm doch nur den Pfad mitzugeben. Du musst doch wissen, wo du dich (bzw. auf welchem Datensatz) zu dem Zeitpunkt befindest.
Titel: Re: Datei mit Pfadvorgabe suchen .....
Beitrag von: derilzemer am März 10, 2015, 13:51:50
Hi Maggie,
nein, aktuell mache ich nichts mit doppelklick. Mit Doppelklick kann ich lediglich das Bild in einem Extraformular gezoomt größer darstellen. Wie das Bild heißt mache ich aktuell alles per pedes, nichts mit Dateiauswahldialog :). In der Tat, wenn das so wäre, dann wäre meine Frage schon etwas dreist. Wenn ich es richtiog verstehe, dann müsste ich doch das Feld (aktuell Kurzer Text) in ein OLE-Objekt bzw. Anlage (Access 2010) wandeln, oder? Wenn ja, wie muss ich dann aber das mit dem Pfad machen, da ist doch sicher noch ein Stück Code von Nöten, oder?
Gruß Andreas
Titel: Re: Datei mit Pfadvorgabe suchen .....
Beitrag von: MaggieMay am März 10, 2015, 14:06:36
Nein, nun fang bitte nicht mit Anlagen an, du bist doch längst auf dem richtigen Weg.

Was du jetzt brauchst ist also ein Dateiauswahldialog, der Code dazu sollte sich leicht hier oder in einem anderen Forum finden lassen. Dort kannst du dann vorgeben, in welchem Ordner die Suche beginnen soll, die Informationen dazu kannst du aus dem Formular holen, wenn ich das richtig sehe.
Titel: Re: Datei mit Pfadvorgabe suchen .....
Beitrag von: derilzemer am März 10, 2015, 19:19:13
Hi
Zitat
Was du jetzt brauchst ist also ein Dateiauswahldialog, der Code dazu sollte sich leicht hier oder in einem anderen Forum finden lassen........
:-\ ich bekomme immer ungute Gefühle wenn ihr von leicht redet. Ihr setz vorraus, was aber i.d.R. nicht immer passt. Wenn man im www sucht, dann findet man sicherlich vieles was Dateiauswahldialog angeht, das stimmt. Aber da fängt es schon an, die Selektion dessen was richtig ist. Mit VBA Unkenntnis ist das eine kleine Challenge. Alleien schon die Sachen von DonKarl als Beispiel http://www.donkarl.com/?FAQ8.1 (http://www.donkarl.com/?FAQ8.1) ...confused

Gruß Andreas
Titel: Re: Datei mit Pfadvorgabe suchen .....
Beitrag von: MzKlMu am März 10, 2015, 20:16:12
Hallo,
in den neueren Access Versionen ist meines Wissen der Dateiauswahldialog direkt als VBA Befehl(e) vorhanden.
Bitte mal in der Hilfe suchen. Da ich kein Access2010 habe, kann ich keine gezielteren Hinweise geben.
Titel: Re: Datei mit Pfadvorgabe suchen .....
Beitrag von: derilzemer am März 10, 2015, 21:58:04
Hi,
da muss ich mir das Thema mal aufsparen oder verschieben, bis ich den Switch auf die 2010 DB Version wieder mache. Vorerst bleibe ich noch auf der mdb, bis sich die anderen Kleinigkeiten erledigt haben.
Gruß Andreas
Titel: Re: Datei mit Pfadvorgabe suchen .....
Beitrag von: MaggieMay am März 10, 2015, 22:11:39
Hi,

die Zeiten vom ComDlg.ocx sind lange vorbei, die Suche nach FileDialog in der Access-Hilfe sollte neuere Informationen liefern.

Mit welcher Access-Version arbeitest du denn zur Zeit? Ich meine, auch in A2003 brauchte man das schon nicht mehr.
Titel: Re: Datei mit Pfadvorgabe suchen .....
Beitrag von: derilzemer am März 10, 2015, 22:44:18
Hi,
ich habe Access2013, nutze das mdb Format in der 2003 Version. Ich kann aber konvertieren zu accdb, da wäre nicht das Problem.
Gruß Andreas
Titel: Re: Datei mit Pfadvorgabe suchen .....
Beitrag von: MaggieMay am März 10, 2015, 22:55:33
Dann sollte der FileDialog doch kein Problem mehr sein.
Hast du die Access-Hilfe schon mal danach befragt?
Titel: Re: Datei mit Pfadvorgabe suchen .....
Beitrag von: derilzemer am März 11, 2015, 00:09:11
Hi,
also die lokale wie auch die Online Hilfe ....konnte nichts finden bezüglich FileDialog. Aber ich hab was "erreicht" durch deine hartnäckigkeit. Ich habe dann den Artikel https://support.microsoft.com/kb/824272/de (https://support.microsoft.com/kb/824272/de) online gefunden.
Ich habe das jetzt mal nach deren Angabe gemacht und es geht. Ich muss mal jetzt schauen, wie man das anstellen kann, dass er den Pfad schon übernimmt. Da bin ich als VBA Greenhorn doch erst mal am grübeln. Erstmal muss ich es ja schaffen, dieses Listenfeld mit Herkunftstyp Wertliste durch mein Textfeld zu ersetzen. Oder ist es einfacher das Textfeld mit dem Listenfeld zu ersetzen?
Gruß Andreas
Titel: Re: Datei mit Pfadvorgabe suchen .....
Beitrag von: MaggieMay am März 11, 2015, 00:32:24
Hi,
Zitatnutze das mdb Format in der 2003 Version
das betrifft aber doch nur das Datenbank-Format und nicht den Funktionsumfang, der dir mit A2013 zur Verfügung steht!

ZitatErstmal muss ich es ja schaffen, dieses Listenfeld mit Herkunftstyp Wertliste durch mein Textfeld zu ersetzen. Oder ist es einfacher das Textfeld mit dem Listenfeld zu ersetzen?
Sorry, da kann ich dir grad nicht folgen, sollte evtl. auch erstmal schlafen gehen...

Um welches Listen- oder Textfeld geht es da?
Titel: Re: Datei mit Pfadvorgabe suchen .....
Beitrag von: derilzemer am März 11, 2015, 00:41:25
Hi,
das ist richtig, nur das DB Format. Ansonsten kann ich 2013 vollumfänglich nutzen.
Bin jetzt ein wenig weitergekommen in dem FileDialog. Häng jetzt gerade daran, dass ich den Pfad definieren kann, aber
den übernimmt er dann auch so in die Liste. Ich dachte man kann das dann so machen, dass er nur noch die Datei in der Wertliste anzeigt. Weiterhin bekomme ich einen Fehler
.Title = "Wähle eine oder mehrere Dateien aus"
      ' Pfadvorgabe
        .InitialFileName = "W:\AccessDB\" & [Bilderordner] & "\"
      ' Clear out the current filters, and then add your own.
      .Filters.Clear
      .Filters.Add "All Files", "*.*"

Er meckert wegen dem & [Bilderordner] & "\". Ohne geht das gut.
Da müsste ich ihm definieren, dass der Verlagsabhängig ist und in der Tabelle tblVerlag steht. Wie mache ich das?

Gruß Andreas
Titel: Re: Datei mit Pfadvorgabe suchen .....
Beitrag von: MzKlMu am März 11, 2015, 09:59:23
Hallo,
in der Abfrage für das Erfassungsformular ist doch der Bilderpfad zusammengebaut und demzufolge wird dieser ja auch auf dem Formular angezeigt.
Wenn Du vom Erfassungsformular den Dateidialog aufrufst, so hast Du den Bilderpfad doch direkt zur Verfügung. Und dann einfach so:
.InitialFileName = Me.Bilderpfad

Ebenso kannst Du mit DLookUp den Bilderpfad in Abhängigkeit vom Verlag ermitteln.
.InitialFileName = DLookup("Bilderpfad","qryfrmErfassung","VerlagID_F =" & Me.VerlagID_F)

So wie Du es jetzt hast, ist der zentrale Pfad dann schon an 2 Stelen zu pflegen und das wollten wir ja vermeiden.
Titel: Re: Datei mit Pfadvorgabe suchen .....
Beitrag von: derilzemer am März 11, 2015, 10:37:28
Morgen Klaus,
Methode 1 hab ich mal so gemacht bzw. wollte das so machen. Aber im Editor bietet er mir das Me.Bilderpfad gar nicht an. Wenn ich es trotzdem so "schreibe", dann meckert er mit
"Der von ihnen eingegeben Ausdruck enthält einen Feld-, Steuerelemnt- oder Eigenschaftsnamen, der von MS Access nicht gefundn werden kann".
Bei Methode 2 sagt er
"Fehler beim kompilieren: Methode oder Datenobjekt nicht gefunden".
Ich weiss natürlich nicht, warum :(.
Gruß Andreas
Titel: Re: Datei mit Pfadvorgabe suchen .....
Beitrag von: MzKlMu am März 11, 2015, 10:51:21
Hallo,
von welchem Formular (bzw. Ufo) rufst Du den Dialog auf ?
Titel: Re: Datei mit Pfadvorgabe suchen .....
Beitrag von: derilzemer am März 11, 2015, 11:19:47
Hi,
grundsätzlich bin ich ja im frmErfassung, wo ich dann über das Ufo frmErfassungUfoBilder das bewerkstellige. Ich dachte mir schon, dass man dann den Pfad wohl anpassen muss, aber weiss nicht wie :(.
Gruß Andreas
Titel: Re: Datei mit Pfadvorgabe suchen .....
Beitrag von: MaggieMay am März 11, 2015, 12:50:37
Hi,

so sollte das klappen:
Private Sub BildDateiName_DblClick(Cancel As Integer)
    Dim dlgOpen As FileDialog
    Set dlgOpen = Application.FileDialog(msoFileDialogFilePicker)
    With dlgOpen
        .InitialFileName = "W:\AccessDB\" & Me.Parent.Verlag & "\"
        'Add a filter that includes GIF and JPEG images and make it the first item in the list.
        .Filters.Add "Images", "*.gif; *.jpg; *.jpeg", 1
        .AllowMultiSelect = False
        If .Show Then _
        Me.BildDateiName = Dir(.SelectedItems(1))
    End With
End Sub
Titel: Re: Datei mit Pfadvorgabe suchen .....
Beitrag von: derilzemer am März 11, 2015, 14:35:11
Hallo Maggie,
ich hab das mal auf das Feld BildDateiName umgestellt. Der Dialog geht auch, jedoch steigt er ins aktuelle Verzeichnis des Users ein, als Eigene Dateien, nicht in W:\AccessDB\[Verlag]
Was genau macht Parent? Das bedeutet doch übergeordnet. Dem Anschein nach, kann er aber aus Me.Parent nicht die Information ziehen. Fehler bringt er keinen :(.
Gruß Andreas
Titel: Re: Datei mit Pfadvorgabe suchen .....
Beitrag von: MaggieMay am März 11, 2015, 15:05:11
Zitatich hab das mal auf das Feld BildDateiName umgestellt
Was heißt hier "umgestellt"? In meiner Version deiner DB funktioniert das, hast du den Code nicht 1:1 übernommen? Wenn ja, dann zeige bitte deine Version.

Du hattest geschrieben, dass der Name des Unterordners dem Verlagsnamen entspricht und der wird über Me.Parent.Verlag geliefert, andernfalls sollte wohl auch ein Fehler kommen.
Titel: Re: Datei mit Pfadvorgabe suchen .....
Beitrag von: derilzemer am März 11, 2015, 15:19:40
Hi,
ich habe das nur auf das Feld umgestellt. Vorher war es ja auf einen Button eingestellt. Deshalb habe ich umgestellt gesagt.
Code ist 1:1 übernommen.
Ich habe dir mal eine DB mit reduzierten Datensätzen zum Download bereit gestellt. Ich weiss aktuell nicht, welche du benutzt hast. Ebenso ein Bild, wie die Verzeichnisstruktur auf dem Laufwerk aussieht. Aber das passt ja alles soweit, da ich ja aktuell alle Bilder aus den Quellen hinterlegt habe.
Gruß Andreas

http://quartettportal.de/producer/db/Quartett_09.5_red.mdb.zip (http://quartettportal.de/producer/db/Quartett_09.5_red.mdb.zip)


Titel: Re: Datei mit Pfadvorgabe suchen .....
Beitrag von: MaggieMay am März 11, 2015, 15:50:34
Das Bild sagt jetzt nicht so viel aus, entscheidend ist ja was darüber steht, also "W:\AccessDB\".

Wenn InitialFilename auf das Standardbenutzerverzeichnis "umspringt", dann liegt ein Fehler im Zugriffspfad vor und bspw. "W:\AccessDB\Ass\" ist nicht vorhanden. Das ist eindeutig. Bei mir klappt das, natürlich mit dem von mir eingestellten Pfad.

PS:
Habe gerade entdeckt, dass du ja den aktuellen Pfad bereits im Hauptformular anzeigst, den sollte man dann natürlich auch benutzen:
.InitialFileName = Me.Parent.Bilderpfad
Das hat aber jetzt nichts mit dem Problem zu tun, dass das mit dem FileDialog bei dir nicht klappt.
Titel: Re: Datei mit Pfadvorgabe suchen .....
Beitrag von: derilzemer am März 11, 2015, 16:33:23
Hi,
danke erst mal. Okay, wenn ich die Folders den Verlagsnamen ginge das. Aber das .InitialFileName = Me.Parent.Bilderpfad erledigt das auf die sauberste Art und Weise, zumindest muss ich nichts anpassen. Klasu hatte schon mal den Ansatz, allerdings ohne dass parent. Danke noch mal.
Gruß Andreas
Titel: Re: Datei mit Pfadvorgabe suchen .....
Beitrag von: MaggieMay am März 11, 2015, 16:43:13
Ok, jetzt ist der Groschen gefallen, die Ordnernamen hast du extra festgelegt und sie stimmen nicht unbedingt mit dem Verlagsnamen überein. Ich dachte, das hätte ich irgendwo schonmal anders gelesen...
Titel: Re: Datei mit Pfadvorgabe suchen .....
Beitrag von: derilzemer am März 11, 2015, 18:00:41
Hi,
jo der Namen ist in der tblVerlag (Feld BilderOrdner) festgelegt. Das hätte ich dann wohl auch als Info zwischen rein sagen können, hätte sich wahrscheinlich auf die Threadlänge ausgewirkt :(. Wenn ich ehrlich bin, bin ich immer noch am verstehen lernen wie alles in der DB zusammen wirkt und arbeitet und ein Datenmodell ergibt. Immer wieder muss ich mir das Beziehungsfenster in den Datenbanktools öffnen. Ist das normal so? Von VBA mal ganz abgesehen, das ist eine Geschichte für sich.
Gruß Andreas
Titel: Re: Datei mit Pfadvorgabe suchen .....
Beitrag von: MzKlMu am März 11, 2015, 18:55:33
Hallo,
so, bin jetzt auch wieder da.
Das mit dem Bilderpfad hatte ich in #13 schon erwähnt. Ist übrigens auch auf dem Bild in Beitrag #1 zu erkennen.

Nur noch kurz zur Erläuterung:
Wenn Du mit Code aus einem Unterformular auf ein Feld des Hafos zugreifen willst, ist dem Ufo der Name des Feldes im Hafos ja nicht bekannt. Du musst also auf das Hafo referenzieren. Das geht entweder mit Me.Parent!BilderPfad oder mit dem kompletten Bezug:
Forms!frmErfassung.Form!BilderPfad
Da mir nicht klar war, von wo Du den Code startest, hatte ich in #15 danach gefragt.

ZitatImmer wieder muss ich mir das Beziehungsfenster in den Datenbanktools öffnen
das ist normal und geht auch erfahrenen Access Entwicklern so. Ich denke, jetzt ist Dir auch klar, dass man ein Bild der Beziehungen benötigt, wenn man mit einer fremden DB helfen will. Nur dann ist man in der Lage Zusammenhänge zu verstehen, auch wenn diese zunächst mal falsch sein sollten. Wenn Du Dich erinnerst, die Entwicklung Deiner DB (mit den extrem vielen Feldern  ;D ) ist am Anfang ausschließlich über die Beziehungsbilder gelaufen.
Titel: Re: Datei mit Pfadvorgabe suchen .....
Beitrag von: derilzemer am März 11, 2015, 21:36:12
Hi,
meine Frage ist gelöst. Jo hab ja gesagt, dass du es schon angedeutet hattest. Ich hab mich schon oft gefragt, wie komme ich an Sachen, die in anderen Formularen sind, Parent hilft da wirklich ungemein :). Dann beruhigt es mich, wenn andere das gleiche auch immer wieder tun (Beziehungsfenster etc.), egal wie lange man das schon macht.
Gruß Andreas