Foxtable(狐表)用户栏目专家坐堂 → [求助]库存对比


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

主题:[求助]库存对比

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


加好友 发短信
等级:小狐 帖子:316 积分:2193 威望:0 精华:0 注册:2018/2/4 9:37:00
[求助]库存对比  发帖心情 Post By:2018/9/11 10:11:00 [显示全部帖子]

If e.DataCol.Name = "炸药_数量" Then
    Dim dr1 As DataRow = Tables("审批.备案").Current.DataRow
    Dim Sum As Double = Tables("审批.备案").Compute("Sum(炸药_数量)")
    Dim dr2 As DataRow
    dr2 = DataTables("审批").Find("[单号]  = '" & dr1("单号") & "'")
    If dr2 IsNot Nothing Then
        If e.NewValue > dr2("炸药_数量") Then
            msgbox("使用备案数量不能多于审批数量")
            e.Cancel = True
        Else
            If sum >= dr2("炸药_数量") Then
                msgbox("使用备案数量不能多于审批数量")
                e.Cancel = True
            End If
        End If
    End If
End If

老师给帮忙看看这个代码  哪里错了     如果数量分2条数据输入就不对 (如果审批单的数量是10     在关联表里比方说第一条数据数量  8  第二条数量只要不超过10就可以输入   但是我要的效果是 关联表里的总数 不能超过审批单里的数量)   

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


加好友 发短信
等级:小狐 帖子:316 积分:2193 威望:0 精华:0 注册:2018/2/4 9:37:00
  发帖心情 Post By:2018/9/11 10:48:00 [显示全部帖子]

加上了

[此贴子已经被作者于2018/9/11 10:49:20编辑过]

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


加好友 发短信
等级:小狐 帖子:316 积分:2193 威望:0 精华:0 注册:2018/2/4 9:37:00
  发帖心情 Post By:2018/9/11 11:29:00 [显示全部帖子]

甜老师  还一个问题  麻烦给写个代码
不同爆破单位  每月的审批量不一样    审批单里  同一个爆破单位   炸药 和 爆破器材的数量  不能超过每月定的值   

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


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


加好友 发短信
等级:小狐 帖子:316 积分:2193 威望:0 精华:0 注册:2018/2/4 9:37:00
  发帖心情 Post By:2018/9/11 15:25:00 [显示全部帖子]

If e.DataCol.Name = "炸药_数量" Then
    Dim dr1 = e.DataRow
    Dim Sum As Double = DataTables("审批").Compute("Sum(炸药_数量)","[爆破单位]  = '" & dr1("爆破单位") & "'")
    Dim dr2 As DataRow
    dr2 = DataTables("爆破单位").Find("[爆破单位]  = '" & dr1("爆破单位") & "'")
    If dr2 IsNot Nothing Then
        If e.NewValue+sum-e.oldvalue > dr2("炸药定量") Then
            msgbox("审批数量不能多于定量")
            e.Cancel = True
        End If
    End If
End If

就你这个代码改下就行了   现在就缺一个  月的判断    甜老师给帮忙写上  比方说炸药每月定量100公斤   这个月累计到100 就不能再批了   但是下个月又重新从100开始计算了   

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


加好友 发短信
等级:小狐 帖子:316 积分:2193 威望:0 精华:0 注册:2018/2/4 9:37:00
  发帖心情 Post By:2018/9/11 15:45:00 [显示全部帖子]

你理解错了   100只是我打的一个比方  这个数量   是不一定的
这个代码可以统计  同一个爆破单位的总数量    但是还缺少  每月的判断     这个月如果累计到了规定数量不能再审批了    但是下个月的时候  又可以继续审批  只是不能超过定量

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


加好友 发短信
等级:小狐 帖子:316 积分:2193 威望:0 精华:0 注册:2018/2/4 9:37:00
  发帖心情 Post By:2018/9/11 16:07:00 [显示全部帖子]

还是 你回答问题 简单粗暴 好理解  十分感谢  
还有个问题  红色那里  我想让它显示    多于定量具体多少(数字)      
If e.DataCol.Name = "炸药_数量" Then
    Dim dr1 = e.DataRow
    Dim d As Date = dr1("日期")
    d = New Date(d.year, d.month, 1)
    Dim Sum As Double = DataTables("审批").Compute("Sum(炸药_数量)","[爆破单位]  = '" & dr1("爆破单位") & "' and 日期 >= #" & d & "# and 日期 < #" & d.addmonths(1) & "#")
    Dim dr2 As DataRow
    dr2 = DataTables("爆破单位").Find("[爆破单位]  = '" & dr1("爆破单位") & "'")
    If dr2 IsNot Nothing Then
        If e.NewValue+sum-e.oldvalue > dr2("炸药定量") Then
            msgbox("审批数量多于定量")
            e.Cancel = True
        End If
    End If
End If

 回到顶部