Foxtable(狐表)用户栏目专家坐堂 → 在保存按钮如何实现在录入或替换窗口时间控间上的时间


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

主题:在保存按钮如何实现在录入或替换窗口时间控间上的时间

美女呀,离线,留言给我吧!
采菊东篱下
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1881 积分:10368 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2020/7/9 11:42:00 [显示全部帖子]

我把代码改成这样,桌号、积分与综合组表都不相符!
        Dim qsmc As WinForm.ComboBox = e.Form.Controls("棋赛名称")
        Dim di1 As String = qsmc.Value
        Dim m As WinForm.TextBox = e.Form.Controls("第几轮")
        Dim di2 As String = m.Value
        Dim bsrq As WinForm.DateTimePicker = e.Form.Controls("rq")
        Dim di3 As Date = bsrq.Value
        Dim fz As WinForm.ComboBox = e.Form.Controls("fenzhu")
        Dim Str As String = fz.Value
        For Each nr As Row In Tables("综合组").Rows
            Dim dr1 As DataRow = DataTables("比赛积分").SQLfind("[棋赛名称] = '" & di1 & "' And [第几轮比赛] = '" & di2 & "' And [分组] = '" & Str & "' And [编号] = '" & nr("红方_编号") & "'")
            If dr1 IsNot Nothing Then
                If di3 <> Nothing Then
                    dr1("日期") = di3
                End If
                If nr("桌号") > 0  Then
                    dr1("桌号") = nr("桌号")
                    dr1("红黑方") = "红方"
                    dr1("积分") = nr("当前局成绩_红方")
                ElseIf nr("桌号") = 0 Then
                    dr1("桌号") = 0
                    dr1("红黑方") = "红方"
                    dr1("积分") = 0
                End If
                If di2 >= 2 Then
                    dr1("本轮止累计积分") = dr1("上轮止累计积分") + dr1("积分")
                    dr1("本次止曾交战对手累计积分") =  dr1("曾交战对手累计积分") + DataTables("比赛积分").SQLCompute("SUM(上轮止累计积分)","[棋赛名称] = '" & di1 & "'And [第几轮比赛] = '" & di2 & "' And [分组] = '" & Str & "' And [排序] = " & dr1("排序") & " And [编号] <> '" & dr1("编号") & "'And [姓名] <> '" & dr1("姓名") & "'")
                End If
                dr1.Save
            End If
            Dim dr2 As DataRow = DataTables("比赛积分").SQLfind("[棋赛名称] = '" & di1 & "' And [第几轮比赛] = '" & di2 & "' And [分组] = '" & Str & "' And [编号]='" & nr("黑方_编号") & "'")
            If dr2 IsNot Nothing Then
                If di3 <> Nothing Then
                    dr2("日期") = di3
                End If
                If nr("桌号") > 0 Then
                    dr2("桌号") = nr("桌号")
                    dr2("红黑方") = "黑方"
                    dr2("积分") = nr("当前局成绩_黑方")
                    ElseIf nr("桌号") = 0 Then
                    dr2("桌号") = 0
                    dr2("红黑方") = "黑方"
                    dr2("积分") = 0
                End If
                If di2 >= 2 Then
                    dr2("本轮止累计积分") = dr2("上轮止累计积分") + dr2("积分")
                    dr2("本次止曾交战对手累计积分") =  dr2("曾交战对手累计积分") + DataTables("比赛积分").SQLCompute("SUM(上轮止累计积分)","[棋赛名称] = '" & di1 & "'And [第几轮比赛] = '" & di2 & "' And [分组] = '" & Str & "' And [排序] = " & dr2("排序") & " And [编号] <> '" & dr2("编号") & "' And [姓名] <> '" & dr2("姓名") & "'")
                End If
                dr2.Save
            End If
        Next
        Dim drs As List(of DataRow) = DataTables("比赛积分").SQLSelect("[棋赛名称] = '" & di1 & "'And [第几轮比赛] = '" & di2 & "' And [分组] = '" & Str & "'","","本轮止累计积分 Desc,本次止曾交战对手累计积分 Desc")
        Dim i1 As Integer = 1
        For n As Integer = 0 To drs.Count - 1 '遍历所有行
            If n > 0 AndAlso drs(n)("本轮止累计积分") = drs(n-1)("本轮止累计积分") AndAlso drs(n)("本次止曾交战对手累计积分") = drs(n-1)("本次止曾交战对手累计积分") Then
                drs(n)("名次") = drs(n-1)("名次")
            Else
                drs(n)("名次") = i1
                i1 + = 1
            End If
        Next
        DataTables("比赛积分").SQLUpdate(drs)
        DataTables("比赛积分").load
[此贴子已经被作者于2020/7/9 12:10:53编辑过]

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  12楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1881 积分:10368 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2020/7/9 14:38:00 [显示全部帖子]

