Menu

Copie de quelques champs d'un formulaire dans un autre formulair [Fermé]

Messages postés
4
Date d'inscription
jeudi 18 décembre 2014
Statut
Membre
Dernière intervention
19 décembre 2014
- - Dernière réponse : 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!
Afficher la suite 

6 réponses

Messages postés
965
Date d'inscription
vendredi 12 août 2011
Statut
Membre
Dernière intervention
23 juin 2019
30
0
Merci
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
Messages postés
4
Date d'inscription
jeudi 18 décembre 2014
Statut
Membre
Dernière intervention
19 décembre 2014
0
Merci
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 ?
Messages postés
965
Date d'inscription
vendredi 12 août 2011
Statut
Membre
Dernière intervention
23 juin 2019
30
0
Merci
ben oui, il faut que les champs du 2eme form. soit identique, au point de vue taille et type!
Messages postés
4
Date d'inscription
jeudi 18 décembre 2014
Statut
Membre
Dernière intervention
19 décembre 2014
0
Merci
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"
Messages postés
965
Date d'inscription
vendredi 12 août 2011
Statut
Membre
Dernière intervention
23 juin 2019
30
0
Merci
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?
Messages postés
4
Date d'inscription
jeudi 18 décembre 2014
Statut
Membre
Dernière intervention
19 décembre 2014
0
Merci
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.