Access交流中心

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

帮忙解释更新库存的代码,谢谢。

hesy  发表于:2008-04-12 00:08:01  
复制

帮忙在每行代码右边加上注释,谢谢,主要不懂之处有:

1“(ByVal x%, ByVal y$, ByVal z$)”的作用

2“CurrentDb”是第一次出现的,没有定义过,在这里有什么用.

3“ X0 = curRS.Fields("现有库存")”是什么意思

4“curdb.Execute "update 库存 set 原有库存=" & X0 & ",现有库存=" & X1 & ",库存变动日期=" & sDate & _
   "where 药号='" & y & "'"” 这句里为什么在sDate后加上一下划线“_”

                        

 

Public Sub 更新药库库存(ByVal x%, ByVal y$, ByVal z$)
Dim curdb As Database
Dim curRS As Recordset
Dim X0%, X1%, sDate As Date
    sDate = Date

Set curdb = CurrentDb
Set curRS = curdb.OpenRecordset("select * from 库存 where 药号='" & y & "'") '药号.Value
If Not curRS.EOF Then
   X0 = curRS.Fields("现有库存")
   X1 = X0 - CInt(x)
   curdb.Execute "update 库存 set 原有库存=" & X0 & ",现有库存=" & X1 & ",库存变动日期=" & sDate & _
   "where 药号='" & y & "'"
  curdb.Execute "insert into 操作日志 (用户名,操作内容,操作时间) values (admin,z," & Date & ")"
End If
 
End Sub

 

Top
钱玉炜 发表于:2008-04-12 08:21:03

1.byval表示是传值的参数

2.currentdb是DAO中的用法,表示当前数据库

3.X0 = curRS.Fields("现有库存")表示窗体中控件x0等于表中现有库存字段的值

4._是在同一句SQL语句换行的时候必须加上的,连接下一行SQL语句



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