Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: smily68 am Januar 31, 2014, 17:28:26

Titel: markierter Text
Beitrag von: smily68 am Januar 31, 2014, 17:28:26
Hallo

Ich habe in einem Feld mehrere Fils mit ihrem Pfad abgespeichert. Nun möchte ich ein File markieren und dieses mir anzeigen lassen. Doch so wie ich mein Code geschrieben habe funktioniert es nicht.

Im Feld sieht es z.B. so aus:
C:\Temp\Buchungsliste_6_Hotel Maria Königin.pdf;C:\Temp\Buchungsliste_12_Maria Stern des Meeres.pdf

Private Sub cmdAnhangOeffnen_Click()
'Abgespeichertes Dokument öffnen
    Dim strAttach
   
    Me.txtAttach.SetFocus
    strAttach = Me.txtAttach.SelText
    FollowHyperlink "file://" & strAttach

End Sub

Gruss Daniel
Titel: Re: markierter Text
Beitrag von: MzKlMu am Januar 31, 2014, 17:35:37
Und welches von den 2 (oder mehr) PDFs willst Du dann angezeigte haben?
Du triffst ja keine Auswahl.

ZitatIch habe in einem Feld mehrere Fils mit ihrem Pfad abgespeichert.
dass das falsch ist, weist Du?
Hier fehlt noch eine weitere Tabelle in der die Files als einzelen Datensätze gespeichert werden.
Titel: Re: markierter Text
Beitrag von: bahasu am Januar 31, 2014, 17:48:58
Hi,

vielleicht hilft das Beispiel im Anhang
Die von Klaus angesprochene notwendige Auswahl wird durch Ändern des Kombifeldes getroffen, wobei das Ereignis "Nach Aktualisierung" genutzt wird.

Harald

Nachtrag:
Der Hinweis von Klaus, die Daten in einer extra Tabelle zu pflegen, hat viele Vorteile.
Selbst wenn access solche Wertelisten ermöglicht, ist es sinnvoller, diese Angaben in Tabellen zu speichern, da dort diese Daten leichter anpassbar sind.
Selbst bei so scheinbar festen Eigenschaft wie das Geschlecht (männlich, weiblich) ziehe ich es vor, das in einer Tabelle statt in einem Formular zu pflegen, um auf Erweiterungen (z.B. unbekannt, Zwitter ...) leichter reagieren zu können.
Titel: Re: markierter Text
Beitrag von: smily68 am Februar 02, 2014, 14:09:23
Hallo

Ich möchte gerne genauer erklären, was ich eigentlich möchte. In meiner Applikation habe ich eine Mail-Funktion mit dem vbSendMail.dll eingebaut. Ich kann so von einer Adresse aus Mail senden, oder auch individualisierte Sammelmail versenden. Das Feld Me.txtAttach ist das Feld wo ich die einzelnen Fils, die ich am EMail anhängen reinschreibe. Nun möchte ich aber dem User die Möglichkeit geben, dass er das File nochmals öffnen und ansehen kann.

Mit dem Befehl FollowHyperlink "file://" & Me.txtAttach funktioniert dies nur, wenn ich ein File angehängt habe. Der User soll aber die Möglichkeit haben, mehrere Fils anzuhängen.
Ich möchte nun, dass er ein File markiert und das markierte File nochmals ansehen kann.

Wie kann ich das machen?

Gruss Daniel
Titel: Re: markierter Text
Beitrag von: MzKlMu am Februar 02, 2014, 14:47:00
Hallo,
ZitatDer User soll aber die Möglichkeit haben, mehrere Fils anzuhängen.
das darf aber nicht in einem Feld sein, daher ist die vorgeschlagene extra Tabelle erforderlich, in díe Files als jeweils Datensatz abgelegt sind.
Ein Accessfeld darf nicht mehr als Eintrag haben (1.Normalform, atomare Inhalte).
Titel: Re: markierter Text
Beitrag von: database am Februar 02, 2014, 14:48:28
Hallo,

Zitat...Der User soll aber die Möglichkeit haben, mehrere Fils anzuhängen...

Das ist sicher KEINE Problem, wenn du den Vorschlag von MzKlMu beherzigst, die Anhänge in einer eigenen Tabelle zu halten.
So hättest du dann z.B. die Möglichkeit, die Anhänge in einem Listenfeld anzuzeigen - die Auswahl und Weiterverarbeitung eines Eintrags aus dem Listenfeld sollte dann kein all zu großes Problem bereiten.
Titel: Re: markierter Text
Beitrag von: smily68 am Februar 03, 2014, 15:01:12
Hallo

Ich habe nun eure Vorschläge umgesetzt. Ich habe eine temporäre Tabelle erstellt, in welche ich alle Anhänge die ich über den Explorer auswähle als neue Datensätze in die Tabelle schreibe. Auf dem Formular habe ich ein Listenfeld, welches mir alle Einträge aus der Tabelle anzeigt. Wenn ich ein Anhang auswähle, kann ich ihn mit Doppelclick öffnen. Beim Versenden des Mails erstelle ich ein string, welcher ich mit mit einem Loop durch die Tabelle zusammenstelle und gebe in an die Mail Funktion.

Diese Lösung ist nun wirklich gut und komfortabel. Vielen Dank  :)

Gruss Daniel