런타임 오류 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
그래서 첫 번째 섹션은 작동하지만, 그것이 오류를 throw 곳 = rsQuery!의 PAYPLANNAME 인 라인 num3에 도달 할 때입니다. 귀하가 제공 할 수있는 통찰력에 대해 미리 감사드립니다.
당신은 당신이 결과를 반환 있는지 확인 할 레코드 수를 확인해야합니다. rsQuery.RecordCount 또는 rsQuery.EOF – Sorceri
@ Sorceri hmm 그래서 방금 시도하고 debug.print가 1을 반환했습니다 ... 그러나 매개 변수를 사용하여 쿼리 자체를 실행하면 12 개의 결과가 반환됩니까? –
'rsQuery.MoveLast rsQuery.MoveFirst' 레코드 세트를 열면 바로 사용하여 카운트를 강제 실행하십시오. 왜 루프가없는 MoveNext가 있습니까? – June7