Formulaire Access: Help !

Formulaire Access: Help ! - Logiciels - Windows & Software

Marsh Posté le 14-03-2008 à 10:32:30    

Bonjour a tous,
Voilà, je débute avec Access, je suis inculte en VBA, et je souhaite faire un formulaire de recherche tout simple.
Je dispose d'une table Access avec toutes mes infos (disons que c'est un répertoire d'adresses clients).
Je crée mon formulaire a l'aide de l'assistant, jusque là, pas de problème.
Ce que je veux, c'est que dans mon formulaire, si je sélectionne dans la liste déroulante du champ "nom", Mr DUPOND (par exemple),
que ça m'affiche dans le champ "ville" sa ville de résidence, dans le champ "tel", son téléphone, etc...
Le problème, c'est qu'aucun des champ ne sont liés les uns aux autres...
Dans ma table, tous les élements d'une même ligne doivent êtres liés.
Comment faire ?
Je seche...
 
Merci a vous

Reply

Marsh Posté le 14-03-2008 à 10:32:30   

Reply

Marsh Posté le 14-03-2008 à 11:20:23    

2 jours que je suis sur Access, c'est vraiment pas simple !
Je sature...
Help !!!!!!!!!!!!!!

Reply

Marsh Posté le 14-03-2008 à 11:58:53    

Bonjour
 
Si tu connais rien VBA regarde du coté de la fonction RechDom
Sinon, si la source de donnée de ton formulaire est ta table de clients, atteindre l'enregistrement est je pense le plus simple...
 
Des exemples illustrés seraient les bienvenus, car la, on nage dans le flou
 
Cordialement


---------------
Soyez malin, louez entre voisins !
Reply

Marsh Posté le 14-03-2008 à 12:13:27    

Voici ma table:
Michel - DUPOND - Architecte - Paris - 01.23.45.67.89
Robert - DURAND - Maçon - Nantes - 02.34.56.78.91
etc...
 
Dans mon formulaire (4 champs), je veux qu'en tappant  DUPOND dans le champ "nom" il m'affiche toutes les coordonnées de ce Mr DUPOND (dans un cadre placé au dessous de ma zone de recherche).
Ou alors, en entrant le numéro de téléphone dans le champ "phone", il me retrouve et m'affiche le client correspondant a ce numéro de telephone.
 
J'espere avoir été plus clair.
C'est vraiment un truc basique que je veux faire.
Dans ma table, chaque paramètre de chaque ligne est lié et indiscociable. (Mr DUPOND - son telephone - son adresse etc...= 1 ligne)
Dans le formulaire, en entrant 1 info (nom ou telephone) il me retouve le les lignes de ma table qui correspondent a ma requete.

Reply

Marsh Posté le 14-03-2008 à 12:25:10    

Citation :

je veux qu'en tappant  DUPOND dans le champ "nom"


On parle d'un controle indepandant la hein ? Pas d'un champ ?
 
Je pars du principe que ton champs Téléphone dans ta table s'appelle [Tel]
que le champs Nom s'appelle [NomClient]
que ta table s'appelle [Clients]
Que ton formulaire s'appelle "SaisieClients"
que le controle "recherche à partir du nom" dans le formulaire s'appelle [SchNom]
 
 
Dans le controle ou doit apparaitre le téléphone recherché en fonction du nom, dans la propriété "Source contrôle" saisir :
=rechdom("[Tel]";"[Clients]";"[NomClient] = " & [Formulaires]![SaisieClients]![SchNom])
 
En gros : Je recherche la valeur du champs Tel dans la table Clients où le nom du client dans ma table est égal à celui saisi dans le controle [SchNom] dans mon formulaire [SaisieClients]
 
LES COULEURS CORRESPONDENT
 
Cordialement


Message édité par SuppotDeSaTante le 14-03-2008 à 12:32:09

---------------
Soyez malin, louez entre voisins !
Reply

Marsh Posté le 14-03-2008 à 14:17:01    

Merci a toi,
il me semble que ta réponse corresponde a ce que je veux faire.
Cependant, je patauge completement.
N'ayant aucune notion sous Access, je ne m'en sort pas.
J'y reviendrais peut-etre plus tard...
Merci encore ;o)

Reply

Marsh Posté le 14-03-2008 à 14:28:49    

N'hesite pas, on est là pour ca ;)


---------------
Soyez malin, louez entre voisins !
Reply

Marsh Posté le 14-03-2008 à 14:47:51    

