Foxtable(狐表)用户栏目专家坐堂 → 一个非常奇怪的问题


  共有5162人关注过本帖树形打印复制链接

主题:一个非常奇怪的问题

帅哥哟,离线,有人找我吗?
有点甜
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2013/9/24 19:18:00 [显示全部帖子]

 datacolchanged事件,是值已经写进去才触发的,也就是不规则的数据已经被写入了。

 你可以把红色代码放到datacolchanging事件里去,输入不规范的时候,修改e.newvalue的值。


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2013/9/24 20:18:00 [显示全部帖子]

 不可能吧,你执行什么操作崩溃退出的?

 你删除datacolchanged相关的代码,把下面的代码复制到到datacolchanging里去,然后修改表的值,看看效果

If e.DataCol.Name = "产品条码" Then
    Dim lst As new List(Of String)  '清除条码的无效字符
    For i As Integer = 0 To tm.length - 1
        lst.Add(tm.SubString(i,1))
    Next
    If lst.count > 0 Then
        tm = Nothing
        For i As Integer = 0 To lst.count - 1
            If Char.IsLetterOrDigit(lst(i)) Then
                tm = tm & lst(i)
            End If
        Next
        tm = tm.Trim()
        e.newValue = tm
    End If
End If

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2013/9/24 20:40:00 [显示全部帖子]

 上个例子看看,没理由的。可能不是那段代码的问题。

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2013/9/25 21:17:00 [显示全部帖子]

 调试了一下,问题测试出来了,因为你的数据库表的货号有空值 ""。

 任何字符和空值比较都是true  如 msgbox("addddd".StartsWith(""))

 所以你在datacolchanged比较的时候,要多加一个判断。

 或者把sql语句改成 select 货号,产品名称,品牌 From {货品信息} where 货号 is not null
[此贴子已经被作者于2013-9-25 21:19:56编辑过]

 回到顶部