Access : problème d'enregistrement dans une Table

Random Dude Messages postés 27 Statut Membre -  
castours Messages postés 2955 Date d'inscription   Statut Membre Dernière intervention   -
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 !

6 réponses

  1. castours Messages postés 2955 Date d'inscription   Statut Membre Dernière intervention   217
     
    Bonjour
    access enregistre automatiquement les données des qu'un champ est completé
    0
    1. Random Dude Messages postés 27 Statut Membre
       
      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
  2. castours Messages postés 2955 Date d'inscription   Statut Membre Dernière intervention   217
     
    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
    1. Random Dude Messages postés 27 Statut Membre
       
      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
  3. castours Messages postés 2955 Date d'inscription   Statut Membre Dernière intervention   217
     
    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
  4. Random Dude Messages postés 27 Statut Membre
     
    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
    1. castours Messages postés 2955 Date d'inscription   Statut Membre Dernière intervention   217
       
      Bonjour
      Quand tu refuses l'enregistrement , tu reviens au point de depart.
      avec quel access travailles-tu?.
      0
    2. Random Dude Messages postés 27 Statut Membre
       
      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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. castours Messages postés 2955 Date d'inscription   Statut Membre Dernière intervention   217
     
    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
    1. castours Messages postés 2955 Date d'inscription   Statut Membre Dernière intervention   217
       
      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
  7. Gloktar Messages postés 27 Statut Membre
     
    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