Liebe Forum-Gemeinde,
Ich habe eine Reihe von Dateien, die nach dem Schema xxxxx-xx.pdf benannt sind. Das sind Nummern mit Unternummern wie "12345/67", die wegen der fehlenden Möglichkeit, das Zeichen "/" in den Dateinamen zu schreiben, so benannt wurden.
For Each FI In FO.Files
Datei = FI.Name
DateiTyp = Right(Datei, InStr(1, StrReverse(Datei), ".") - 1)
DateiName = Left(Datei, InStr(1, Datei, ".") - 1)
If DateiTyp = "pdf" Then
SubNumber = Right(DateiName, InStr(1, StrReverse(DateiName), "-") - 1)
WholePath = "#" & pfad & "\" & Datei & "#"
PosOfUnderline = InStr(1, StrReverse(DateiName), "_")
location = Right(pfad, InStr(1, StrReverse(pfad), "\") - 1)
location = Replace(location, "-", " ")
If PosOfUnderline > 0 Then
'Dateiname der Form IP_xxxxxx-xx: IP_ ausschneiden
DateiNameOhneIP = Right(DateiName, InStr(1, StrReverse(DateiName), "_") - 1)
'jetzt in diesem String alles vor "-" zur Nummer machen
Number = Left(DateiNameOhneIP, InStr(1, DateiNameOhneIP, "-") - 1)
Else
'in DateiName alles vor "-" zur Nummer machen
Number = Left(DateiName, InStr(1, DateiName, "-") - 1)
'hier sollte eigentlich einfach das - durch / ausgetauscht werden
'stattdessen musste ich ein zusätzliches Feld "IP_Subnummer" einfügen und füllen
End If
'SQL-Anweisung zusammenbasteln
SQL_Statement = "INSERT INTO InspectionProtokoll (IP_Number,IP_Subnummer,Datei,Ort) VALUES (" & Number & _
", " & SubNumber & ", '" & WholePath & "','" & location & "')"
DoCmd.SetWarnings True
DoCmd.RunSQL SQL_Statement
End If
Next
Die Zahlen xxxxx und xx sollen in einen String geschrieben werden, der nach dem Schema xxxxx/xx aufgebaut ist und in ein Datenfeld des Typs string geschrieben werden. Wenn ich versuche, mit Replace() das Zeichen '-' durch '/' zu ersetzen, schreibt Access das Ergebnis Division in das Feld. Das gleiche Ergebnis erhalte ich, wenn ich die Strings mit dem &-Operator verkette und auch der Versuch, die Strings explizit mit CStr zu casten, hat nichts gebracht.
Was kann ich tun, um einen String wie "12345/67" in ein Textfeld zu bekommen?
|