Access交流中心

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

这个药品消耗中的“确认消耗”按钮单击代码如何写?

殷小宝  发表于:2010-10-27 22:01:47  
复制

我在frm-药品库存窗体(数据表视图)单击任一行就会打开这一行的“药品消耗窗体”,填好出库数量,点击确认消耗按钮,提示“运行错误”如图所示:

 

我的确认消耗代码是这样写的:

Private Sub 确认消耗_Click()
Dim a As Integer
Dim b As Integer
a = Val([Forms!frm_药品库存!出库数量])
b = Val(Forms!frm_药品消耗!出库数量)
a = a + b
Forms!药品库存!出库数量 = CStr(a)
End Sub

我实在不知错在哪里,望老师们给予帮助,非常感谢。经常提问题,让你们回答,我都不好意思了。

原文件见附件:

点击下载此附件

 

Top
yuayua 发表于:2010-10-27 23:34:11

这提示算是白给你 了



yuayua 发表于:2010-10-27 23:44:13

a = Val([Forms!frm_药品库存!出库数量])
b = Val(Forms!frm_药品消耗!出库数量)

多了[]



殷小宝  发表于:2010-10-28 15:44:24
yuayua老师,事情不是像你想像的那样,我代码中本没中括号,试了许多次,没有成功,后来试试加个中括号看看,也不行,发帖时没有将它改过来,现在我去掉了中括号,还是不行。不过还是非常感谢你的回答。

殷小宝  发表于:2010-10-28 15:51:03
“a = Val(Forms!frm_药品库存!出库数量)”这句代码在运行时提示:frm_药品库存!出库数量=2(因为我在窗体上输入的是2),但提示“a =0”,这是怎么回事?难道Val("2")=0吗?求求各位老师啦.

殷小宝  发表于:2010-10-28 16:01:08


羽扇子君 发表于:2010-10-28 20:01:30

至少应该是:

a = Val([Forms]![frm_药品库存]![出库数量])
b = Val([Forms]![frm_药品消耗]![出库数量])



殷小宝  发表于:2010-10-28 22:26:51
你这样写更不行了。上图**部分更正一下:Forms!frm_药品库存!出库数量=Cstr(a)

殷小宝  发表于:2010-10-30 14:55:58
羽扇子君老师,按照您的办法试了也不行。谢谢您的回答。

殷小宝  发表于:2010-10-30 15:11:19

运行的结果是这样的,如下图所示:

 

 

 

 

 

 

 

 

 

 



殷小宝  发表于:2010-10-30 15:11:36


殷小宝  发表于:2010-10-30 15:13:38
望老师们给我解答帮助,这个问题困扰了多天了,实在不知错在哪里。谢谢了。

羽扇子君 发表于:2010-10-30 20:35:13

对象名中包含下划线(_),是Access中大忌.望改之;

另,Frm_药品消耗窗体尚未打开,焉能得出其“出库数量”



殷小宝  发表于:2010-10-31 00:15:09
羽扇子君老师,感谢您的指导,对象名中下划线我将它改掉,运行时frm_药品消耗已经打开,单击库存表中任一单元格就能弹出frm_药品消耗窗体来,不然[Forms]![frm_药品消耗]![出库数量]="2"呢?因为我在这个窗体上输入的就是2,请看9楼上的左中图.方框里的提示是程序提示的,不是我加上去的.再次希望得到您的帮助.

金爷 发表于:2010-10-31 09:53:33


Private Sub 确认消耗_Click()
Dim a As Integer
Dim b As Integer
a = Val(Forms!frm_药品库存!出库数量)
b = Val(Forms!frm_药品消耗!出库数量)
a = a + b
'Forms!frm_药品库存!出库数量 = CStr(a)

Dim str As String
str = "Update 出库记录 set 出库数量=" & a & " where 药品ID ='" & Me.药品ID & "'"
   
DoCmd.SetWarnings False         '取消提示

DoCmd.RunSQL str
DoCmd.SetWarnings True          '恢复提示
Forms!frm_药品库存.Requery
Me.Form.Requery
End Sub

 

 



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