Public Function Replace(Streng As String, Find As String, Erstat As String) As String On Error Resume Next Dim Pos As Integer, findpos As Integer Dim tmpStr As String Pos = 1 If Len(Streng) = 0 Then Replace = Streng Exit Function End If tmpStr = Streng Do findpos = InStr(Pos, tmpStr, Find) If findpos <> 0 Then tmpStr = Left(tmpStr, findpos - 1) & Erstat & Mid(tmpStr, findpos + Len(Find)) Pos = Pos Else Pos = Pos + 1 End If Loop Until Pos = Len(Streng) If Err Then Replace = Streng Else Replace = tmpStr End If End Function
Tak for ovenstående men den virker ikke på Replace1(res, ".", ","), hvor res er et decimaltal (jeg har udskiftet stringtypen til variant), men så går det hele ned??
Fejlen på startproblemet var sub/procedure ej defineret!
Funktionen virker ikke fordi den forventer en variabel af typen String (ikke Variant). Du skal bruge en C-funktion, som konverterer tal til "String" , CSng(Single) eller CDbl(Double) for decimaltal. Så vidt jeg erindrer fandtes REPLACE slet ikke i Access97. Access tror derfor du mener en sub/procedure.
Tak for hjælpen! Jeg fik nu funktionen til at virke på både tal og strengudtryk - jeg skulle blot huske at få skiftet alle strings med variant.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.