二战的根本原因:VB+access 现在时间与表中字段时间相比后,为什么只返回一条记录??

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/10 09:30:26
在做一个图书馆系统时,为了达到30天后,每天按0.1元计费的功能.
大家看一我的代码,能看看为什么不能把所有borrow表中的记录day字段全部计算出来吗??
access中有表borrow,borrow这个表中有字段borrowdate\nowdate\day\money

dim RecCount as integer
Adodctemp.RecordSource = "select * from borrow"
adodctemp.refresh
RecCount = Adodc.Recordset.RecordCount
Adodctemp.Recordset.Fields("nowdate") = Date
If RecCount > 0 Then
Adodctemp.Recordset.Fields("day") = Adodctemp.Recordset.Fields("nowdate") -

Adodctemp.Recordset.Fields("borrowdate")
If Adodctemp.Recordset.Fields("day") > 30 Then
Adodctemp.Recordset.Fields("state") = "已过期"
Str = (Adodctemp.Recordset.Fields("day") - 30) * 0.1
Adodctemp.Recordset.Fields("money") = Format(Str, "0.00")
Else
Adodctemp.Recordset.Fields("state") = "未到期"
'AdodcTemp.Recordset.Fields("money") = "0.00"
End If
Adodctemp.Recordset.Update
Adodctemp.Refresh

像上面一样写进borrow时,只在每一条记录上计算出day.而第二条以后就不计算了,这是为什么呀
像上面一样写进borrow时,只在每一条记录上计算出day.而第二条以后就不计算了,这是为什么呀

应该是"第一条记录上计算出day.而第二条以后就不计算了"

你应该用循环,你用的是adodc控件,我给你一个思路,用的是ado refrence的

dim rst as adodb.recordset
rst.open "borrow",conn,1,3
'conn是你的连接ACCESS数据库的connection string

do until rst.eof
'处理你的要求,比如判断,并且计算是否需要支付费用
rst.movenext
loop