以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  excel导入数据后的问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=101210)

--  作者:newsun2k
--  发布时间:2017/5/26 16:37:00
--  excel导入数据后的问题
EXCEL导入数据后,有个字段有个类似全角空格
\'1300334565 \',用replace也去不掉,
在sql中,用 = \'1300334565 \'检索不出来(值是直接从EXCEL中复制过来的)。
只能用like \'1300334565%\'才能检索出来。
怎么办?
求大神指导。


--  作者:有点蓝
--  发布时间:2017/5/26 17:46:00
--  
用代码检测一下

Dim s As String = Tables("表A").Current("第二列")
Dim c As Integer = Asc(s(s.Length - 1))
Output.Show(c)
Output.Show(chr(c))
Tables("表A").Current("第二列") = s.Replace(chr(c),"")

--  作者:newsun2k
--  发布时间:2017/5/27 11:53:00
--  
嗯嗯,查出来 是chr(63).
直接执行  upd ate  表1 set 第一列 = replace(第一列,char(63),\'\')
好像不行啊。还在

--  作者:有点蓝
--  发布时间:2017/5/27 12:19:00
--  
For Each r As Row In Tables("表A").Rows
    If r.IsNull("第一列") = False
        r("第一列") = r("第一列").replace(chr(63),"")
    End If
Next

--  作者:newsun2k
--  发布时间:2017/5/27 14:10:00
--  
实在搞不定啊。
贴出来显示是空格。
sql,foxtable都试过了。
excel里面替换也不行
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:book1.xls

--  作者:newsun2k
--  发布时间:2017/5/27 14:12:00
--  
excel里面可以了,导进去就不行了。
--  作者:wyz20130512
--  发布时间:2017/5/27 14:30:00
--  
4楼方法应该可以呀!!
--  作者:newsun2k
--  发布时间:2017/5/27 15:35:00
--  
你可以试试
--  作者:有点蓝
--  发布时间:2017/5/27 15:41:00
--  
Dim s As String = Tables("Sheet1").Current("B")
s = s(s.Length - 1)
If Asc(s) = 63 Then
    For Each r As Row In Tables("Sheet1").Rows
        If r.IsNull("B") = False
            Dim s1 As String = r("B")
            r("B") = s1.replace(s,"")
        End If
    Next
End If


--  作者:newsun2k
--  发布时间:2017/5/27 17:27:00
--  
我放到excel里面执行:

Sub abc()
Dim s As String
s = Worksheets("Sheet1").Cells(1, 1).Value
Dim c As Integer
c = Asc(Right(s, 1))
MsgBox c           \'63
Worksheets("Sheet1").Cells(2, 1).Value = Replace(s, Chr(63), "a")
End Sub
也不行。
奇怪啊。

你上面的代码,我改成:
For Each r As Row In Tables("表a").Rows
    Dim s As String = r("第一列")
    s = s(s.Length - 1)
    If Asc(s) = 63 Then
        Dim s1 As String = r("第一列")
        r("第一列") = s1.replace(s,"")
        r.save
    End If  
Next
应该是一样的,不知道起作用不,希望管用。