以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  关于审核问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=145656)

--  作者:lgz518
--  发布时间:2020/2/3 20:22:00
--  关于审核问题

If User.Group = "经理" Then
    If Tables("订单登记主表").Current.IsNull("反审意见") Then
        Tables("订单登记主表").Current("审核") = Nothing
        Tables("订单登记主表").Current("审核人") = Nothing
        Tables("订单登记主表").Current("审核日期") = Nothing
        Tables("订单登记主表").Current.Save()
    Else
        MessageBox.Show("此行已被批准,不能取消审核!")
    End If
Else
    MessageBox.show("你无取消审核权限!")
End If

问题1:上面代码执行后,审核人,审核日期的值被清空,是正确,但审核没有清空,审核是字符;如何解决?正确是把“审核人,审核日期,审核”的值被清空?
问题2:上面代码是单条操作,我想按条件进行批量操作,如何实现?
问题3:订单登记主表被设定不可编辑,在窗口上,有放一个TextBox1绑定“反审意见”字段,想让TextBox1为可编辑,由此改变绑定字段的内容,找视频和帮助都没找到,答案,请老师帮助,谢谢

--  作者:有点蓝
--  发布时间:2020/2/3 20:35:00
--  
1、代码没有问题,如果没有清空,肯定是有其他代码影响了
3、
方法一、不要设置不可编辑,使用表事件代码控制不可编辑:http://www.foxtable.com/webhelp/topics/0605.htm
二、不要绑定,使用代码给控件赋值和取值,如:表格currentchanged事件给TextBox1赋值反审意见”单元格值;TextBox1的valuechanged事件给表格当前行反审意见”单元格赋值

--  作者:lgz518
--  发布时间:2020/2/5 20:33:00
--  
问题1:检查一下,发现“订单登记主表”中“审核”与“订单登记明细”中“状态”(字符)进行关联,如何改写代码?
问题2:使用select:下面代码没有反应?不执行
Dim drs As List(Of DataRow)
drs = DataTables("订单登记主表").Select("[审核] = \'\'" )
For Each dr As DataRow In drs
    Tables("订单登记主表").Current("审核") = "已审核"
    Tables("订单登记主表").Current("审核人") = User.Name
    Tables("订单登记主表").Current("审核日期") = Date.Today()
    Tables("订单登记主表").Current.Save()
Next

--  作者:lgz518
--  发布时间:2020/2/5 20:38:00
--  
还有问题3:是关联表,在窗体上,正表,没有表格currentchanged事件,无法使用您下面方法:

不要绑定,使用代码给控件赋值和取值,如:表格currentchanged事件给TextBox1赋值反审意见”单元格值;TextBox1的valuechanged事件给表格当前行反审意见”单元格赋值

--  作者:有点蓝
--  发布时间:2020/2/6 11:08:00
--  
问题1:怎么关联的?写了什么代码?
2、
Dim drs As List(Of DataRow)
drs = DataTables("订单登记主表").Select("[审核] = \'\' or [审核]  is null" )
For Each dr As DataRow In drs
    dr("审核") = "已审核"
    dr("审核人") = User.Name
    dr("审核日期") = Date.Today()
    dr.Save()
Next
3、关联表的事件到子表的事件里写
[此贴子已经被作者于2020/2/7 16:31:09编辑过]

--  作者:lgz518
--  发布时间:2020/2/6 16:14:00
--  
问题1:怎么关联的?写了什么代码?
老师,可能我没表达清晰:
问题1:您代码1楼没问题,如果没有清空,肯定是有其他代码影响了,我说我查了,发现我是主表的审核和明细的状态字段进行关联,造成无法清空,后面
提问题是这个问题如何处理,能让它清空,(有方法就是主表的审核和明细的状态字段进行关联,把取消,但这个不是我要),谢谢

If User.Group = "经理" Then
    If Tables("订单登记主表").Current.IsNull("反审意见") Then
        Tables("订单登记主表").Current("审核") = Nothing
        Tables("订单登记主表").Current("审核人") = Nothing
        Tables("订单登记主表").Current("审核日期") = Nothing
        Tables("订单登记主表").Current.Save()
    Else
        MessageBox.Show("此行已被批准,不能取消审核!")
    End If
Else
    MessageBox.show("你无取消审核权限!")
End If

--  作者:有点蓝
--  发布时间:2020/2/6 16:25:00
--  
没搞懂。上传实例说明
--  作者:lgz518
--  发布时间:2020/2/6 18:39:00
--  
老师,我上实例,在窗口上的那样问题?

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:关联演示.foxdb



--  作者:有点蓝
--  发布时间:2020/2/7 9:07:00
--  
不要把审核作为关联列,完全没有必要。

关于父子表的审核处理可以看看:http://www.foxtable.com/webhelp/topics/2649.htm

--  作者:lgz518
--  发布时间:2020/2/7 15:02:00
--  
老师,实例我只是做个例子,主表和明细审核关联,也明细审核我是有做其他用途,所以那样设计.
问题1,单条审核如何实现?
问题2,批量审核如何实现?谢谢