Access copie partielle

Bonjour,

J'ai un formulaire qui me permet de remplir ma table grâce à des champs à compéter, chacun correspondant à une colonne de la table.

J'ai besoin de copier un enregistrement quand le formulaire est rempli (copier ce que j'ai entré dans le formulaire) MAIS PAS TOUT , il y a certains champs que je ne voudrais pas copier( qui ne doivent pas êrte modifié) et que je voudrais qu'ils soient vide sur la copie. C'est à dire faire une copie mais pas de certains champs ( peut-être pouvoir selectionner ce que je veux copier si cela est possible)

J'ai fais un bouton de duplication mais cela copie tout, donc c'est pas bon...

Merci D'avanace !
Configuration: Windows XP
Internet Explorer 6.0

7 réponses

  • Votes
  • Date
  • Date décroissante
  1. Dans le module attaché au bouton qui copie, tu rajoutes pour chaque champ qui doit rester vide:

    Me!NomDuChamp.Value = Null
    1. Je ne comprends pas cette notion de "module"...

      J'ai simplement créer un bouton sur le formulaire de cette maniére:

      catégorie : " Opéations sur enreg." > Actions:" Dupliquer un enregistrement"
    2. J'ai vraiment besoin de cela, s'il te plait...

      Pourrait tu me dire à quelle endroit on entre ce type d'éxpression??

      Merci !!
  2. Tu vas dans les propriétés du bouton, tu affiches la procédure évenementielle Sur Clic, tu copies ce qui s'affiche et tu me le postes, ok? Je rajouterai ce qui manque.

    Je ne peux pas faire un cours complet de VB Access ici. Un coup de pouce, je veux bien...
    1. Private Sub Commande50_Click()
      On Error GoTo Err_Commande50_Click

      DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70

      Exit_Commande50_Click:
      Exit Sub

      Err_Commande50_Click:
      MsgBox Err.Description
      Resume Exit_Commande50_Click

      End Sub
      ______________________________________________________________
      Private Sub Commande51_Click()
      On Error GoTo Err_Commande51_Click

      DoCmd.Close

      Exit_Commande51_Click:
      Exit Sub

      Err_Commande51_Click:
      MsgBox Err.Description
      Resume Exit_Commande51_Click

      End Sub
      ______________________________________________________________
      Private Sub Commande58_Click()
      On Error GoTo Err_Commande58_Click

      DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
      DoCmd.DoMenuItem acFormBar, acEditMenu, 2, , acMenuVer70
      DoCmd.DoMenuItem acFormBar, acEditMenu, 5, , acMenuVer70 'Paste Append

      Exit_Commande58_Click:
      Exit Sub

      Err_Commande58_Click:
      MsgBox Err.Description
      Resume Exit_Commande58_Click

      End Sub

      J'ai copié toute la page qui s'est affiché (ce que j'avais en fasse de moi était à partir du 3éme PRIVATE) !
      Je t'aurais bien donné les champs à ne pas copier mais il en a au moins 15...
      Tu m'éxpliquera juste comment faire avec un exemple !

      Merci Bien c'est gentil !!
  3. Le Commande50 enregistre tes données, le Commande 51 ferme (le formulaire sans doute), c'est le 58 qui duplique.
    (Enregistre puis copie puis colle par ajout, en fait)

    Une fois que c'est ajouté il faut donc remettre les champs à blanc:

    DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
    DoCmd.DoMenuItem acFormBar, acEditMenu, 2, , acMenuVer70
    DoCmd.DoMenuItem acFormBar, acEditMenu, 5, , acMenuVer70 'Paste Append
    Me!NomDuChamp1.Value = Null
    Me!NomDuChamp2.Value = Null


    etc etc etc...

    1. Lorsque je rajoute cela: Me!Budget Previsionnel (en k€).Value = Null

      Ce message d'erreur s'affiche

      < Erreur de compilation:

      Attendu:= >

      C'est peut être à cause des espaces dans le nom du champ..enfin je sais pas
  4. Mets des crochets autour du nom de champ.
    1. Merci avec les crochets ça marche.

      Mais y'a un petit souci...pas dans la copie elle marche bien la copie, mais le truc c'est que quand tu copies ça crée une deuxième fiche mais j'aimerais bloquer la roulette pour pas faire défiler les fiches!!

      J'explique:

      Je sais pas si tu as deja remarqué, on a tendance à faire tourner la roulette de la souris pour faire descendre ou monter la page, mais dans un formulaire ça fais passer à la fiche suivante !! Donc on peut perdre l'endroit ou on travail si on a plein de fiches!!

      C'est possible de bloquer la roulette sur les formulaires et que si il veut changer de fiche, l'utilisateur clic lui même sur la flèche??
  5. J'ai déjà vu des posts là dessus, c'était compliqué, un peu. Il n'y a pas juste une option à cocher quelque part...

    Voilà ce que 'avais trouvé...

    http://www.self-access.com/access/grenier/acRedir.php?id=131
    1. okok merci ! :)
  6. Salut,

    Pourrais-tu m'expliquer cette expression: Me!NomDuChamp1.Value = Null
    Que veut dire le : Me!

    Merci