26. marts 2003 - 09:50Der er
8 kommentarer og 1 løsning
Erstat \"
Hej Eksperter jeg har brugt Terry's søg er stat funktion(nedenfor) og den virker fint blot ikke når jeg skal erstatte tegnet \" (Char(34)). Ligeledes ville det være snedigt hvis funktionen tog højde for evt. tomme tekst felter.
Her er min kode som den ser ud nu :
Public Function erstat(MyStr As String, cIn As String, cOut As String) As String Dim tmpStr As String Dim i As Integer Dim j As Variant Dim test As String
tmpStr = MyStr For i = 1 To Len(tmpStr) j = InStr(i, tmpStr, cIn, vbBinaryCompare) If Not IsNull(j) And j > 0 Then Mid(tmpStr, j) = cOut End If Next i erstat = tmpStr
End Function
Funktionen kaldes fra et query : UPDATE Pakketrans SET Pakketrans.NAVN1 = erstat(NAVN1,"a","1");
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
Public Function mieReplace(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 mieReplace = 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 mieReplace = Streng Else mieReplace = tmpStr End If End Function
Både Replace og mieReplace kan bruges...det kræver at du bruger en lidt sjov syntaks, hvis du gør det direkte i debug-vinduet (f.eks. """" for ant angive ")
Men hvis du bruger den i en forespørgsel eller udelukkende bruger variable, så fungere begge funktioner fint.
>Thomas Ja det virker fint blot ikke med denne " i update queryet: UPDATE Pakketrans SET Pakketrans.NAVN1 = miereplace("NAVN1","""","X"); eller UPDATE Pakketrans SET Pakketrans.NAVN1 = miereplace("NAVN1",chr(34),"X");
Hej Thomas pointene er dine da replace fungerer fint!
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.