Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

两表数值比较,超出(大于)时提示

justinliao  发表于:2012-03-24 20:57:25  
复制

说明:表一ID是不重复编号,表二ID与qty是输入值;当Z001输入40时,查询一Z001之和120大于表一的100时发出无法输入提示。

 

 

表一

 ID  qty
 Z001  100
 Z002  80

 

表二

 ID  qty
 Z001  50
 Z002  40
 Z002  20
 Z001  30
 Z001  40

 

查询一

 ID  total-qty
 Z001  120
 Z002  60

 

 

Top
西出阳关无故人 发表于:2012-03-25 00:14:15

应该在表二的窗体的中设置规则



wsl 发表于:2012-03-25 11:12:53

是的,应该在表二的数据录入窗体中设置规则。

 

可以这样:


Private Sub qty_Exit(Cancel As Integer)
  Dim intqty1 As Integer
  Dim intqty2 As Integer
  intqty1 = DLookup("qty", "表一", "ID='" & Me.ID & "'")
  intqty2 = DSum("qty", "表二", "ID='" & Me.ID & "'")
  If intqty2 > intqty1 Then
    MsgBox "qty输入当前数据 " & Me.qty & " 后," & Me.ID & " 的总和是 " & intqty2 _
           & " ,已大于其最高限量 " & intqty1 & " ,请核查。", vbExclamation, "提示"
    Cancel = True
  End If
End Sub



总记录:2篇  页次:1/1 9 1 :