Foxtable(狐表)用户栏目专家坐堂 → [求助]订购数量,超过计划单数量时,如何才能弹窗警告


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

主题:[求助]订购数量,超过计划单数量时,如何才能弹窗警告

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


加好友 发短信
等级:幼狐 帖子:168 积分:1956 威望:0 精华:0 注册:2015/5/8 1:17:00
[求助]订购数量,超过计划单数量时,如何才能弹窗警告  发帖心情 Post By:2016/4/22 15:32:00 [只看该作者]

录入订购单,订购数量,超过计划单数量时,如何才能弹窗警告。

已购数量:IsNull(Sum(Child(计划订购).数量),0)+IsNull(Sum(Child(计划临时订购).数量),0)
未购数量:计划数量-已购数量
 

此主题相关图片如下:2.jpg
按此在新窗口浏览图片

此主题相关图片如下:3.jpg
按此在新窗口浏览图片
 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:管理项目1.table


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/4/22 15:51:00 [只看该作者]

临时表DataColChanged事件

 

Select Case e.DataCol.name
    Case "产品名称", "规格型号", "数量"
        Dim filter As String = "材料名称 = '" & e.DataRow("产品名称") & "' and 规格型号 = '" & e.DataRow("规格型号") & "' and 计划单号 = '" & e.DataRow("计划单号") & "'"
        Dim count As Integer = DataTables("计划单明细").compute("sum(计划单未购数量)", filter)
        If count < 0 Then
            msgbox("已超过数量" & e.DataRow("数量") + count)
        End If
End Select


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


加好友 发短信
等级:幼狐 帖子:168 积分:1956 威望:0 精华:0 注册:2015/5/8 1:17:00
  发帖心情 Post By:2016/4/22 18:56:00 [只看该作者]

可以放在ValidateEdit?初始订购量,是直接从计划单带出来,不会有错。但不需要这么多时,需要手动把量改少。担心会手误,所以设定采购量超过计划量时,出现警告。

 

临时表与计划单明细表,已经关联,可否用GetParentRow, 取得相关行后,判断未购数量是否<0,再弹窗。

 


图片点击可在新窗口打开查看此主题相关图片如下:4.jpg
图片点击可在新窗口打开查看


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/4/22 19:14:00 [只看该作者]

Select Case e.Col.name
    Case "数量"
        Dim filter As String = "材料名称 = '" & e.Row("产品名称") & "' and 规格型号 = '" & e.Row("规格型号") & "' and 计划单号 = '" & e.Row("计划单号") & "'"
        Dim count As Integer = DataTables("计划单明细").compute("sum(计划单未购数量)", filter)
        If count - e.Row("数量") < 0 Then
            msgbox("已超过数量" & count)

            e.Cancel = true
        End If
End Select


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


加好友 发短信
等级:幼狐 帖子:168 积分:1956 威望:0 精华:0 注册:2015/5/8 1:17:00
  发帖心情 Post By:2016/5/4 12:10:00 [只看该作者]

2楼代码,会弹窗警告,但数量还是会变。有没办法,不让变,维持原值。

(如输入10,超过,跳窗后,变回原值2)

 


图片点击可在新窗口打开查看此主题相关图片如下:temp.gif
图片点击可在新窗口打开查看

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/5/4 12:21:00 [只看该作者]

ValidateEdit事件啊

 

Select Case e.Col.name
    Case "数量"
        Dim filter As String = "材料名称 = '" & e.Row("产品名称") & "' and 规格型号 = '" & e.Row("规格型号") & "' and 计划单号 = '" & e.Row("计划单号") & "'"
        Dim count As Integer = DataTables("计划单明细").compute("sum(计划单未购数量)", filter)
        If count - e.Row("数量") < 0 Then
            msgbox("已超过数量" & count)

            e.Cancel = true
        End If
End Select


 回到顶部