两个保存按钮的代码都一样的,一个数据在综合表显示时保存,一个在查询表里显示时保存,互不干扰的,问题不在这。

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  13楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1881 积分:10368 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2020/7/9 14:42:00 [显示全部帖子]

现在的问题是综合表0桌红方数据引用到比赛积分表的桌号、积分都不为0,不知引用了哪个的数据,引起乱了。

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  14楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1881 积分:10368 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2020/7/9 20:10:00 [显示全部帖子]

搞定,测试过结果没问题了,开心图片点击可在新窗口打开查看
        Dim qsmc As WinForm.ComboBox = e.Form.Controls("棋赛名称")
        Dim di1 As String = qsmc.Value
        Dim m As WinForm.TextBox = e.Form.Controls("第几轮")
        Dim di2 As String = m.Value
        Dim bsrq As WinForm.DateTimePicker = e.Form.Controls("rq")
        Dim di3 As Date = bsrq.Value
        Dim fz As WinForm.ComboBox = e.Form.Controls("fenzhu")
        Dim Str As String = fz.Value
        For Each nr As Row In Tables("综合组").Rows
            Dim dr1 As DataRow = DataTables("比赛积分").SQLfind("[棋赛名称] = '" & di1 & "' And [第几轮比赛] = '" & di2 & "' And [分组] = '" & Str & "' And [编号] = '" & nr("红方_编号") & "'")
            If dr1 IsNot Nothing Then
                If di3 <> Nothing Then
                    dr1("日期") = di3
                End If
                If nr("桌号") > 0  Then
                    dr1("桌号") = nr("桌号")
                    dr1("红黑方") = "红方"
                    dr1("积分") = nr("当前局成绩_红方")
                ElseIf nr("桌号") = 0  And dr1("编号") = nr("红方_编号") Then
                    dr1("桌号") = 0
                    dr1("红黑方") = "红方"
                    dr1("积分") = 0
                End If
                If di2 >= 2 Then
                    dr1("本轮止累计积分") = dr1("上轮止累计积分") + dr1("积分")
                    dr1("本次止曾交战对手累计积分") =  dr1("曾交战对手累计积分") + DataTables("比赛积分").SQLCompute("SUM(上轮止累计积分)","[棋赛名称] = '" & di1 & "'And [第几轮比赛] = '" & di2 & "' And [分组] = '" & Str & "' And [排序] = " & dr1("排序") & " And [编号] <> '" & dr1("编号") & "'And [姓名] <> '" & dr1("姓名") & "'")
                End If
                dr1.Save
            End If
            Dim dr2 As DataRow = DataTables("比赛积分").SQLfind("[棋赛名称] = '" & di1 & "' And [第几轮比赛] = '" & di2 & "' And [分组] = '" & Str & "' And [编号]='" & nr("黑方_编号") & "'")
            If dr2 IsNot Nothing Then
                If di3 <> Nothing Then
                    dr2("日期") = di3
                End If
                If nr("桌号") > 0 Then
                    dr2("桌号") = nr("桌号")
                    dr2("红黑方") = "黑方"
                    dr2("积分") = nr("当前局成绩_黑方")
                    ElseIf nr("桌号") = 0 And dr2("编号") = nr("黑方_编号") Then
                    dr2("桌号") = 0
                    dr2("红黑方") = "黑方"
                    dr2("积分") = 0
                End If
                If di2 >= 2 Then
                    dr2("本轮止累计积分") = dr2("上轮止累计积分") + dr2("积分")
                    dr2("本次止曾交战对手累计积分") =  dr2("曾交战对手累计积分") + DataTables("比赛积分").SQLCompute("SUM(上轮止累计积分)","[棋赛名称] = '" & di1 & "'And [第几轮比赛] = '" & di2 & "' And [分组] = '" & Str & "' And [排序] = " & dr2("排序") & " And [编号] <> '" & dr2("编号") & "' And [姓名] <> '" & dr2("姓名") & "'")
                End If
                dr2.Save
            End If
        Next
        Dim drs As List(of DataRow) = DataTables("比赛积分").SQLSelect("[棋赛名称] = '" & di1 & "'And [第几轮比赛] = '" & di2 & "' And [分组] = '" & Str & "'","","本轮止累计积分 Desc,本次止曾交战对手累计积分 Desc")
        Dim i1 As Integer = 1
        For n As Integer = 0 To drs.Count - 1 '遍历所有行
            If n > 0 AndAlso drs(n)("本轮止累计积分") = drs(n-1)("本轮止累计积分") AndAlso drs(n)("本次止曾交战对手累计积分") = drs(n-1)("本次止曾交战对手累计积分") Then
                drs(n)("名次") = drs(n-1)("名次")
            Else
                drs(n)("名次") = i1
                i1 + = 1
            End If
        Next
        DataTables("比赛积分").SQLUpdate(drs)
        DataTables("比赛积分").load

 回到顶部
总数 15 上一页 1 2