Foxtable(狐表)用户栏目专家坐堂 → 输入无效


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

主题:输入无效

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


加好友 发短信
等级:三尾狐 帖子:637 积分:6461 威望:0 精华:0 注册:2016/12/27 21:05:00
输入无效  发帖心情 Post By:2020/2/23 1:11:00 [只看该作者]

主表—“进货明细表”有五个字段:物品编号,物品性质,物品名称,物品规格 ,进货数量
子表—“领用明细表”有五个字段:物品编号,物品性质,物品名称,物品规格 ,领用数量
关联字段:物品编号,物品性质,物品名称,物品规格 
我想在录入“领用数量”时能有个提示:“库存数量仅剩XXX件,小于刚录入数据,请重新输入"请问代码如何编写?
请指教,谢谢!

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


加好友 发短信
等级:九尾狐 帖子:2180 积分:13804 威望:0 精华:2 注册:2012/2/25 10:59:00
  发帖心情 Post By:2020/2/23 13:06:00 [只看该作者]

在子表一的ValidateEdit 事件里写代码:

If e.Col.Name = "领用数量" Then '如果正在输入的是数量

    If e.Text > "" Then '如果已经输入内容

Dim JHSL As Integer

JHSL=DataTables("表A").Compute("SUM(进货数量)","物品编号='" & e.Table.Current("物品编号") & "' AND 物品性质='" & e.Table.Current("物品性质") & "' AND 物品名称='" & e.Table.Current("物品规格") & "' AND 物品编号='" & e.Table.Current("物品规格") & "'")

        Dim v As Integer = int(e.Text) '将输入的内容转换为整数

        If v> JHSL Then

 MessageBox.Show("库存数量仅剩" & JHSL & "件,小于刚录入数据,请重新输入","提示", MessageBoxButtons.OK, MessageBoxIcon.Information)

            e.Cancel = True '则取消输入

End If


    End If

End If


ps: 你这个数据库设计非常糟糕,一般主表和子表只用一个字段关联,而且主表的这个关联字段必须保证唯一性,你应该增加一个 单据号,用来做主表和子表的关联字段

[此贴子已经被作者于2020/2/23 13:07:20编辑过]

 回到顶部