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


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

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

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


加好友 发短信
等级:八尾狐 帖子:1881 积分:10368 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2020/7/2 20:28: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 dr As DataRow = DataTables("比赛积分").SQLfind("[棋赛名称] = '" & di1 & "' And [第几轮比赛] = '" & di2 & "' And [分组] = '" & Str & "' And [编号] = '" & nr("红方_编号") & "'")
            If di3 <> Nothing Then
                dr("日期") = di3
            End If
            If dr IsNot Nothing Then
                dr("桌号") = nr("桌号")
                dr("红黑方") = "红方"
                dr("积分") = nr("当前局成绩_红方")
                dr.Save
            End If
            dr = DataTables("比赛积分").SQLfind("[棋赛名称] = '" & di1 & "' And [第几轮比赛] = '" & di2 & "' And [分组] = '" & Str & "' And [编号]='" & nr("黑方_编号") & "'")
            If dr IsNot Nothing Then
                dr("桌号") = nr("桌号")
                dr("红黑方") = "黑方"
                dr("积分") = nr("当前局成绩_黑方")
                dr.Save
            End If
        Next
[此贴子已经被作者于2020/7/2 20:29:39编辑过]

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


加好友 发短信
等级:超级版主 帖子:106209 积分:540168 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/7/2 20:31:00 [只看该作者]

那就补上。程序运行往往未必和表面看到的结果一致

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


加好友 发短信
等级:八尾狐 帖子:1881 积分:10368 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2020/7/2 20:34:00 [只看该作者]

补了,还报错,应怎么改?

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


加好友 发短信
等级:超级版主 帖子:106209 积分:540168 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/7/2 20:35:00 [只看该作者]

看哪一句代码出错:http://www.foxtable.com/webhelp/topics/1485.htm

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


加好友 发短信
等级:八尾狐 帖子:1881 积分:10368 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2020/7/2 20:59: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 dr As DataRow = DataTables("比赛积分").SQLfind("[棋赛名称] = '" & di1 & "' And [第几轮比赛] = '" & di2 & "' And [分组] = '" & Str & "' And [编号] = '" & nr("红方_编号") & "'")
            If di3 <> Nothing Then
                dr("日期") = di3
            End If
            If dr IsNot Nothing Then
                dr("桌号") = nr("桌号")
                dr("红黑方") = "红方"
                dr("积分") = nr("当前局成绩_红方")
                dr.Save
            End If
            dr = DataTables("比赛积分").SQLfind("[棋赛名称] = '" & di1 & "' And [第几轮比赛] = '" & di2 & "' And [分组] = '" & Str & "' And [编号]='" & nr("黑方_编号") & "'")
            If di3 <> Nothing Then
                dr("日期") = di3
            End If
            If dr IsNot Nothing Then
                dr("桌号") = nr("桌号")
                dr("红黑方") = "黑方"
                dr("积分") = nr("当前局成绩_黑方")
                dr.Save
            End If
        Next
        DataTables("比赛积分").load

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


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

都已经使用了,再判断有什么用
            If dr IsNot Nothing Then
           If di3 <> Nothing Then
                dr("日期") = di3
            End If

                dr("桌号") = nr("桌号")
                dr("红黑方") = "红方"
                dr("积分") = nr("当前局成绩_红方")
                dr.Save
            End If

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


加好友 发短信
等级:八尾狐 帖子:1881 积分:10368 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2020/7/8 20:51:00 [只看该作者]


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

图片点击可在新窗口打开查看此主题相关图片如下:qq图片20200708204313.png
图片点击可在新窗口打开查看
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:象棋排赛(下载).foxdb

密码:888888
    对阵表窗口中的综合组保存代码遇到第3轮0桌数据,综合组表数据是正确的,但保存到比赛积表分,0桌的积分和桌号都不是综合表上的数据,全乱了,请教如何补漏这洞?
        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
                dr1("桌号") = nr("桌号")
                dr1("红黑方") = "红方"
                dr1("积分") = nr("当前局成绩_红方")
                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
                dr2("桌号") = nr("桌号")
                dr2("红黑方") = "黑方"
                dr2("积分") = nr("当前局成绩_黑方")
                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


 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  18楼 | 信息 | 搜索 | 邮箱 | 主页 | 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编辑过]

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


加好友 发短信
等级:超级版主 帖子:106209 积分:540168 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/7/9 14:22:00 [只看该作者]

同事件其它代码影响,有2段【 Case "保存"】

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


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

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

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