Enregistrement suivant

matjonq -  
 matjonq -
Bonjour,

J'ai un formulaire access basé sur une table.
Je souhaite naviguer entre les enregistrements et j'ai donc créé un bouton "enregistrement suivant" (bouton assistant).
Le problème c'est que lorsque j'arrive à la fin de ma table, il ne "détecte" pas qu'il n'y a plus d'enregistrement (fin de ma table) et il me crée des lignes vides (nouveaux enregistrements).

Voici mon code pour le bouton :

Private Sub C_enreg_suiv_Click()


On Error GoTo Err_C_enreg_suiv_Click


DoCmd.GoToRecord , , acNext

NewRecord
Exit_C_enreg_suiv_Click:



Exit Sub

Err_C_enreg_suiv_Click:
msgbox err.Description
Resume Exit_C_enreg_suiv_Click

End Sub


Pouvez-vous m'aider ?
Merci d'avance...
A voir également:

11 réponses

blux Messages postés 27138 Date d'inscription   Statut Modérateur Dernière intervention   3 362
 
Salut,

précise que c'est avec ACCESS, comme ça on perd moins de temps à chercher...

C'est quoi le NewRecord dans ton code ?

Es-tu sûr(e) qu'il te crée des lignes vides dans ta table ?
0
matjonq
 
Bonjour,

En effet, il s'agit bien d'Access.
J'ai supprimé le "newrecord" qui n'avait rien à faire là.
Par contre ça me crée toujours des lignes vierges en fin de table à chaque fois que je clique sur le bouton "enregistrement suivant" et qu'il est placé sur le dernier.

Voyez-vous d'où ça vient ?

Merci d'avance.
0
blux Messages postés 27138 Date d'inscription   Statut Modérateur Dernière intervention   3 362
 
Les lignes sont-elles crées dans la table ?
Ca m'étonnerait car on ne fait pas un 'acnew'.

Sinon, tu modifies ton formulaire pour interdire l'ajout d'enregistrement.

Propriétés du formulaire/Onglet données/Ajout autorisé...
0
matjonq
 
Oui, les lignes sont créées directement dans la table.
J'essaye tout de suite ta solution
0
blux Messages postés 27138 Date d'inscription   Statut Modérateur Dernière intervention   3 362
 
Et quelles tête ont-elles ?
Quelle clé primaire est générée ? Quelles données dans les champs ?
0
matjonq
 
Alors, le fait de bloquer l'ajout d'enregistrement dans les propriétés fonctionne bien. Il me met le message "Impossible d'atteindre l'enregistrement suivant" lorsqu'il est en fin de table.

Par contre, je ne peux plus en ajouter du tout. A la base mon formulaire doit qu'en même servir à créer, modifier ou supprimer des enregistrements...

As-tu une autre solution ?

Merci d'avance
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
blux Messages postés 27138 Date d'inscription   Statut Modérateur Dernière intervention   3 362
 
Je viens de faire le test avec un bouton qui ne contient que la ligne DoCmd.GoToRecord , , acNext

Lorsque j'arrive au bout des enr., j'ai le message classique 2105, impossible d'atteindre l'enr. spéciifé, ce qui est normal.

Donc je ne vois pas où peut être le souci, et surout que met-il dans les nouvelles lignes créées ?
0
matjonq
 
Pour les lignes vierges, il ne renseigne que le numauto (identifiant de ma table) incrémenté de 1 à chaque fois.

Je vais essayer de recréer mon bouton suivant, pour voir.
0
matjonq
 
Je viens de recréer mon bouton suivant (à l'aide de l'assistant).

Toujours le même problème. Quand je suis positionnée sur le dernier enregistrement et que je clique sur le bouton, il m'ajoute de nouveaux enregistrements "à vide"...
0
blux Messages postés 27138 Date d'inscription   Statut Modérateur Dernière intervention   3 362
 
Si tu as une clé primaire dans ta table, ça ne peut pas marcher, car un clé primaire doit être unique et non vide...

Il y a autre chose caché quelque part...
0
matjonq
 
Justement, ma clé primaire est mon numauto et donc ça ne lui pose pas de pb... car il m'incrémente mon numauto de 1 à chaque fois que je clique sur suivant...
0
blux Messages postés 27138 Date d'inscription   Statut Modérateur Dernière intervention   3 362
 
Ok pour le numauto.

Supprime tout le code du bouton et ne garde que le docmd...

As-tu du code ailleurs sur ton formulaire (ouverture, chargement...) ?
0
matjonq
 
Toujours pareil.

J'ai effectivement de la programmation sur mon formulaire (sur activation) mais rien dans cette programmation qui pourrait influencer l'ajout d'enregistrement :-(
0
blux Messages postés 27138 Date d'inscription   Statut Modérateur Dernière intervention   3 362
 
je sèche...

ta base est grosse ? elle contient des infos sensibles ?

si non, tu peux la mettre sur cjoint ou dl.free.fr ?
0
matjonq
 
Je suis bien embêtée...
Oui, elle est grosse et contient des données sensibles...
:'(
0
blux Messages postés 27138 Date d'inscription   Statut Modérateur Dernière intervention   3 362
 
Tu peux pas la vider et la compacter ?
0
matjonq
 
J'essaye de regarder... Je te tiens au courant !

Merci en tt cas
0