Copie de quelques champs d'un formulaire dans un autre formulair

Fermé
Aldebert8888 Messages postés 4 Date d'inscription jeudi 18 décembre 2014 Statut Membre Dernière intervention 19 décembre 2014 - 18 déc. 2014 à 13:03
Aldebert8888 Messages postés 4 Date d'inscription jeudi 18 décembre 2014 Statut Membre Dernière intervention 19 décembre 2014 - 19 déc. 2014 à 11:26
Bonjour,

mon soucis est expliqué dans le titre : j'ai un premier formulaire qui contient des champs "projets", "commentaires", "date", "auteur", et je souhaiterais copier dans un nouveau formulaire uniquement les champs "projets" et "commentaires", qui copie en fait ces champs dans un nouvel enregistrement de la même table (l'idée concrètement est de mettre à jour un "commentaire" sur un "projet" créé à une "date" antérieure - tout en conservant le premier commentaire, d'où pas d'écrasement mais une copie des données sauf de la date).

J'arrive à copier tout l'enregistrement (macro "Copy", etc...), mais je suis une bille en VBA. Or je pense que c'est par là qu'il faut passer pour copier seulement quelques champs.

Vos solutions sont les bienvenues!
Merci!

6 réponses

le meruvien Messages postés 1124 Date d'inscription vendredi 12 août 2011 Statut Membre Dernière intervention 18 août 2024 40
19 déc. 2014 à 06:21
bonjour,
Si je comprend bien ce que tu veut faire, c'est simple, tu base ton deuxième formulaire sur une nouvelle requette, issue de la même table, mais tu ne met dedans que les champs que tu veut!
roger
0
Aldebert8888 Messages postés 4 Date d'inscription jeudi 18 décembre 2014 Statut Membre Dernière intervention 19 décembre 2014
19 déc. 2014 à 08:28
oui, j'y ai pensé Le meruvien. Mais en faisant ainsi, un message d'erreur s'affiche, du style 'certains champs copiés ne correspondent pas à votre formulaire". Donc ça marche, mais avec le message d'erreur. Il y aurait un moyen de le supprimer ?
0
le meruvien Messages postés 1124 Date d'inscription vendredi 12 août 2011 Statut Membre Dernière intervention 18 août 2024 40
19 déc. 2014 à 10:12
ben oui, il faut que les champs du 2eme form. soit identique, au point de vue taille et type!
0
Aldebert8888 Messages postés 4 Date d'inscription jeudi 18 décembre 2014 Statut Membre Dernière intervention 19 décembre 2014
Modifié par Aldebert8888 le 19/12/2014 à 11:06
jusque là ok, tous mes champs sont identiques, mais le truc c'est que justement, je ne veux pas tout copier. Or, tout est copié avec la commande :

DoCmd.RunCommand acCmdSelectRecord
DoCmd.RunCommand acCmdCopy

Donc je cherche une commande pour "individualiser" les champs, plutôt que copié tout l'enregistrement.

concrètement, ce que je veux ressemble à ça:

Au départ:

Formulaire 1:

Projet: Projet1
Commentaires: Commentaire1
Date: Date1
Auteur: Auteur1

Clique sur un boutou, ouverture d'un nouveau formulaire qui affiche:

Projet: Projet1
Commentaires: Commentaire1
Date: (VIDE)
Auteur: (VIDE)

donc il ne faut pas copier tous les champs (en l'occurence "date" et "auteur")



J'ai un début de solution ainsi :

Me.Projet.SetFocus
DoCmd.RunCommand acCmdCopy
DoCmd.OpenForm "formulaire-màj", acNormal, "", "", acAdd, acNormal
Forms![formulaire-màj].[Projet].SetFocus
DoCmd.RunCommand acCmdPaste

Là, j'arrive à ne copier que le champ "projet", par contre je ne trouve pas le bon code pour en plus copier le champ "commentaire"
0

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

Posez votre question
le meruvien Messages postés 1124 Date d'inscription vendredi 12 août 2011 Statut Membre Dernière intervention 18 août 2024 40
19 déc. 2014 à 11:14
je comprend mal ce que tu veut!
Pourquoi ne fait-tu pas tout simplement un formulaire basé sur la meme table que le premier, avec la meme requette, mais qui n'affiche dans le form QUE les champs que tu veut? qui s'ouvrirait quand tu clic sur un bouton?
0
Aldebert8888 Messages postés 4 Date d'inscription jeudi 18 décembre 2014 Statut Membre Dernière intervention 19 décembre 2014
19 déc. 2014 à 11:26
je te remercie de t'intéresser au sujet :)


En fait, je veux tous les champs, c'est le soucis. Tout ceci est inscrit dans une démarche de qualité de ma boite : il faut garder une trace de tout écrit.

Donc, quand quelqu'un écrit un commentaire sur un projet, il faut le garder. Si quelqu'un passe dessus ensuite et modifie le commentaire (les modifications sont un peu du genre "cadavre exquis", on repart de ce qui a été déjà écrit), il faut que ça se voit : donc je propose de copier/coller le premier "commentaire" et le "projet" pour que ce soit plus simple.

Le premier commentaire doit donc persister, et le second reprend le premier pour le compléter : donc la date doit changer, et l'auteur aussi

Exemple :
commentaire de l'auteur X, à la date Y : "projet intéressant car [...]. Pour poursuivre, il faut l'accord de Z sur le sujet".
Puis deuxième commentaire par l'auteur Z à la date du Y' : "projet intéressant car [...] . Voici mon avis : c'est en fait trop cher, on arrête tout".
--> Le commentaires est copié pour ne pas avoir à le recopier manuellement.

En fait, je sais qu'en copiant tout, les gens ne penseront pas à modifier les champs "date" et "auteur", donc je préfère les laisser vides.
0