Foxtable(狐表)用户栏目专家坐堂 → 关于数据源连接


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

主题:关于数据源连接

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


加好友 发短信
等级:超级版主 帖子:107846 积分:548581 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/11/19 11:52:00 [显示全部帖子]


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


加好友 发短信
等级:超级版主 帖子:107846 积分:548581 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/11/23 9:56:00 [显示全部帖子]

select hd,min(hm) as 起使号码,max(hm)  as 结束号码,count(hm) as 数量 from {库存表} group by hd

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


加好友 发短信
等级:超级版主 帖子:107846 积分:548581 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/11/23 10:42:00 [显示全部帖子]

这个没有办法使用一条sql搞定。只能加载后遍历所有行逐个判断处理

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


加好友 发短信
等级:超级版主 帖子:107846 积分:548581 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/11/23 10:52:00 [显示全部帖子]

没有资料。把左边表数据导出发上来

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


加好友 发短信
等级:超级版主 帖子:107846 积分:548581 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/11/23 13:40:00 [显示全部帖子]

Dim sum As Integer
Dim fr As String
Dim r,nr As Row
r = Tables("Sheet2").Rows(0)
fr = r("hm")
sum = 1

Dim p As String = "[a-zA-Z]+" '[^\d+]
Dim rgx = New System.Text.RegularExpressions.Regex(p)
Dim srr() As String
Dim a1,a2 As String
Dim n1,n2 As String

For i As Integer = 1 To Tables("Sheet2").Rows.Count - 1
    r = Tables("Sheet2").Rows(i-1)
    nr = Tables("Sheet2").Rows(i)
    If r("hd") = nr("hd")
        a1 = r("hm")
        srr = rgx.Split(a1)
        n1 = srr(srr.Length - 1)
        a1 = a1.Substring(0,a1.Length - n1.Length)
        
        a2 = nr("hm")
        srr = rgx.Split(a2)
        n2 = srr(srr.Length - 1)
        a2 = a2.Substring(0,a2.Length - n2.Length)
        If a1 = a2 AndAlso CLng(n1) + 1 = CLng(n2) Then
            sum+=1
        Else
            Output.Show(r("hd") & "," & fr & "-" & r("hm") & "," & sum)
            r = nr
            fr = r("hm")
            sum = 1
        End If
    Else
        Output.Show(r("hd") & "," & fr & "-" & r("hm") & "," & sum)
        r = nr
        fr = r("hm")
        sum = 1
    End If
Next
r = nr
Output.Show(r("hd") & "," & fr & "-" & r("hm") & "," & sum)


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


加好友 发短信
等级:超级版主 帖子:107846 积分:548581 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/11/23 20:36:00 [显示全部帖子]

Output.Show改为保存到表格即可。

具体那些不明白请指出。就一句不明白我也不明白到底什么地方不明白?
[此贴子已经被作者于2020/11/23 20:37:11编辑过]

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


加好友 发短信
等级:超级版主 帖子:107846 积分:548581 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/12/8 11:48:00 [显示全部帖子]

1、System.Text.RegularExpressions.Regex属于正则表达式,用于提取号码里字母后面的数字,只有数字才可以按序号处理。

2、对的。addnew新增一行然后给行赋值

3、属于不同的判断,注意上面的if条件,第一个if是判断hd是否一样,第二个是判断号码字母前的内容是否一致

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


加好友 发短信
等级:超级版主 帖子:107846 积分:548581 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/12/8 16:57:00 [显示全部帖子]

现在用不了数据库。请把这个2个表导入为内部表发上来

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


加好友 发短信
等级:超级版主 帖子:107846 积分:548581 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/12/8 20:10:00 [显示全部帖子]

就是11楼的代码啊。

把Output.Show(r("hd") & "," & fr & "-" & r("hm") & "," & sum)

改为新增表格数据即可
dim nr2 = Tables("HZB").AddNew
nr2("HD") = r("hd")
nr2("qshm") = fr
nr2("jshm") = r("hm")
nr2("zs") = sum

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


加好友 发短信
等级:超级版主 帖子:107846 积分:548581 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/12/8 22:21:00 [显示全部帖子]

请上传有问题的实例测试

 回到顶部
总数 12 1 2 下一页