Foxtable(狐表)用户栏目专家坐堂 → [求助]BeforSaveDataRow事件的问题


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

主题:[求助]BeforSaveDataRow事件的问题

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


加好友 发短信
等级:婴狐 帖子:87 积分:701 威望:0 精华:0 注册:2014/8/4 11:54:00
[求助]BeforSaveDataRow事件的问题  发帖心情 Post By:2014/9/15 10:23:00 [只看该作者]

我有两张表,分别是库存表与订单表明细表,库存表有字段 ‘库存数量’ ,‘报警阀值’ ,‘型号规格’ , ‘供应商’ 要实现目标:
在保存订单明细表的时候BeforSaveDataRow事件会校验所下订单数量,
如果订单数量<0则 e.Cancel = True
如果订单数量>=0 并 小于库存表的报警阀值则给出提示框

问题是
1.如何给 变量(报警阀值) 赋值
2.如何让所赋值的 变量(报警阀值)是订单明细表里面的 ‘型号规格’ , ‘供应商’ 字段所对应的

我之前的代码不能讨论变量只能定义所有的库存数量小于6就报警,代码如下
If e.DataRow.isnull("销售价格") OrElse e.DataRow.isnull("订单数量") Then
    messagebox.show("尚有订单数量或销售价格未填写,不能保存." & vblf & "如果不适用未填写值的明细请删除后保存","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    e.cancel=True
Else
    If e.DataRow("库存数量") >= 0 And e.DataRow("库存数量") < 6 Then
        MessageBox.Show("有物料处于低库存状态,请及时补货","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    Else
        If e.DataRow("库存数量") < 0 Then
            If MessageBox.Show("有明细项目库存为负任然确定出货?","询问",MessageBoxButtons.YesNo,MessageBoxIcon.Warning) = DialogResult.No Then
                e.Cancel = True
            End If
        End If
    End If
End If


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/9/15 10:28:00 [只看该作者]

直接用find函数查找,然后赋值

 

Dim fdr As DataRow = DataTables("库存表").Find("规格型号 = '" & e.DataRow("规格型号") & "' and 供应商 = '" & e.DataRow("供应商") & "'")

If fdr IsNot Nothing Then

    msgbox(fdr("报警阀指"))

End If

 

http://www.foxtable.com/help/topics/0396.htm

 


 回到顶部