Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Ereignisprozedur um einen Namen zu generieren

Begonnen von dobby110, Januar 16, 2020, 08:39:23

⏪ vorheriges - nächstes ⏩

dobby110

Hallo zusammen,

kann mir jemand bei folgendem Problem helfen?

Ich würde gerne mit Hilfe von Access einen Dateinamen generieren.
Für eine automatisierte Archivierung außerhalb von Access, müssen Dateien in diesem Format abgespeichert werden. D.h. das Formular hat keinerlei Relevanz auf meine Datenbank, es bedient sich lediglich der Daten daraus, um den Dateinamen zur Archivierung zu generieren. Den würde ich dann einfach nur noch kopieren und die Datei entsprechend benennen.

Hierfür habe ich ein Formular gebastelt, welches aus Kombinationsfeldern und Textfeldern besteht. (siehe Screenshot)

Für das Textfeld "Dateiname" habe ich folgende Ereignisprozedur hinterlegt:


Private Sub Text40_GotFocus()
Text40 = Kombinationsfeld4 & "=" & Kombinationsfeld0 & "=" & Kombinationsfeld12 & "=" & Text24 & "=" & Text32
End Sub



Quasi sollen alle Felder in Reihe geschrieben werden und mit einem "=" getrennt werden.
Wenn man sich meinen Screenshot anschaut, dann kann man mein Problem relativ schnell nachvollziehen.

Erwarten würde ich
10441=XF0009935952=CC=Capital Call 2=20.01.2020

ich erhalte aber
6=108=CC=Capital Call 2=20.01.2020

Gibt es eine Lösung, wie ich aus der 6 (was der ID entspricht) die 10441 (XP-Nummer) erhalte und wie ich aus der 108 (was ebenfalls der ID entspricht) die XF0009935952 (ISIN)?

PhilS

Zitat von: dobby110 am Januar 16, 2020, 08:39:23
Gibt es eine Lösung, wie ich aus der 6 (was der ID entspricht) die 10441 (XP-Nummer) erhalte und wie ich aus der 108 (was ebenfalls der ID entspricht) die XF0009935952 (ISIN)?
Die Standardeigenschaft eine Combobox ist Value, welches die gebundene Spalte (=Id) enthält.
Mit der Column-Eigenschaft kannst du auf die anderen Spalten zugreifen

Beispiel:Private Sub Text40_GotFocus()
   Text40 = Me.Kombinationsfeld4.Column(1) & ...
End Sub


Nebenbei: Bitte, bitte, bitte, vergib verständliche Namen für deine Steuerelemente! In wenigen Tagen hast du nicht mehr die geringste Ahnung was "Kombinationsfeld4" in diesem Formular denn genau ist.


PS: Das mit dem Gleichheitszeichen im Dateinamen würde ich nochmal überdenken...
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor

dobby110

Danke für die Hilfe ... die Namen passe ich natürlich noch an.
Das war ein erster Entwurf um zu prüfen ob das überhaupt funktioniert, so wie ich mir das vorstelle.

Das Gleichheitszeichen ist leider notwendig, da ich die einzelnen Kriterien durch ein Sonderzeichen trennen muss, damit die Archivierungslogik unserer IT greift. Da Unterstriche, Bindestriche usw. evtl. in den Dokumentennamen vorkommen können, ist das Gleichheitszeichen das geringste übel um eine strikte Trennung kenntlich zu machen.

Beaker s.a.

Als Trennzeichen verwende ich immer die Pipe |, die wirst du kaum in irgendeinem Text finden.
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)