久久鸭的做法及配方:Access数据库编程问题

来源:百度文库 编辑:查人人中国名人网 时间:2024/05/02 07:58:48
本人最近自学在ACCESS数据库中编写VBA代码,碰到个问题百思不得其解,请大家帮忙指教。问题如下:

Option Compare Database
Option Explicit
Public Sub R_Data()
Dim db As Database
Dim rs As Recordset

Set db = CurrentDb()
Set rs = db.OpenRecordset("银行存款")

Do While Not rs.EOF

Debug.Print rs("收入"), rs("支出"), rs("余额")
rs.AddNew
rs("收入") = 100: rs("支出") = 200: rs("余额") = 300
rs.Update
rs.MoveNext
Loop
Exit Sub
End Sub

说明:"银行存款"是ACCESS中我建立的一个表。

问题是:总是无限循环!好像rs.movenext和do while not rs.eof不管用似的。请大家帮忙解决无限循环问题。

eof 是判断记录集是否到了记录尾.

而你每次循环里面都增加一条新记录,那么就永远无法到记录尾,所以你的循环停不了.

楼上讲得对,你可以把循环内部的数据重新定义一个如
rs1.AddNew
rs1("收入") = 100: rs1("支出") = 200: rs1("余额") = 300
rs1.Update
但是实在看不出来这么做有什么意义

不知道你到底要实现什么目的,单纯添加记录不需要循环的

当然是循环啦 你没读一条 就加一条 当然就读不到头啦