Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: Gockel67 am Mai 15, 2026, 17:49:21

Titel: Programmcode vereinfachen
Beitrag von: Gockel67 am Mai 15, 2026, 17:49:21
Moin Gemeinde,

es geht darum einen Dateinamen zu verändern.Dazu habe ich mir aus verschiedenen Quellen im Internet den Programmcode zusammengesucht.
Der Dateiname steht in einem Textfeld und hat folgendes Muster:

\Anlagen\Karten Bilder\LS 001\LS 001 - 00001.jpg

Die Zahl wird ersetzt und die Dateiendung bleibt erhalten.

Hier jetzt der Code dazu der auch funkitioniert:

Dim QuellText As String
Dim ZielText As String
Dim Suche As Integer
Dim Position As Integer
Dim Ergebnis As String

QuellText = BildpfadNeu
Position = InStrRev(QuellText, ".")
Ergebnis = Mid(QuellText, Position)
Suche = InStr(QuellText, "-") ' Findet die Position des Punktes

ZielText = Left(QuellText, Suche - 1) & "- " & Eingabe & Ergebnis
MsgBox ZielText

 QuellText und Eingabe sind jeweils Textfelder.

Meine Frage: Lässt sich dieser Programmcode vereinfachen?

Wünsche allen ein schönes Wochenende
Jörg
Titel: Re: Programmcode vereinfachen
Beitrag von: Köbi am Mai 15, 2026, 19:24:52
Hallo Jörg
Ich verstehe dein Anliegen nicht ganz. Und ich glaube, der gepostete Code ist nicht vollständig. Kannst du nicht den ganzen Code zeigen?
Und was soll das Ergebnis sein? Eine MsgBox mit dem Zieltext kann ja nicht der Schluss sein.

Gruss, Köbi
Titel: Re: Programmcode vereinfachen
Beitrag von: Gockel67 am Mai 15, 2026, 20:59:45
Hallo Köbi,

doch, das ist der ganze Code der im Klickereignis eines Button steht. Die Zahl im String soll ausgetauscht werden.

Das ist ja vorläufig nur ein Test. Später sollen Daten in einer Tabelle ausgetauscht werden.
Schönes Wochenende
Jörg
Titel: Re: Programmcode vereinfachen
Beitrag von: Debus am Mai 16, 2026, 09:09:21
hallo Jörg,  der Code kann nicht vollständig sein.

Aber Skizziere doch bitte einfach mal Dein komplettes anliegen und nicht jetzt einen Teil, der nachher aber anders sein soll bzw. erweitert.

Sag einfach mal was das Endergebnis sein soll und woher genau welche Daten kommen (für den Namen) und wie er aufgebaut werden soll.

Gruß
Holger
Titel: Re: Programmcode vereinfachen
Beitrag von: Debus am Mai 16, 2026, 10:12:42
Hallo Jörg,
schreibe doch bitte mal in dem Thread  (https://www.access-o-mania.de/forum/index.php?topic=28622.msg169640;topicseen#msg169640) ob der nun erledigt ist.
Weil Du nicht mehr gentwortet hattest ob Du mit den Vorschlägen klar gekommen bist oder ob das auch noch weiterhin eine offene Baustelle ist.



Holger
Titel: Re: Programmcode vereinfachen
Beitrag von: Knobbi38 am Mai 16, 2026, 10:55:58
Hallo Jörg,

wenn die Zahl immer 5-stellig ist, dann könnte man das so machen:
  Dim strEingabe As String
  Dim strFilename As String
  Dim lngPos As Long
 
  Const FNAME As String = "\Anlagen\Karten Bilder\LS 001\LS 001 - 00001.jpg"
  Const FMASK As String = "00000"
     
  strEingabe = "127"
 
  lngPos = InStrRev(FNAME, ".") - Len(FMASK)
  strFilename = FNAME
  Mid$(strFilename, lngPos, Len(FMASK)) = Format$(strEingabe, FMASK)
 
  Debug.Print "[" & strFilename & "]"

Knobbi38
Titel: Re: Programmcode vereinfachen
Beitrag von: Gockel67 am Mai 16, 2026, 10:59:03
Hallo Knobi,

ganz dicken Dank an dich. Ja, die Zahl ist immer 5-Stellig.
Werde deinen Code nachher ausprobieren.

Wünsche allen ein schönes Wochenende
Jörg
Titel: Re: Programmcode vereinfachen
Beitrag von: Gockel67 am Mai 16, 2026, 11:44:21
Hallo Knobi,

hat bestens geklappt. Vielen Dank

Wünsche dir ein schönes Wochenende
Jörg