Champ automatique

jehanx -  
 xasterre -
Bonjour,

J'aime beaucoup Access mais je ne suis pas calé en langage VB ni en SQL.

J'ai réussi grâce à l'aide d'un participant à créer une liste déroulante sur un formulaire qui reprend les données d'une catégorie saisie au moins 1 fois manuellement et saisissable depuis le même formulaire (une sorte d'aide mémoire,intégré au formulaire et qui peut s'utiliser en copier-coller pour choisir ma catégorie, sans risque de doublon avec une différence peu repérable)

Mon problème aujourd'hui seraiit de renseigner un champ automatiquement depuis une table où je le saisis vers une autre table d'un usage différent. Concrétement : dans un fichier "Renseignement clients" où je saisis les données j'ai un champ"Difficultés" de type Mémo où je renseigne les problèmes de mes consultants. J'aimerais, dans ma table "Consultations" où j'enregistre mes rendez-vous (Client - saisi par liste déroulante au travers d'une requête que je fais concaténer NOM, prénom, Date de naissance - , Date, Heure, "Difficultés" et Compte-rendu de visite, que le champ "Difficultés" se recopie automatiquement depuis le même champ de ma table client.

Merci d'avance si on peut m'indiquer une solution.

Cordialement

Jehanx

8 réponses

NagNag
 
C'est simple c'est avec une requête mise-à-jour puis tu l'actualise OK?
0
jehanx
 
Mercii NagNag,

mais je n'ai pas assez l'habitude des requête Mise-à-jour :-( Je la fais comment : avec chacune des 2 tables ou seulement la table émettrice, ou seulement la table réceptrice ? Puis en critère faut-il entrer tous les champs ou juste les champs à mettre_à-jour ?
Et comment rédiger l'expression pour dire "copier champ depuis table A vers même champ table B' ?
Merci d'avance si tu as la gentillesse de me préciser. Autant je pense avoir un niveau correct dans certains domaines, autannt dans d''autres je suis encore assez novice.

Cordialement

Jehanx
0
jehanx Messages postés 8 Statut Membre 1
 
Bon c'est bien de savoir ce qu'il faut faire, mais c'est encore plus efficace de savoir COMMENT le faire.
Si quelqu'un a la gentillesse de me renseigner ça me rendra grand service, c'est quand même mieux
une application sur mesure que du logiciel prêt-à-porter......
Merci d'avance

Jehanx
0
jehanx Messages postés 8 Statut Membre 1
 
Parce que lorsque je crée l'enregistrement d'un client je note ses symptômes (table cllients) et lorsque je gère ses rendez-vous,
je remplis un champ de compte-rendu après la visite, et celà me permet de voir l'évolution en appelant les rendez-vous du même client
dans mon formulaire de consultations.
Pour moi ça semble important d'avoir sous les yeux simultanément l'ensemble des symptômes de départ et l'état à une visite donnée.
Donc si quelqu'un a une solution ça me dépannerait bien.

J'ai bien essayé quelques codes SQL avec l'instruction
UPDATE Consult.Difficultés SET Consult.Difficultés = Clients.Difficultés
mais tantôt j'obiens un résultat nul, tantôt la requête me demande un paramètre car elle inclut automatiquement des crochets
autour de ma dernière expression (comme si elle n'arrivait pas à chercher le résultat demandé DANS ma table clients !)

Ca doit quand même être possible de recopier un cham d'une table dans une autre. Quand les clients sont gérés par N° ça permet
de les appeler dans une autre table avec ce numéro, soit directement, soit en donnant des éléments pertinents qui font
reconnaître le N°

Si quelqu'un a assez d'expérience Access pour créer cette recopie automatique celà me sortirait une belle
épine du pied. Merci d'avance.

Cordialement

Jehanx
0

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

Posez votre question
Polux31 Messages postés 7219 Statut Membre 1 204
 
je crois que je me suis mal fait comprendre ... pourquoi recopier un champ quii existe déjà dans la base de données ??? Dans la table CONSULT, il suffit de rajouter un champ avec le N° client et de lier la client et la table conult. Ensuite une simple requête SELECT avec en clause Where le n° client et l'information remonte toute seule:
Requête = "Select Difficultés from consult where n°client = " & (ici le n°client)"
0
jehanx Messages postés 8 Statut Membre 1
 
Bonjour Polux,

Je me suis aussi sûrement mal exprimé,
ce que je voudrais, ce n'est pas que ce champ appparaisse pour un client précis portant le N° untel, mais pour
tous ceux que j'ai enregistrés pour lesquels j'inscris la consultation.
Je vais essayer d'être plus clair : le principe est que j'utilise 2 formulaires :
- 1 pour remplir la table "clients" et ausii la consulter en utilisant les filtres Access
- 1 pour enregistrer les rendez-vous et compte-rendus de visite, et voir la progression des clients au fur et à mesure des visites.
Dans le 2ème formulaire, j'aimerais faire apparaitre le champ mémo "Difficultés" concernant le client de l'enregistrement en cours
de traitement, avec 2 objectifs :
a/ visualiser dans mon formulaire "Consult" au moment de la saisie du compte-rendu (et après pour bilan d'évolutioin)
b/ enregistrer dans ma table consult (même si ça fait doublon avec celui de la table "Clients") de façon à pouvoir
filtrer mes enregistrements de "Consult" grâce à des requêtes simples au résultat en tableau.

Je comprends que ça peut se gérer sans cette recopie, mais à mon (faible) niveau de connaissance d'Access ça semble
plus facile pour moi de l'avoir dans la table "Consult" aussi.
Je prends un exemple tiré de la même Base de Données : Pour saisir mes consultations, en ayant sous les yeux
Nom, Prénom, Date de Naissance du client, j'ai fait une requête pour enchainer les 3 champs, en ajoutant espaces et virgules,
ainsi qu'une liste déroulante des clients, sous cette forme concaténée; et lorsque je fais ma saisie depuis le formulaire
"Consult" ça enreristre danss ma table consult cette concaténation qui me sert dans le formulaire, autant à saisir, qu'à
consulter sous forme de masque.

Si j'ai exprimé assez clairement mon besoin, aurais-tu une solution ?

Je te remercie d'avance

Jehanx
0
xasterre
 
j'ai le meme probleme que toi et comprend pourquoi tu veux faire sa. Je pense que la solution se trouve dans la requete d'ajout mais je n'ai pas encore trouvé comment l'utiliser ( il me dit "vous allez ajouté 0 lignes)
si tu as trouvé la solution, je te serrai reconaissant de me la donner
0
Polux31 Messages postés 7219 Statut Membre 1 204
 
Bonjour,

Pourquoi vouloir recopier un champ d'une table vers un champ d'une autre table ??? la règle première dans une base de données c'est d'éviter les doublants ou redondances ... Les index sont là justement pour remplacer les répétitions de champs. Une bonne conception des tables dans la base de données est primordiale. Si dans ta table A tu as une clé, il suffit d'ajouter cette clé dans la table B pour l'occurence concerné ... c'est plus complexe que cela en réalité, mais c'est le B-A BA.

Bon courage

;o)

Polux
-1