以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  思路问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=116842)

--  作者:7877485
--  发布时间:2018/4/1 12:13:00
--  思路问题
有3张表,分别是记录表,出库表,库存表,需要在记录表里的配件类型、配件名称、数量列选择输入,要求在库存表里判断下这个配件名称的数量是否够,再记录到出库表里,各位有没有什么好的思路
--  作者:有点甜
--  发布时间:2018/4/1 16:46:00
--  

你是要做出库功能是吗?

 

1、从记录表选择输入,参考

 

http://www.foxtable.com/webhelp/scr/1459.htm

 

2、判断是否可以出库,参考

 

http://www.foxtable.com/webhelp/scr/1451.htm

 


--  作者:7877485
--  发布时间:2018/4/1 21:19:00
--  
记录表选择输入已经完成了,现在差一个在记录表里按配件名称和数量的输入判断库存表的数量是否足够出库,该怎么写?在哪里写比较好?
[此贴子已经被作者于2018/4/1 21:19:47编辑过]

--  作者:7877485
--  发布时间:2018/4/1 21:49:00
--  
If e.DataCol.Name = "配件名称" Then 
    If e.NewValue Is Nothing Then 
        e.DataRow("数量") = Nothing 
    Else
        Dim dr As DataRow
        
        dr = DataTables("库存").Find("[配件名称] = \'" & e.NewValue & "\'")
        If dr IsNot Nothing Then 
            If e.DataRow("数量") < dr("库存数量") Then
            Else
                MessageBox.Show("库存配件数量不足,请及时补充!","提示")
            End If
        End If
    End If
End If
这个写的不对,判断不了,提示完之后还可以再输入。。。
[此贴子已经被作者于2018/4/1 21:53:04编辑过]

--  作者:有点甜
--  发布时间:2018/4/1 21:52:00
--  

回复4楼,代码写得没问题。

 

如果还有其他问题,再提问。


--  作者:7877485
--  发布时间:2018/4/1 22:13:00
--  
先输入配件名称,再输入数量,不会判断,只有先输数量,再输配件名称才会提示,而且现在确定了提示后还可以再输入超过库存的数量...
上面的代码该怎么改
[此贴子已经被作者于2018/4/1 22:13:23编辑过]

--  作者:有点甜
--  发布时间:2018/4/1 22:16:00
--  

If e.DataCol.Name = "配件名称" OrElse e.DataCol.name = "数量" Then
    If e.DataRow("配件名称") <> Nothing Then
        Dim dr As DataRow
       
        dr = DataTables("库存").Find("[配件名称] = \'" & e.DataRow("配件名称") & "\'")
        If dr IsNot Nothing Then
            If e.DataRow("数量") > dr("库存数量") Then
                MessageBox.Show("库存配件数量不足,请及时补充!","提示")
            End If
        End If
    End If
End If


--  作者:7877485
--  发布时间:2018/4/1 22:36:00
--  

If e.DataCol.Name = "配件名称" OrElse e.DataCol.name = "数量" Then
    If e.DataRow("配件名称") <> Nothing Then
        Dim dr As DataRow
        
        dr = DataTables("库存").Find("[配件名称] = \'" & e.DataRow("配件名称") & "\'")
        If dr IsNot Nothing Then
            If e.DataRow("数量") > dr("库存数量") Then    

              这儿加如果数量大于库存数量,清空数量的单元格内容,而且非空,该怎么写?
                MessageBox.Show("库存配件数量不足,请及时补充!","提示")
            End If
        End If
    End If
End If


--  作者:有点甜
--  发布时间:2018/4/1 22:51:00
--  

e.dataRow("数量") = Nothing

e.Cancel = true


--  作者:7877485
--  发布时间:2018/4/1 23:06:00
--  
甜版辛苦了,谢谢