以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  重复  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=53898)

--  作者:tujiu
--  发布时间:2014/7/17 16:51:00
--  重复

问题截图:

 

可以帮我看一下代码吗?为什么得出的结果是偶数次排序呢?

Dim dr As DataRow
Tables("表A").RepeatFilter("编号", 0)
Dim n As Integer = 50
For Each r As Row In CurrentTable.Rows
dr = DataTables("表A").Find("编号 = \'"& r("编号") &"\'","日期 Desc",0)
dr("编号") = n
n = n + 1
Next


图片点击可在新窗口打开查看此主题相关图片如下:2.jpg
图片点击可在新窗口打开查看


 


图片点击可在新窗口打开查看此主题相关图片如下:1.jpg
图片点击可在新窗口打开查看

--  作者:Bin
--  发布时间:2014/7/17 16:55:00
--  
请问你想实现什么需求?
--  作者:有点甜
--  发布时间:2014/7/17 16:57:00
--  
Dim num As Integer = 50
For Each bh As String In DataTables("表A").GetValues("编号")
    Dim drs As List(Of DataRow) = DataTables("表A").Select("编号 = \'" & val(bh) & "\'", "日期")
    If drs.Count > 1 Then
        For i As Integer = 1 To drs.Count - 1
            drs(i)("编号") = num
            num += 1
        Next
    End If
Next

--  作者:tujiu
--  发布时间:2014/7/17 16:57:00
--  

实现下面的效果:

 


图片点击可在新窗口打开查看此主题相关图片如下:3.jpg
图片点击可在新窗口打开查看

--  作者:有点甜
--  发布时间:2014/7/17 16:57:00
--  
Dim num As Integer = 50
For Each bh As String In DataTables("表A").GetValues("编号")
    Dim drs As List(Of DataRow) = DataTables("表A").Select("编号 = \'" & val(bh) & "\'", "日期")
    If drs.Count > 1 Then
        For i As Integer = 1 To drs.Count - 1
            drs(i)("编号") = num
            num += 1
        Next
    End If
Next

--  作者:tujiu
--  发布时间:2014/7/17 17:00:00
--  
回复5楼,可是主管要求我用 日期 Desc 的方式。也就是说用  dr = DataTables("表A").Find("编号 = \'"& r("编号") &"\'","日期 Desc",0)
来实现。
--  作者:tujiu
--  发布时间:2014/7/17 17:01:00
--  
我就是奇怪,我的代码上写明了 每次是 n+1,可是为什么执行的结果不是按照n + 1的方式呢?
--  作者:Bin
--  发布时间:2014/7/17 17:01:00
--  
Dim num As Integer = 50
For Each bh As String In DataTables("表A").GetValues("编号")
    Dim drs As List(Of DataRow) = DataTables("表A").Select("编号 = \'" & val(bh) & "\'", "日期 Desc")
    If drs.Count > 1 Then
        For i As Integer = 1 To drs.Count - 1
            drs(i)("编号") = num
            num += 1
        Next
    End If
Next