不完全确定如何解决这个代码给我一个运行时错误3021:没有当前记录。运行时错误3021
目的是单击此按钮,它将填充查询的第一条记录的结果的几个文本框。然后应该使用MoveNext从查询结果的下一个记录中填充另外两个文本框。
Private Sub btnSCC07_Click()
Dim dbs As DAO.Database
Dim rsTable As DAO.Recordset
Dim rsQuery As DAO.Recordset
Set dbs = CurrentDb
Set rsQuery = dbs.OpenRecordset("SELECT * FROM qrySccS2 WHERE PAYORNAME = 'Medicaid' AND OVERRIDECODESALL = 7", dbOpenDynaset)
rsQuery.FindFirst ("[PAYORNAME]='Medicaid'")
num1 = rsQuery!PAYPLANNAME
num2 = rsQuery!Count
txtMedicaid9 = num1
txtMedicaidCount9 = num2
Debug.Print (txtMedicaid9)
rsQuery.MoveNext
Debug.Print ("Test")
num3 = rsQuery!PAYPLANNAME
num4 = rsQuery!Count
txtMedicaid10 = num3
txtMedicaidCount10 = num4
rsQuery.Close
Set rsQuery = Nothing
因此,第一部分工作,但它是当它到达行num3 = rsQuery!PAYPLANNAME是它抛出错误的地方。提前感谢您提供的任何见解。
你需要检查记录计数,以确保您有结果返回。 rsQuery.RecordCount或rsQuery.EOF – Sorceri
@Sorceri嗯所以我只是试过,debug.print返回1 ......但是当我运行查询本身的参数它返回12结果? –
在打开记录集'rsQuery.MoveLast rsQuery.MoveFirst'后使用行来强制计数。为什么你有没有循环的MoveNext? – June7