Access : problème d'enregistrement dans une Table

Fermé
Random Dude Messages postés 24 Date d'inscription mercredi 3 juillet 2013 Statut Membre Dernière intervention 6 août 2013 - 12 juil. 2013 à 17:13
castours Messages postés 2955 Date d'inscription lundi 18 septembre 2006 Statut Membre Dernière intervention 31 août 2019 - 18 juil. 2013 à 11:02
Bonjour,


Voilà j'ai un petit souci d'enregistrement des données saisies dans mon formulaire dans ma Table.

Explications : Voici le code que j'utilise pour enregistrer toutes les données de mon formulaire dans les champs correspondant de ma Table :

Private Sub Enregistrer_Click()

On Error GoTo Err_Enregistrer_Click



GoTo Err_Enregistrer_Click
End If




    Me.AllowAdditions = True
    DoCmd.GoToRecord , , acNewRec
    DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70

Exit_Enregistrer_Click:
    Exit Sub

Err_Enregistrer_Click:
    MsgBox Err.Description
    Resume Exit_Enregistrer_Click
    

End Sub



Voilà et j'ai également un bouton nouvel enregistrement pour tout remettre à zéro et faire un nouvel enregistrement :

Private Sub Nouvelle_saisie_Click()

On Error GoTo Err_Nouvelle_saisie_Click

    Me.AllowAdditions = True
    DoCmd.GoToRecord , , acNewRec

Exit_Nouvelle_saisie_Click:
    Exit Sub

Err_Nouvelle_saisie_Click:
    MsgBox Err.Description
    Resume Exit_Nouvelle_saisie_Click
    

End Sub


Tout marche niquel, les champs de ma Table sont bien remplis lorsque je clique sur enregistrer, ça m'ajoute donc une ligne à ma Table, parfait.

Simplement voilà le souci : si je commence a saisir des données et que je décide de finalement fermer mon formulaire sans rien enregistrer : il ajoute quand même une ligne à ma Table avec les champs que j'avais remplis.

J'aimerais que le bouton enregistrer lui seul permette une telle chose.

Voilà, si vous pouviez m'aider la-dessus svp ;)

merci !
A voir également:

6 réponses

castours Messages postés 2955 Date d'inscription lundi 18 septembre 2006 Statut Membre Dernière intervention 31 août 2019 217
16 juil. 2013 à 15:51
Bonjour
access enregistre automatiquement les données des qu'un champ est completé
0
Random Dude Messages postés 24 Date d'inscription mercredi 3 juillet 2013 Statut Membre Dernière intervention 6 août 2013
16 juil. 2013 à 16:05
Bonjour !

merci ;)

y'a -t-il un moyen de remédier à ça ? pour que seul le bouton enregistrer de mon formulaire puisse le faire ?

merci ;)
0
castours Messages postés 2955 Date d'inscription lundi 18 septembre 2006 Statut Membre Dernière intervention 31 août 2019 217
16 juil. 2013 à 16:11
Dans la table, sur les propriétés des champs, il y a une; null interdit qui a non . Tu la passes a oui.
Ce qui entraine le non enregistrement de ta ligne car il manque un champ.
0
Random Dude Messages postés 24 Date d'inscription mercredi 3 juillet 2013 Statut Membre Dernière intervention 6 août 2013
16 juil. 2013 à 16:18
Excuse moi de te déranger encore, peux-tu me dire le non exact de la ligne dans les propriétés de chaque champ de mon formulaire, parce que je ne vois pas laquelle d'après ton précédent post ^^

merci beaucoup ;)
0
castours Messages postés 2955 Date d'inscription lundi 18 septembre 2006 Statut Membre Dernière intervention 31 août 2019 217
16 juil. 2013 à 21:53
bonjour
Ce n'est pas dans le formulaire mais dans la table proprieté null interdit qui est a non tu la passes a oui
0
Random Dude Messages postés 24 Date d'inscription mercredi 3 juillet 2013 Statut Membre Dernière intervention 6 août 2013
17 juil. 2013 à 10:05
Ok merci beaucoup Castours,

ça marche, pas d'enregistrements si je ne le veux pas.

En revanche lorsque je quitte sans enregistrer, Access me dit " vous devez entrer une valeur pour le champ 'unte'l " , et j'ai une erreur de compilation.

Comment remédier à ce problème pour que je puisse quitter /fermer mon formulaire à moitié rempli sans que ça n'enregistre ni que ça fasse d'erreur de compilation ? ^^

je sais j'en demande beaucoup, mais je trouverai ça aberrant de la part d'Access qu'on ne puisse pas faire ça sans problème, ça me semble être la base de tout environnement de travail .... ( sous word on te demande si tu veux enregistrer, et si tu ne veux pas il n'y a pas de bug )

Merci beaucoup en tout cas ;)
0
castours Messages postés 2955 Date d'inscription lundi 18 septembre 2006 Statut Membre Dernière intervention 31 août 2019 217
17 juil. 2013 à 17:41
Bonjour
Quand tu refuses l'enregistrement , tu reviens au point de depart.
avec quel access travailles-tu?.
0
Random Dude Messages postés 24 Date d'inscription mercredi 3 juillet 2013 Statut Membre Dernière intervention 6 août 2013
18 juil. 2013 à 09:45
Alors je travaille sous Access 2007-2010. Et oui c'est ce que j'aimerais, que je puisse tout simplement refuser l'enregistrement et revenir au point de départ.

Mais là access me sort une erreur de compilo et me demande de remplir certains champs.
0

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

Posez votre question
castours Messages postés 2955 Date d'inscription lundi 18 septembre 2006 Statut Membre Dernière intervention 31 août 2019 217
18 juil. 2013 à 10:54
Bonjour
Une suggestion
Peut etre en faisant un bouton effacement de l'enregistrement, avant de quitter mais cela supprime aussi le N° ou l'ide de la clé primaire. tu auras une rupture de continuité de numérotation.
0
castours Messages postés 2955 Date d'inscription lundi 18 septembre 2006 Statut Membre Dernière intervention 31 août 2019 217
18 juil. 2013 à 11:02
Voici le code d'un bouton effacement access2003

Tu selectionnes ton enregistrement et tu cliques sur le bouton
cela fonctionne j'ai essayé

Private Sub Commande21_Click()
On Error GoTo Err_Commande21_Click


DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70

Exit_Commande21_Click:
Exit Sub

Err_Commande21_Click:
MsgBox Err.Description
Resume Exit_Commande21_Click

End Sub
0
Gloktar Messages postés 22 Date d'inscription lundi 8 juillet 2013 Statut Membre Dernière intervention 23 juillet 2013
18 juil. 2013 à 11:01
Salut,
tu fais un bouton Retour qui annule l'enregistrement et qui te ferme ton formulaire. Et tu interdis l'accès à la fermeture classique avec la croix en haut à droite.
A+
0