Servus, bin neu hier und Access Newby
das Thema ist super gelöst, danke dafür. Eine Frage noch weiss jemand wie die Syntax aussehen muß das der in das Feld Dokumentenlink geschriebene Link auch anklickbar ist?
Me.DokumentenLink = "Z:\Dokumente\Kunde\" & Me!KundeNr & "-" & Me!Beschreibung & "-" & Me!Datum
bei mir ist das betreffende Feld ein Hyperlink, um diese mit Access anklickbar zu machen muß vorne und hinten ein # stehen. Wie geht das in diesem Code?
Danke vorab
Don
Bitte nicht einfach an alte Themen anhängen. Es ist ja eine andere Frage und hat mit Ordner erstellen nichts zu tun. Ich habe daher das Thema getrennt und einen neuen Beitrag gemacht. MzKlMu
Hallo,
ich würde auf keinen Fall ein Hyperlinkfeld verwenden, braucht man auch nicht. DAs geht mit einem ganz normalen Textfeld viel einfacher.
Application.FollowHyperlink "Z:\Dokumente\Kunde\" & Me.KundeNr & "-" & Me.Beschreibung & "-" & Me.Datum
Noch mal der Hinweis, trotz FollowHyperlink ist das kein Hyperlinkfeld.
Hallo,
vielen Dank schonmal, an welche Stelle genau kommt der Code. Muß etwas ersetzt werden oder einfach dazu? So siehts bei mir jetzt aus:
Private Sub Ordner_erstellen_Click()
Dim Beschreibung As String
If Dir("Z:\Dokumente\Kunde\" & Me!KundeNr & "_" & Me!Beschreibung & "_" & Me!Datum, vbDirectory) = "" Then
MkDir "Z:\Dokumente\Kunde\" & Me!KundeNr & "_" & Me!Beschreibung & "_" & Me!Datum
Me.DokumentenLink = "Z:\Dokumente\Kunde\" & Me!KundeNr & "-" & Me!Beschreibung & "-" & Me!Datum
End If
End Sub
Warum würdest Du das Textfeld dem Hyperlink bevorzugen?
DAnke Don
Hallo,
der gezeigte Code ist ewas eigenartig.
Du legst mit MkDir ein neues Verzeichnis an. Das ist ja dann leer, da ist noch kein Dikument drin. Was willst Du dann öffnen ? Das Dokument müsste ja erst mal in dieses Verzeichnis kopiert werden. Wahrscheinlich muss das Dokument aber erst mal erzeugt werden.
Dem Feld DokumentenLink weist Du dann einen Text zu den es gar nict gibt. Hier verwendest Du den Bindestrich (-) statt des Unterstrichs (_). Kannst Du das mal genauer erklären. Wo kommt denn das Dokument her, das Du anzeigen willst ?
Zitat von: undefinedWarum würdest Du das Textfeld dem Hyperlink bevorzugen?
Ein Textfeld ist ein Feld, ein Hyperlinkfeld sind 2 Inhalte in einem Feld, da gibt es den eigentlichen Link und dann noch die Beschreibung. Das ist aufwendiger in der Handhabung.
Zitat von: MzKlMu am Juli 18, 2022, 10:59:00Ein Textfeld ist ein Feld, ein Hyperlinkfeld sind 2 Inhalte in einem Feld, da gibt es den eigentlichen Link und dann noch die Beschreibung. Das ist aufwendiger in der Handhabung.
Es sind sogar bis zu 4 Inhalte in einem Feld: Adresse, Unteradresse, Anzeigetext und Tooltip.
Bei manchen Konstellationen kann selbst die eingebaute Funktionalität für Hyperlink-Felder (z.B.
HyperlinkPart (https://docs.microsoft.com/en-us/office/vba/api/access.application.hyperlinkpart)) diese Einzelkomponenten nicht sauber auseinanderhalten.
Siehe auch: Issues with the Hyperlink data type in Microsoft Access (https://codekabinett.com/rdumps.php?Lang=2&targetDoc=access-hyperlink-data-type) (Englisch)
Hallo,
den Code habe ich aus dem Thread "Ordner aus Access erstellen"
https://www.access-o-mania.de/forum/index.php?topic=24027.0
Es geht mir darum einen Ordner zu erzeugen, der auf Feldnamen der Tabelle basiert. Der Ornderlink (anklickbar) soll in einem anderen Feld eingetragen werden, befüllen will ich ihn dann manuell. Der - sollte natürlich ein _ sein.
Mit dem Code funktioniert es auch soweit, der Ordner wird korrekt erzeugt, der Link eingetragen. Einziges Problem ist, daß der link nicht klickbar ist.
Danke
Don
Hallo,
versuche es einfach mal so:
Private Sub Ordner_erstellen_Click()
Dim Beschreibung As String
If Dir("Z:\Dokumente\Kunde\" & Me!KundeNr & "_" & Me!Beschreibung & "_" & Me!Datum, vbDirectory) = "" Then
MkDir "Z:\Dokumente\Kunde\" & Me!KundeNr & "_" & Me!Beschreibung & "_" & Me!Datum
Me.DokumentenLink = "Z:\Dokumente\Kunde\" & Me!KundeNr & "_" & Me!Beschreibung & "_" & Me!Datum
Application.FollowHyperlink Me.DokumentenLink
End If
End Sub
Da wird der Ordner nach dem Erstellen sofort geöffnet.
Im Ereignis "Beim Doppelklicken" kannst Du dann den Einzeiler unterbringen.
Application.FollowHyperlink Me.DokumentenLink
Das Feld ist ohne Code nicht klickbar.
PS:
Bitte verwende für Codedarstellungen die Codetags des Forums. Siehe Bild.
Und Einrückungen machen den Code auch lesbarer.
Hallo Klaus,
top so funktionierts. Vielen Dank
VG Don
Hallo zusammmen,
ich hätte noch eine weitere Frage: Dasselbe müßte ja auch mit Txt Files gehen, also Erzeugen eines txt Files mit dem Inhalt bestimmter Felder in einem vorhandenen Ordner.
Wäre jemand so freundlich und würde dazu mal einen Code Vorschlag posten,
Danke Don
Zitat von: Don am Juli 26, 2022, 13:42:07Dasselbe müßte ja auch mit Txt Files gehen, also Erzeugen eines txt Files mit dem Inhalt bestimmter Felder in einem vorhandenen Ordner.
Ja, klar, das geht schon.
Für Datenexporte in Textdateien verwendet man üblicherweise die DoCmd.TransferText-Methode (https://docs.microsoft.com/en-us/office/vba/api/access.docmd.transfertext), die eine tabellenartig strukturiere Datei erzeugt. Mehr Kontrolle über die Struktur der Datei hat man, wenn man die Daten selbst mit dem Print Statement (https://docs.microsoft.com/en-us/office/vba/language/reference/user-interface-help/printstatement) in die Datei schreibt.
Welcher Ansatz für dich passt ist aus deiner Frage bisher nicht ersichtlich.
Du solltest am besten erstmal selbst versuchen, eine Lösung für dein Problem zu finden bzw. zu entwickeln und dann hier nachfragen, wenn du nicht weiterkommst. Pauschal nach Lösungsvorschlägen zu fragen, ohne eigenes Input zu zeigen löst hier meist nicht die größte Begeisterung aus.