Foxtable(狐表)用户栏目专家坐堂 → [求助]窗体执行完后自动关闭,是怎么回事?


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

主题:[求助]窗体执行完后自动关闭,是怎么回事?

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


加好友 发短信
等级:一尾狐 帖子:472 积分:4777 威望:0 精华:0 注册:2015/4/30 22:08:00
[求助]窗体执行完后自动关闭,是怎么回事?  发帖心情 Post By:2020/10/6 10:51:00 [只看该作者]

请教老师:在窗体上建立了一个按钮,代码如下,单击后执行没有问题,但窗口执行完后自动关闭,没有关闭窗口的命令,请老师看看代码有什么问题,请指教!
Dim y As Integer = e.Form.Controls("年度").text
Dim m As Integer = e.Form.Controls("月份").text
Dim dt1 As New Date(y, m, 1)
Dim dt2 As New Date(y, m, Date.DaysInMonth(y,m)) '获取该月的最后一天
Dim Filter As String
Filter = "登记日期>= '" & dt1 & "' And 登记日期<= '" & dt2 & "'"
Tables("轧胶绩效_Table1").DataTable.LoadFilter = Filter
Tables("轧胶绩效_Table1").DataTable.Load
Dim dt As DataTable
Dim dtb As New DataTableBuilder("计件工资")
dtb.AddDef("年度", Gettype(String), 16)
dtb.AddDef("月份", Gettype(String), 16)
dtb.AddDef("姓名", Gettype(String), 16)
'dtb.AddDef("登记日期", Gettype(String), 16)
dtb.AddDef("小计", Gettype(Double))
dt = dtb.Build()
Dim lst As New Dictionary(of String ,DataRow) '定义一个字典,用于检索每个员工在统计表中对应的行
For Each dr1 As DataRow In Tables("轧胶绩效_Table1").DataTable.DataRows
    If dr1.IsNull("姓名") = False Then '如果工号列不为空
             Dim nms() As String = dr1("姓名").Split(",") '将工号列内容拆分成数组
        Dim v As Double = dr1("小计") / nms.Length '获得平均之后每个工号的生产数量
        For Each nm As String In nms '遍历参与加工此产品的每个工号
            Dim dr2 As DataRow
            If lst.ContainsKey(nm) '如果集合中包括此工号对应的行
                dr2= lst(nm) '将此行赋值给变量dr2
            Else
                dr2 = dt.AddNew() '否则增加一行.
                dr2("年度") = y
                dr2("月份") = m
                dr2("姓名") = nm '新增行的工号列设置为此工号
                lst.add(nm,dr2) '将新增行添加到字典中,以便接下来检索
            End If
            dr2("小计") = dr2("小计") + v '加上平均后的产量
        Next
    End If
Next
Dim Cols1() As String = {"年度","月份","姓名","小计"}
Dim Cols2() As String = {"年度","月份","姓名","月绩效"}
For Each ddr1 As DataRow In DataTables("计件工资").Select("[小计] > 0")
    Dim ddr2 As DataRow =Tables("轧胶绩效_Table2").DataTable.AddNew()
    For i As Integer = 0 To Cols1.Length -1
        ddr2(Cols2(i)) = ddr1(Cols1(i))
    Next
Next
DataTables("绩效工资").Save()

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


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

检查下表事件,应该是其他事件影响的

 回到顶部