Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

[5分]如何在进销存中实现审核功能

史发亮  发表于:2010-06-15 17:08:54  
复制

如何在进销存中实现审核功能,也就是说,先由仓管员作帐,保存;之后,再由仓库主管审核,经审核后的单据,仓管员不能修改;只有仓库主管弃审后,仓管员才可以,修改单据。

 

Top
煮江品茶 发表于:2010-06-15 17:12:32
数据表中加几个状态栏字段(逻辑型)即可。

朱维强 发表于:2010-06-19 11:42:37

在数据表中加入一栏“批核”(类型:是否),主管批核后,批核栏为是,反批后或没批,为否,仓管员每次修改前,代码先判断“批核”栏为“是”还是“否”,如果为“是”则不能修改。



樱花 发表于:2010-06-22 17:24:46

同意楼上的观点



木子 发表于:2010-07-17 09:27:22
同意二楼的方法

hjs 发表于:2010-07-17 12:05:09
在数据表中加入一栏“状态”(类型:字段),主管批核后,批核栏为1,反批后或没批,为0,仓管员每次修改前,代码先判断“状态”栏为“1”还是“0”,如果为“1”则不能修改。当然还可以增加几个审核人,状态也可以多样化,0.1.2.3...

whyg519 发表于:2010-07-17 23:05:09

是\否字段就可以了

 



小胡 发表于:2010-07-19 21:05:50
2楼的方法应该行得通的,最好是将例子上传

千与千寻 发表于:2010-08-08 10:20:52

我最近也在研究这个,你可以看下这个例子,有不懂的我们可以再切磋一下

点击下载此附件

jia 发表于:2010-09-05 14:43:03
你看这种方法行不行:仓管员作帐、保存;之后。转入审核窗口中,如审核不能通过返回本窗口中。审核窗口中由主管审核人用密码进入,仓管员能看。如果可行就作个事例。

太溪 发表于:2010-09-18 01:09:48

全面解决方案:权限控制加审核分级控制

 

第一步:窗体原设计时或窗体加载事件中,先全面锁定窗体,禁止编辑数据。

第二步:窗体原设计时,加入权限控制按钮,只有相应权限的人,才能使用点击“查看全部单”、“反审核”两个按钮。

第三步:使用中根据权限,点击“编辑”按钮进行编辑。其中,还同时根据审核情况判断编辑许可。

 

Private Sub Cmd编辑_Click()
    If Me.审核 = True Then Exit Sub
    Me.AllowEdits = IIf(审核 = True, False, blnAllowEdits)  'blnAllowEdits为编辑许可权限变量。当审核后一般编辑人员都无法再编辑。除非管理员反审核后。
    Me.AllowDeletions = blnAllowDeletions
    Me.AllowAdditions = True
   
    Me.fsbWLK.Form.AllowEdits = IIf(审核 = True, False, blnAllowEdits)
    Me.fsbWLK.Form.AllowDeletions = blnAllowDeletions
    Me.fsbWLK.Form.AllowAdditions = True

    Cmd请购单入.Enabled = True
    Cmd报销单入.Enabled = True
    CmdExcel入.Enabled = True
    Me.Requery   
End Sub

Private Sub Lockfrm()
        If Me.NewRecord Then Exit Sub

        Cmd请购单入.Enabled = False
        Cmd报销单入.Enabled = False
        CmdExcel入.Enabled = False
        Me.AllowEdits = False
        Me.AllowDeletions = False
        Me.AllowAdditions = False
   
        Me.fsbWLK.Form.AllowEdits = False
        Me.fsbWLK.Form.AllowDeletions = False
        Me.fsbWLK.Form.AllowAdditions = False

End Sub

第四步:有权限的点击“查看全部单”后取消筛选,显示导航按钮并可翻页查看全部记录,当翻页时,重新锁定窗体。

Private Sub Form_Current()
If Me.Recordset.RecordCount > 1 Then

    If Me.入库单ID <> Me.RecordsetClone!入库单ID Then    

        Call Lockfrm
    End If
End If
End Sub

第五步:具有“反审核”按钮权限的人(如管理员)可操作取消“审核”,开放对一般编辑人员再次编辑。



Bio_hebei 发表于:2010-09-28 12:21:28

正好我用到过这个审核,我的办法如下:

一,我比较懒,所以用更新查询的方式,按月审批,看完一个月没问题了,把那月的审核字段全部更新为是(是\否类型)

二,修改时,用代码做成:其它人等打开时,审核框不显示,但可以修改,只是别人修改后,审核字段自动填成否,随后审核时我单独在修改窗体审核它(打上勾)

三,当然,也可以在代码中搞成打了勾的不让别人改与删



巴士岁月 发表于:2010-11-19 16:20:49

赞同品茶兄的说法



宋青 发表于:2010-11-30 09:29:09
我也是按朱维强兄的方法做的

Peterzeng 发表于:2010-12-20 13:02:32

我觉得五楼的方法比较好,当有多层次审核时,上面的方法比较简单.一个数值代表一种状态或者说一个审核层次.



总记录:14篇  页次:1/1 9 1 :