以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  如何防止别人替换数据  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=42937)

--  作者:lfxxdt
--  发布时间:2013/11/26 16:37:00
--  如何防止别人替换数据
我做了一个管理系统,里面有一个{日报表},日报表里面有一列【工序】名称,不同工序打开本工序时,只加载这个工序的数据,但有时明明数据都录入进去,并且关闭再打开查看,录入的数据都是正确的,可后来再打开的时侯,被其他工序的替换了,并且其它工序录入的数据不见了。这是什么原因,
--  作者:Bin
--  发布时间:2013/11/26 16:40:00
--  
没有例子帮不上忙,如果没有代码或者认为修改,数据是不可能自动变的.
--  作者:lfxxdt
--  发布时间:2013/11/26 16:42:00
--  
这个特意去试的时侯,发现不了问题,录入的数据只有极少部分存在这种情况,其它大部分都很正常
--  作者:Bin
--  发布时间:2013/11/26 16:44:00
--  
重现不了错误,那谁也没办法.  可以肯定的是,要么是代码不妥当更改了数据,要么是人为更改了数据.
--  作者:lfxxdt
--  发布时间:2013/11/26 16:47:00
--  
这是我在日报表上写的代码
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:日报表中代码.txt


--  作者:狐狸爸爸
--  发布时间:2013/11/26 16:48:00
--  
如果涉及到关联,记得选择“同步更新关联数据”这个选项。
--  作者:lfxxdt
--  发布时间:2013/11/26 16:50:00
--  

日报表窗口上添加代码如下:

 

Dim dr As Row
dr = Tables("日报表").AddNew()
dr("工序") = rb
dr("记录人") = _UserName
DataTables("日报表").Save()


--  作者:lfxxdt
--  发布时间:2013/11/26 16:54:00
--  

这个是按照不同工序分别打开各自工序的报表

 

If e.Node.Level = 1 Then
    Dim ps() As String = e.Node.FullPath.Split("\\")
    Dim dr As DataRow = DataTables("部门工段清单").Find("部门 = \'" & ps(0) & "\' And 工序 = \'" & ps(1) & "\'")
    If dr IsNot Nothing And dr("负责人")=_UserName Or _UserIsRole = "管理员" Then
       rb=dr("工序")
       Select dr("部门")
         Case "一工段","二工段","三工段","四工段","五工段","六工段","干压线","动作杆线"
         Forms("日报表").show()
         DataTables("日报表").loadFilter = "工序=  \'" & dr("工序") & "\'and 生产数 Is Null"
         DataTables("日报表").load
         With Tables("日报表")
             .Position = .Rows.Count - 1
         End With
       End Select
    End If
End If


--  作者:有点甜
--  发布时间:2013/11/26 21:57:00
--  
 是否没有保存save,就重新再load了数据?