Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

runtime Error 3021 no current record

2 réponses
Avatar
Guy du Lac
Bonjour,
À l'ouverture d'un formulaire ou la requète ne contient aucun enregistrement
j'ai l'erreur 3021. Apres recherche sur le forum j'ai trouvé du code de
Raymond pour une situation identique avec un état. Mais je ne vois pas
comment faire pour un formulaire?

**************
dans l'état indique
**************
Private sub report_nodata()
CANCEL = TRUE
END SUB


***********************
DANS LE FORMULAIRE QUI APPEL L'ÉTAT
***********************
ON ERROR RESUME NEXT
DOCMD.OPENREPORT "ETAT", ACPREVIEW



--
Merci,
Guy du Lac

2 réponses

Avatar
CC
Bonjour,

Pourriez-vous donner le code que vous avez sur l'ouverture de votre
formulaire (Load, Activate) ?

Cela peut provenir d'un bout de code. Par exemple si vous utilisez une des
méthodes Find (Findfirst...) ou la méthode Seek et que votre jeu
d'enregistrement est vide, cela provoque l'erreur 3021. Pour éviter, il vous
faut d'avord tester si votre jeu d'enregistrement contient des
enregistrements.

Par exemple, si vous utilisez un Findfirst et bien avant il faut tester le
.BOF et . EOF

Exemple :

Set Monjeu = cuurentdb.Openrecordset("MONJEU")

If not (Monjeu.BOF and Monjeu.EOF) then
Monjeu.movefirst
...
...




"Guy du Lac" a écrit dans le message de
news:
Bonjour,
À l'ouverture d'un formulaire ou la requète ne contient aucun
enregistrement

j'ai l'erreur 3021. Apres recherche sur le forum j'ai trouvé du code de
Raymond pour une situation identique avec un état. Mais je ne vois pas
comment faire pour un formulaire?

**************
dans l'état indique
**************
Private sub report_nodata()
CANCEL = TRUE
END SUB


***********************
DANS LE FORMULAIRE QUI APPEL L'ÉTAT
***********************
ON ERROR RESUME NEXT
DOCMD.OPENREPORT "ETAT", ACPREVIEW



--
Merci,
Guy du Lac


Avatar
laarif
Guy du Lac a écrit le 10/08/2007 à 16h30 :
Bonjour,
À l'ouverture d'un formulaire ou la requète ne contient aucun
enregistrement
j'ai l'erreur 3021. Apres recherche sur le forum j'ai trouvé du code de

Raymond pour une situation identique avec un état. Mais je ne vois pas

comment faire pour un formulaire?

**************
dans l'état indique
**************
Private sub report_nodata()
CANCEL = TRUE
END SUB


***********************
DANS LE FORMULAIRE QUI APPEL L'ÉTAT
***********************
ON ERROR RESUME NEXT
DOCMD.OPENREPORT "ETAT", ACPREVIEW



--
Merci,
Guy du Lac


Événement sur erreur :

Private Sub Form_Error(DataErr As Integer, Response As Integer)

If DataErr = 3021 Then Response = 0

End Sub