Foxtable(狐表)用户栏目专家坐堂 → [求助]SQLFind


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

主题:[求助]SQLFind

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


加好友 发短信
等级:一尾狐 帖子:413 积分:3142 威望:0 精华:0 注册:2019/8/12 17:36:00
[求助]SQLFind  发帖心情 Post By:2019/10/10 9:59:00 [显示全部帖子]

使用SQLFind查询,filter设置为 like %通配符可以设置固定匹配5个字符吗

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


加好友 发短信
等级:一尾狐 帖子:413 积分:3142 威望:0 精华:0 注册:2019/8/12 17:36:00
  发帖心情 Post By:2019/10/10 10:22:00 [显示全部帖子]

例如000-000-000-00000  最后五位要自增前面的字段可能不一样  使用like后面一个0没有也会匹配

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


加好友 发短信
等级:一尾狐 帖子:413 积分:3142 威望:0 精华:0 注册:2019/8/12 17:36:00
  发帖心情 Post By:2019/10/10 10:35:00 [显示全部帖子]

可以直接%匹配5个字符吗,因为后面不可能是00000也可能变成00001因为是自增的

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


加好友 发短信
等级:一尾狐 帖子:413 积分:3142 威望:0 精华:0 注册:2019/8/12 17:36:00
  发帖心情 Post By:2019/10/10 11:00:00 [显示全部帖子]

如何让00000 自增且保留前面的0?

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


加好友 发短信
等级:一尾狐 帖子:413 积分:3142 威望:0 精华:0 注册:2019/8/12 17:36:00
  发帖心情 Post By:2019/10/10 11:13:00 [显示全部帖子]

例如数据库查询到的是000-00-00-00000
现在要得到000-00-00-00001

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


加好友 发短信
等级:一尾狐 帖子:413 积分:3142 威望:0 精华:0 注册:2019/8/12 17:36:00
  发帖心情 Post By:2019/10/10 11:14:00 [显示全部帖子]

可是00000 +1 以后就是1了  省略掉了前面的0

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


加好友 发短信
等级:一尾狐 帖子:413 积分:3142 威望:0 精华:0 注册:2019/8/12 17:36:00
  发帖心情 Post By:2019/10/10 11:30:00 [显示全部帖子]

那个问题我解决了
就是现在在表的ChangeEdit事件里面
监听某一行改变,然后到指定位置自动填充,显示没有变化,但是弹出值却是正确的
例如: 输入 000-000-000-的时候自动
判断满足条件然后
e.Row("编号") = "000-000-000-00000"
使用MessageBox可以弹出正确值
但是表格框里面还是显示的000-000-000-
这个怎么解决

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


加好友 发短信
等级:一尾狐 帖子:413 积分:3142 威望:0 精华:0 注册:2019/8/12 17:36:00
  发帖心情 Post By:2019/10/10 13:21:00 [显示全部帖子]

Dim fdr As DataRow = DataTables("编号信息").SQLFind(" 编号 Like '" & e.Text & "%_____'","[_Identify] desc")
                If fdr IsNot Nothing Then
                    Dim num As Integer = fdr("编号").SubString(10,5)
                    Dim lastNum As String =  num + 1
                    Dim linstr As String = ""
                    If Len(lastNum) < 5 Then
                        Dim i As Integer
                        For i =1 To (5 - Len(lastNum))
                            linstr = linstr & "0"
                        Next
                    End If
                    e.Row("编号") = e.Text & linstr & lastNum
                Else
                    e.Row("编号") = e.Text & "00000"
                End If

当编号列的数据达到指定长度以后就执行上面的代码,然后需要给编号列重新赋值,但是不生效,其他列赋值都可以生效


 回到顶部