VB中关于天数的计算

来源:百度知道 编辑:UC知道 时间:2024/06/13 18:13:18
目的就是在这个窗体开始运行时,自动更新数据库bookmarket中reader中 剩余天数 这一列的所有数据 其他不变,,,,请高手回管我下面的句子还要加什么进去。主要是循环那里我有点搞不明白。

Private Sub Form_Load()
Dim dbm As New Connection
Dim dbmre As New Recordset
Dim stname As String
Dim Str() As String
dbmm = "admin"
dbm.CursorLocation = adUseClient
dbm.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\图书系统文件\bookmarket.mdb;Persist Security Info=False;Jet OLEDB:Database Password=" + dbmm
dbmre.Open "select * from reader", dbm, adOpenStatic, adLockOptimistic
Str(i) = dbmre("借书日期")
dbmre!剩余天数 = 30 - DateDiff("d", CDate(Format(Now, "yyyy-mm-dd")), CDate(Format(Str(i), "yyyy-mm-dd")))
i = i + 1
Next i
dbmre.Update
End Sub
请写出具体的语句 谢谢.可以使用就加分.

狼的答案说是实时错误6 溢出..点办?

1、遍历数据库,不是用next
应该用do while……loop
2、更新数据 dbmre.Update 应该放在循环里,每个记录修改了就需要更新

没有测试,在你的代码上改的

Do while not dbmre.eof
Strdate = dbmre("借书日期")
dbmre!剩余天数 = 30 - DateDiff("d", CDate(Format(Now, "yyyy-mm-dd")), CDate(Format(Strdate, "yyyy-mm-dd")))
dbmre.Update
dbmre.MoveNext
Loop