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


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

主题:关于数据源连接

帅哥哟,离线,有人找我吗?
有点蓝
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | 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)


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


加好友 发短信
等级:四尾狐 帖子:924 积分:6639 威望:0 精华:0 注册:2013/8/10 18:33:00
  发帖心情 Post By:2020/11/23 17:38:00 [只看该作者]

老师,我是前面语句先要出左边一个个号的库存并排序到窗口表TABLE1中?然后再加一个按钮将需要的这样可以生成到窗口表TABLE2中吗?有些语句能大概看明白,有些还没明白。


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  13楼 | 信息 | 搜索 | 邮箱 | 主页 | 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编辑过]

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


加好友 发短信
等级:四尾狐 帖子:924 积分:6639 威望:0 精华:0 注册:2013/8/10 18:33:00
  发帖心情 Post By:2020/12/8 11:13:00 [只看该作者]

老师,上次自己研究出来一个SQL语名可以出来,但是最后太慢卡死了。
您指导的语句中有以下不明白的地方:
Dim p As String = "[a-zA-Z]+" '[^\d+]  这里是为了处理号码号中有字母的问题吗?
Dim rgx = New System.Text.RegularExpressions.Regex(p)  这个也不知道 是做什么用的,

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)   这里新增到一个数据库表中?增加行  DataTables("表").Addnew 的方式
            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)

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  15楼 | 信息 | 搜索 | 邮箱 | 主页 | 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是否一样,第二个是判断号码字母前的内容是否一致

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


加好友 发短信
等级:四尾狐 帖子:924 积分:6639 威望:0 精华:0 注册:2013/8/10 18:33:00
  发帖心情 Post By:2020/12/8 16:28:00 [只看该作者]

老师,试了还没没能明白成功,我做了一个实例,请老师帮看一下怎么改。
实例中有两个表,一个是单张号码表。HMB(已经弄了一些测试数据,实际使用中没有这个表,为是通过SQL查询出来得到的一个查询表),一个要汇总的表,HZB,(实际上是数据库没有建立这个表,直接能查出结果就是了。如果要生成这个表才能处理,增加这么一个表也可以,然后再查询这个表。)
实例中做了一个窗口,请老师帮看看。


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


加好友 发短信
等级:四尾狐 帖子:924 积分:6639 威望:0 精华:0 注册:2013/8/10 18:33:00
  发帖心情 Post By:2020/12/8 16:29:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:管理项目3.rar


老师,试了还没没能明白成功,我做了一个实例,请老师帮看一下怎么改。
实例中有两个表,一个是单张号码表。HMB(已经弄了一些测试数据,实际使用中没有这个表,为是通过SQL查询出来得到的一个查询表),一个要汇总的表,HZB,(实际上是数据库没有建立这个表,直接能查出结果就是了。如果要生成这个表才能处理,增加这么一个表也可以,然后再查询这个表。)
实例中做了一个窗口,请老师帮看看。


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


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

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

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


加好友 发短信
等级:四尾狐 帖子:924 积分:6639 威望:0 精华:0 注册:2013/8/10 18:33:00
  发帖心情 Post By:2020/12/8 17:53:00 [只看该作者]

老师,做成内部表了。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目4.foxdb


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  20楼 | 信息 | 搜索 | 邮箱 | 主页 | 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

 回到顶部
总数 25 上一页 1 2 3 下一页