Foxtable(狐表)用户栏目专家坐堂 → 请教老师,如何实现申请表被处理后进行标记


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

主题:请教老师,如何实现申请表被处理后进行标记

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


加好友 发短信
等级:小狐 帖子:366 积分:3522 威望:0 精华:0 注册:2016/5/25 21:31:00
请教老师,如何实现申请表被处理后进行标记  发帖心情 Post By:2017/4/27 16:53:00 [只看该作者]

有包材申请明细表,合同明细表,并做关联
要实现包材申请表的项目添加到合同明细表后,在包材申请表的列是否采购显示为true

代码如下,写在PositionChanged中,
If Tables("包材申请明细表.合同明细表").Rows.Count > 0 Then
Tables("包材申请明细表").Current("是否采购") = True
Else 
Tables("包材申请明细表").Current("是否采购") = False
End If

现在包材申请明细表的内容添加后,要逐行点一次,“是否采购”才会显示结果,这样不具操作,
加在CurrentChanged,窗体AfterLoad,按钮后面都不行,请老师如何解决
[此贴子已经被作者于2017/4/27 17:00:33编辑过]

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/4/27 16:56:00 [只看该作者]

 你的逻辑是什么?申请表怎么操作以后,合同表要怎么响应?

 

 这个?http://www.foxtable.com/webhelp/scr/2649.htm

 


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


加好友 发短信
等级:小狐 帖子:366 积分:3522 威望:0 精华:0 注册:2016/5/25 21:31:00
  发帖心情 Post By:2017/4/27 17:02:00 [只看该作者]

老师好,刚才没写完按了回车,具体如下
有包材申请明细表,合同明细表,并做关联
要实现包材申请表的项目添加到合同明细表后,在包材申请表的列是否采购显示为true

代码如下,写在PositionChanged中,
If Tables("包材申请明细表.合同明细表").Rows.Count > 0 Then
Tables("包材申请明细表").Current("是否采购") = True
Else 
Tables("包材申请明细表").Current("是否采购") = False
End If

现在包材申请明细表的内容添加后,要逐行点一次,“是否采购”才会显示结果,这样不具操作,
加在CurrentChanged,窗体AfterLoad,按钮后面都不行,请老师如何解决

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/4/27 17:09:00 [只看该作者]

 用表达式列做比较简单,你写公式判断一下就行了

 

iif(Count(Child(设置关联名称).子表某列列名) > 0, true, False)


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


加好友 发短信
等级:小狐 帖子:366 积分:3522 威望:0 精华:0 注册:2016/5/25 21:31:00
  发帖心情 Post By:2017/4/27 17:15:00 [只看该作者]

iif(Count(Child(包材申请明细表.合同明细表).是否采购) > 0, true, False)这样吗,代码写在哪里好

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/4/27 17:17:00 [只看该作者]

 如果要写代码处理,你需要在几个事件写代码

 

 父表DataColChanged事件

 

If e.DataCol.name = "编号" Then
    Dim crs As List(of DataRow) = e.DataRow.GetChildRows("合同表")
    If crs.count > 0 Then
        pr("是否采购") = True
    Else
        pr("是否采购") = True
    End If
End If

 

 子表DataColChanged

 

If e.DataCol.name = "编号" Then
    DataTables("申请表").DataCols("编号").RaiseDataColChanged("编号='" & e.oldvalue & "'")

    DataTables("申请表").DataCols("编号").RaiseDataColChanged("编号='" & e.DataRow("编号") & "'")
End If

 子表DataRowDeleting事件也要写代码

 

DataTables("申请表").DataCols("编号").RaiseDataColChanged("编号='" & e.DataRow("编号") & "'")

 

 


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/4/27 17:18:00 [只看该作者]

以下是引用wakai在2017/4/27 17:15:00的发言:
iif(Count(Child(包材申请明细表.合同明细表).是否采购) > 0, true, False)这样吗,代码写在哪里好

 

设置表达式列 http://www.foxtable.com/webhelp/scr/0025.htm

 

iif(Count(Child(这里填你设置关联时候的名字).是否采购) > 0, true, False)


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/4/27 17:19:00 [只看该作者]

 建议用6楼的方法处理。

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


加好友 发短信
等级:小狐 帖子:366 积分:3522 威望:0 精华:0 注册:2016/5/25 21:31:00
  发帖心情 Post By:2017/4/27 17:31:00 [只看该作者]

谢谢老师,明白了,表达式跟ACCESS类似

 回到顶部