在子表一的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编辑过]