2daBeat Geschrieben 21. Oktober 2003 Geschrieben 21. Oktober 2003 Hallo alle zusammen, ich speichere in einer variable folgenden string : \\sntko4\gte\gtewrk\hsd-cd\S513792-1.jpg. Meine frage ist wie kann ich den string so formatieren das in der variable nach her nur der reine Dateinane steht? in diesem Fall z.b. S513792-1.jpg. Der Dateiname ist manchmal unterschiedlich lang, also hat mir "Right" hier nicht weitergeholfen. Hat da jemand ein tip für mich? Danke im vorraus! p.s. arbeite mit VBA unter Access 97 Grüße 2daBeat
Reinhold Geschrieben 21. Oktober 2003 Geschrieben 21. Oktober 2003 http://www.donkarl.com/FAQ/FAQ2Allgemein.htm#2.5
g_nikolai Geschrieben 22. Oktober 2003 Geschrieben 22. Oktober 2003 du könntest die Funktion Split nutzen um dir eine Array zuerstellen und dann den letzten Eintrag einfach rausholen aus diesem Array. am besten in eine Funktion packen, der Du den Pfad übergibst Guido
Leominora Geschrieben 22. Oktober 2003 Geschrieben 22. Oktober 2003 schau dir mal die Funktion ReInstr() an, könnte dir glaub ich helfen
Blondi Geschrieben 22. Oktober 2003 Geschrieben 22. Oktober 2003 dim i as integer, j as integer do while i<>0 j=i i=instr(i+1,string,"\",3) loop 'j ist jetz die Position des letzten "\" --> ergebnis=right(string,j+1) Vorsicht: Nicht getestet!!!!!!
-roTekuGeL- Geschrieben 22. Oktober 2003 Geschrieben 22. Oktober 2003 Original geschrieben von Blondi dim i as integer, j as integer do while i<>0 j=i i=instr(i+1,string,"\",3) loop 'j ist jetz die Position des letzten "\" --> ergebnis=right(string,j+1) Vorsicht: Nicht getestet!!!!!! wunderbares beispeil für ne endlosschleife ist zwar n bissl viel code, erfüllt aber seinen Zweck Public Function CSVread(strInput As String, intPos As Integer, strby As String) As String Dim strCSVInput As String Dim strTemp As String Dim intTempPos As Integer Dim intLoopCount As Integer strCSVInput = strInput intLoopCount = 1 If intPos = 1 Then intTempPos = (InStr(1, strCSVInput, strby) - 1) strTemp = Left(strCSVInput, intTempPos) ElseIf intPos > 1 Then Do intTempPos = (Len(strCSVInput) - InStr(1, strCSVInput, strby)) strCSVInput = Right(strCSVInput, intTempPos) intLoopCount = intLoopCount + 1 Loop While intLoopCount < intPos intTempPos = (InStr(1, strCSVInput, strby) - 1) If intTempPos > 0 Then strTemp = Left(strCSVInput, intTempPos) Else strTemp = strCSVInput End If Else MsgBox "Error can't find Pos " & intPos Exit Function End If CSVread = strTemp End Function Private Sub Form_Load() MsgBox CSVread("\\sntko4\gte\gtewrk\hsd-cd\S513792-1.jpg", 100, "\") End End Sub
Blondi Geschrieben 22. Oktober 2003 Geschrieben 22. Oktober 2003 Original geschrieben von |roTekuGeL| wunderbares beispeil für ne endlosschleife Wieso Endlosschleife??? Wenn instr nichts findet, dann wird 0 zurückgegeben!!
2daBeat Geschrieben 22. Oktober 2003 Autor Geschrieben 22. Oktober 2003 Hallo alle zusammen, erstmal danke für eure beiträge. Durch ein tip eines Arbeitskollegen habe ich das problem mit der Funktion InStrRev () gelöst. War zwar ein wenig umständlich da diese Funktion erst ab a00 zur Verfügung steht, ich hatte aber ein Modul, die diese Funktion auch in a97 ermöglicht. gruss 2 da Beat
-roTekuGeL- Geschrieben 22. Oktober 2003 Geschrieben 22. Oktober 2003 Original geschrieben von Blondi Wieso Endlosschleife??? Wenn instr nichts findet, dann wird 0 zurückgegeben!! *grrrr* nach reiflicher überlegung bin ich wieder einmal zum schluss gekommen das ich im unrecht bin... aber ein kleines fehlerchen ist trotzdem drin, Vergleich nr. 3 gibts es nicht nichts desto trotz: Cuiusvis hominis est errare, nullius nisi insipientis in errore perseverare
Blondi Geschrieben 22. Oktober 2003 Geschrieben 22. Oktober 2003 Na ok. Sollte eigentlich vbTextCompare heißen. Edit: Müsste dann 1 sein
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden