Dize almak ve boşluklar hariç tüm boşlukları silerek geri döndürmek için bir işlev yazdım. Boşluklar dizenin başında veya sonunda olduğunda veya başka bir alandan önce veya sonra olduğunda, bunlar da silinir.satır sonu ve satır besleme hatası türü uyuşmuyor
Ex."_a_____a", "a_a" haline gelecektir. dize satır başı veya satır feed'li başladığında nedense
UPDATE table1
SET field1 = whitespace(field1)
, ben bir Tür uyumsuzluğu hata alırsınız:
Ben aşağıdaki sorguyu koşuyordu("_" bir alanı temsil) .
Public Function whiteSpace(ByVal field As String) As String
Dim i As Integer
If (IsNull(field)) Then
field = ""
GoTo catchNulls
End If
field = RegexReplace(field, "(?=\s)[^ ]", " ")
field = Trim(field)
field = RegexReplace(field, " +", " ")
catchNulls:
whiteSpace = field
End Function
Function RegexReplace(ByVal text As String, _
ByVal replaceWhat As String, _
ByVal replaceWith As String, _
Optional ByVal ignoreCase As Boolean = False) As String
On Error GoTo catch
Dim RE As Object
Dim str As String
str = Empty
Set RE = CreateObject("vbscript.regexp")
RE.ignoreCase = ignoreCase
RE.pattern = replaceWhat
RE.Global = True
str = RE.Replace(text, replaceWith)
continue:
RegexReplace = str
Exit Function
catch:
Call raiseError(Err.Number, Err.Source, Err.Description)
GoTo continue
End Function
Ben
Public Function whiteSpace(ByVal field As Variant) As String
için
Public Function whiteSpace(ByVal field As String) As String
alışverişi denedim ve hata alamadım ama başı ve satır feed'li alanları aynı kaldı.
yukarı kodunuzu kırın: 1. field1' 'dize değeri elde, 2.' ayarlayarak 3. yazma SQL güncelleme, fonksiyonu üzerinden bu dize değerini manipüle yeni değerle field1 '. – Ambie