rs_chaoqi 是借阅记录集
DataGrid1.Columns(3).CellValue(DataGrid1.Book) 是书籍唯一编号
我的想法是,在借阅记录里面根据比对书籍编号找书籍,写入还书日期。如果该书被借过两次,记录到第一次就停住了,第二次还书就写不了还书日期。
 rs_chaoqi.MoveFirst
    
    Do While DataGrid1.Columns(3).CellValue(DataGrid1.Book) <> rs_chaoqi.Fields(3)
        rs_chaoqi.MoveNext
    Loop
    
    rs_chaoqi.Fields(7) = Date
    rs_chaoqi.Update

解决方案 »

  1.   

    感觉你实现还书登记用这种方法,还不如直接用update的SQL语句更好。不过这里不说这个,就说你现在这种实现方式吧。在你这代码的基础上,可以这样改:
    Dim dteLatest As Date
     rs_chaoqi.MoveFirst
        
        Do While datagrid1.Columns(3).CellValue(datagrid1.Book) <> rs_chaoqi.Fields(3)
            If (dteLatest < datagrid1.Columns(5).CellValue(datagrid1.Book)) Then   '逐个比对出最新的“出借日期”
                dteLatest = datagrid1.Columns(5).CellValue(datagrid1.Book)
                '这里应该有代码记录对应最新的“出借日期”的记录的标识,如Book
            End If
            rs_chaoqi.MoveNext
        Loop
        '下面一句应改为,针对最新的“出借日期”的记录的标识,定位到那条记录,更改相应的“还书日期”
        rs_chaoqi.Fields(7) = Date
        rs_chaoqi.Update