Foxtable(狐表)用户栏目专家坐堂 → [求助]窗口问题,为什么开发者进入窗口统计数据是正确的,普通使用者就是错的?


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

主题:[求助]窗口问题,为什么开发者进入窗口统计数据是正确的,普通使用者就是错的?

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


加好友 发短信
等级:婴狐 帖子:22 积分:234 威望:0 精华:0 注册:2018/12/5 22:42:00
[求助]窗口问题,为什么开发者进入窗口统计数据是正确的,普通使用者就是错的?  发帖心情 Post By:2019/4/16 13:31:00 [显示全部帖子]

窗口中table1 绑定 当日销售统计表, 增加一个button控件(数据统计),代码如下:
For Each wst As DataRow In DataTables("当日销售统计").DataRows  '每次点击控件都将当日销售统计表的每一行删除
wst.delete
Next
Dim rq As Date = Date.Today
'一号销售表
For Each dr As DataRow In DataTables("一号销售表").DataRows
    If dr("日期") = rq Then
        Dim st As DataRow = DataTables("当日销售统计").Find("编号 = '" & dr("编号") & "'")
        If st Is Nothing Then
            Dim r As Row = Tables("当日销售统计").AddNew()
            r("编号") = dr("编号")
            r("销售") = dr("销售")
            For Each sxf As DataRow In DataTables("进出表").DataRows
                If sxf("日期") = rq And sxf("编号") = r("编号") Then
                    r("进项") = r("进项") + sxf("进项")
                    r("出项") = r("出项") + sxf("出项")
                    r("返红") = r("返红") + sxf("返红") 
                End If
            Next            
            r("盈亏") = dr("当笔进出项")
            r("抽成") = dr("抽成")
        Else            
            st("盈亏") = st("盈亏") + dr("当笔进出项") 
            st("抽成") = st("抽成") + dr("抽成") 
        End If 
    End If 
Next 
'二号销售表
For Each dr2 As DataRow In DataTables("二号销售表").DataRows 
    If dr2("日期") = rq Then 
        Dim st2 As DataRow = DataTables("当日销售统计").Find("编号 = '" & dr2("编号") & "'") 
        If st2 Is Nothing Then 
            Dim r2 As Row = Tables("当日销售统计").AddNew() 
            r2("编号") = dr2("编号") 
            r2("销售") = dr2("销售") 
            For Each sxf2 As DataRow In DataTables("进出表").DataRows 
                If sxf2("日期") = rq And sxf2("编号") = r2("编号") Then 
                    r2("进项") = r2("进项") + sxf2("进项")
                    r2("出项") = r2("出项") + sxf2("出项")
                    r2("返红") = r2("返红") + sxf2("返红") 
                End If 
            Next 
           
            r2("盈亏") = dr2("当笔进出项") 
            r2("抽成") = dr2("抽成") 
        Else 
            
            st2("盈亏") = st2("盈亏") + dr2("当笔进出项") 
            st2("抽成") = st2("抽成") + dr2("抽成") 
        End If 
    End If 
Next

经试验,用开发者进入窗口,每次点击数据统计控件,table1中经统计的数是正确的,不会累加;
但是我以其它用户名进入,第一次点击是正确的,但第二次点击控件,table1里面的数据是和第一次点击出现的数累加的.
为什么呢?难不成还能搞区别对待的?
老师们,帮忙看看代码哪里出错了?
[此贴子已经被作者于2019/4/16 13:32:06编辑过]

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


加好友 发短信
等级:婴狐 帖子:22 积分:234 威望:0 精华:0 注册:2018/12/5 22:42:00
  发帖心情 Post By:2019/4/16 14:07:00 [显示全部帖子]

非常抱歉,各位老师,各位看官,是我自己搞错了图片点击可在新窗口打开查看,我之前在BeforeDeletedataRow表事件中写了这个代码:
If User.Name <> "开发者1号" Then
e.Cancel = True
End If
还忘记了.图片点击可在新窗口打开查看,非常非常抱歉,浪费大家时间.

 回到顶部