Ben pour être encore plus précis:
Je gère un parc informatique.
Donc j'ai créé une table Access avec différentes COLONES nommées: "Nom de machine", "numéro de série", "nom utilisateur", "prénom utilisateur", etc...
Sur chaque LIGNE apparait donc toutes les propriétés d'un PC (modèle, numéro de série, personne l'utilisant, nom de machine, etc)
J'ai créé un formulaire avec l'assistant.
J'ai donc un formulaire qui reprend toutes mes colonnes, sous forme de menus déroulant pour chaque en-tête de colonne.
(8 colonnes => 8 menus déroulants avec le nom de la colone correspondante)
Jusque là, j'arrive a le faire... lol
Mais après, quand je déroule un menu (numéro de série par exemple) et que je choisi un autre numéro de série, je voudrais que tous les autres champs se modifient et affichent les info de la ligne qui comprend le numéro de série selectionné.
 
Si tu as une solution simple pour mon problème je suis preneur, sinon laisses tomber, j'ai trop peu de connaissances pour m'aventurer là dedans.
Merci

Reply

Marsh Posté le 14-03-2008 à 14:50:49    

Fais moi suivre ton fichier, il doit y avoir mon mail dns mon profil
Je regarde ca vite fait ;)


---------------
Soyez malin, louez entre voisins !
Reply

Marsh Posté le 14-03-2008 à 16:52:18    

Alors, en fait, avec ton formulaire ce que tu demandes n'est pas possible.
je m'explique, tous tes controle Zone de Liste sont liés a des champs. Donc si tu pioches autre chose ca te modifie ton enregistrement initial. C'est comme si tu affectais grace a la pioche "type" un nouveau type de machine pour la machine "host_5"
Il faut distinguer l'affichage des données et le traitement des données.
La tu affiches et traites en meme temps.
 
Je te fais la modif, je te mets le lien et on en recose, tu auras surement des questions ! lol


---------------
Soyez malin, louez entre voisins !
Reply

Marsh Posté le 14-03-2008 à 16:52:18   

Reply

Marsh Posté le 14-03-2008 à 17:17:32    

En fait, je viens de relire ton mail, ce n'est pas 3x rien hein ;)
 
BDD téléchargeable ICI
 
 
 
1) Nouveau formulaire "FORMulaire_MATERIEL"
   - Controle zone de texte [nom de machine] lié au champ [nom de machine] de la requete "***source_formulaire_materiel***"
   - Controle zone de texte [modele] lié au champ [modele] de la requete "***source_formulaire_materiel***"
   - Controle zone de texte [Nom] lié au champ [Nom] de la requete "***source_formulaire_materiel***"
   - Controle zone de texte [Prenom] lié au champ [Prenom] de la requete "***source_formulaire_materiel***"
   - Controle zone de texte [S/N] lié au champ [S/N] de la requete "***source_formulaire_materiel***"
   - Controle zone de liste [SchNom] lié à rien car on ne veut pas a l'aide de ce controle faire des modifs dns la table [MATERIEL] mais seulement chercher des infos.
         * Ce controle a comme source de donnée la requete "***source_pioche***" (j'ai mis des etoiles pour qu'elle soit en haut, caractere a eviter sinon hein)
         * Ce controle, lorsqu'il est mis a jour lance la macro "macro1.actualise"
 
2) Nouvelle requete "***source_pioche***"
   - Source de données de notre pioche [SchNom] avec le champs [Nom] puisqu'on a besoin que de celui la, c'est ce qui apparaitra dans la zone de liste
 
3) Nouvelle requete "***source_formulaire_materiel***"
   - Source de données de notre formulaire "FORMulaire_MATERIEL" avec tous les champs dont on a besoin pour afficher/modifier les informations de la table [MATERIEL] et les affecter a nos controle dans le formulaire. (Cf. 1)
   - Si tu ouvres cette requete tu verras que le champ [Nom] à un critère. Ce critere est "[Formulaires]![FORMulaire_MATERIEL]![SchNom]". Il va donc filtrer la requete sur seulement ce que contient notre pioche nommé [SchNom] de notre formulaire "FORMulaire_MATERIEL"
 
4) Nouvelle macro "Macro1"
   - Contient une sous macro nommée "Actualise" lance l'action "Actualise" qui va actualiser notre formulaire. (La source de données etant liée a notre pioche, il faut actualiser a chaque fois pour qu'il prenne en compte le fait qu'on modifie la valeur de la pioche, et donc, la requete "***source_formulaire_materiel***" est actualisée.
 
 
Si tu as des questions, n'hesite pas
 
Bon courage
 
Dje


---------------
Soyez malin, louez entre voisins !
Reply

Marsh Posté le 14-03-2008 à 18:02:37    

Seconde solution ICI
Tous les controles sont fait avec des RechDom comme expliqué plus haut.
Seule une requete sous jacente a la pioche pour les information à piocher.
Pas de requete sous jacente au formulaire.
Ce sont les controles qui vont chercher les infos dans la table en fonction de la pioche
Pas de macro d'actualisation.
 
Inconvenient : les données ne sont pas modifiables directement dns le formulaire.
 
Cordialement


---------------
Soyez malin, louez entre voisins !
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed