Access交流中心

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

请煮江品茶老师帮一下忙呀?

殷小宝  发表于:2010-10-31 00:39:57  
复制

我的问题是:http://www.accessoft.com/bbs/showtopic.asp?Id=10488,到今天还没弄出来,是确认消耗的代码问题,不知道错在哪里。拜托了。多谢了。

 

Top
煮江品茶 发表于:2010-10-31 07:47:32

假设库存窗体可以更新,则代码应该为:

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)
End Sub

 

但是库存窗体的查询3不可更新,因此不能用此方法传递数据。可以用更新查询的方式直接将窗体数据写入表中,然后刷新窗体。



殷小宝  发表于:2010-11-02 10:08:52

煮江品茶老师,这两天我的电脑在更换家庭宽带,而宽带信号没有,故没有看到老师的回复,没想到老师回复的这么快,令人钦佩。老师说的对,我将窗体里的数据追加到出库表,然后刷新窗体即可。但我将窗体的数据追加到“出库记录”表,始终不成功,帮我检查一下代码,错在哪里。

Private Sub 确认消耗_Click()
 On Error Resume Next
 Dim strsql As String
 Dim rs As Recordset
 strsql = "select * from 出库记录  "
  Set rs = CurrentDb.OpenRecordset(strsql)
 With rs
      .AddNew
      !药品ID = Trim(Me.药品ID)
      !出库日期 = Trim(Me.出库日期)
      !药品名称 = Trim(Me.药品名称)
      !厂家 = Trim(Me.厂家)
      !规格 = Trim(Me.规格)
      !有效期 = Trim(Me.有效期)
      !药品分类 = Trim(Me.药品分类)
      !单位 = Trim(Me.单位)
      !出库数量 = Trim(Me.出库数量)
      End With
      MsgBox ("添加到出库表成功!")
 rs.Close
 Forms!frm_药品库存.Refresh
DoCmd.Close
End Sub

我用的是这个繁琐的办法添加记录也不成功。老师这究竟错在哪里呢?谢谢您的指导。



殷小宝  发表于:2010-11-02 11:00:34

我像这样写,能够添加到“出库记录”表中去,但不能及时更新“frm_药品库存”中的数据。下次打开时可以更新数据,我要的是及时更新窗体中的数据,请老师给予指导。

Private Sub 确认消耗_Click()

 Dim curdb As Database
  Set curdb = CurrentDb
  curdb.Execute "insert into 出库记录(药品ID,出库日期,药品名称,厂家,规格,有效期,药品分类,单位,出库数量) Values('" & 药品ID.Value & "','" _
  & 出库日期.Value & "','" & 药品名称.Value & "','" & 厂家.Value & "','" & 规格.Value & "','" & 有效期.Value & "','" & 药品分类.Value & "','" _
  & 单位.Value & "','" & 出库数量.Value & "')"

  Forms!frm_药品库存.Refresh

  MsgBox ("药品消耗成功!")
DoCmd.Close
End Sub

原程序:

点击下载此附件

羽扇子君 发表于:2010-11-02 14:14:43

写入“出库记录”表的代码中,在 rs.Close 句前,加入:

rs.update

 

 

窗体的按钮单击代码中 Forms!frm_药品库存.Refresh 行,换成:

 

Forms!frm_药品库存.Requery

 

 



煮江品茶 发表于:2010-11-02 16:50:22
按羽扇子君同志意见办理应该可以。

殷小宝  发表于:2010-11-05 15:23:26

我按羽扇子君的方法试了多次,结查窗体中的数据仍不能及时更新,必须关闭后重新打开才更新数据。请煮江品茶试试看看。麻烦您。



殷小宝  发表于:2010-11-05 15:43:40
羽扇子君老师,我的代码上没有打开记录集,只是用的是currentdb.execute语句,另外将“Refresh”改为“Requery”也不行,不信您试试。

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