Pré-remplir champs dans un formulaire access

Fermé
ElGringoDemaciadoGordo - 30 sept. 2008 à 14:32
 Utilisateur anonyme - 26 oct. 2016 à 22:08
Bonjour,

Je suis confronté au problème suivant :

J'ai un formulaire Form1 qui contient x champs.
J'ai une table produits (TProduits) qui contient X références chacune identifiée par un identifiant alphanumérique (12 caractères - des lettres et des chiffres)

Mon formulaire Form1 contient un champs identifiant (ID) et mon souhait est qu'une fois ce dernier rempli par un utilisateur, le champs libellé du produit (LibProduit) soit automatiquement renseigné en allant chercher l'info dans la table TProduit.

Je vous remercie par avance pour votre aide et suis à votre disposition pour toute demande d'informations complémentaires sur ce problème.

6 réponses

LatelyGeek Messages postés 1758 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 5 janvier 2023 550
3 oct. 2008 à 17:03
Essaye
Me.LibProduit = DLookup("LibelleProduit", "TProduit", "[IDProduit]=ID")
et mets cette zone à jour avec F9.
Si ça fonctionne (et ça devrait) tu peux mettre un Requery("LibProduit") après MAJ de la zone de texte ID.
0
ElGringoDemaciadoGordo
6 oct. 2008 à 11:38
Merci infiniment !

Ca marche impécable (même si je ne comprends pas pourquoi ! ;o) )

Eventuellement une question, la donnée récupérée contient souvent x espaces inutiles après le nom du produit. Puis-je rajouter une fonction dans cette instruction qui me permettrait de supprimer les espaces inutiles (plus de 2 espaces consécutifs) un peu comme la fonction supprespace() de Excel ?

Merci encore pour votre aide.
0
Bonjour,

Novice sur Access 2016, je tente aussi d'utiliser la fonction DLookup.

J'ai une table "CLIENT" avec les champs Name, Firstname, Company...
J'ai une table "COMMANDE" avec les champs "N°Commande", "Date de réception"

Je souhaiterais dans un formulaire lorsque je tape le champs "Name" que les champs "Firstname" "Company" se pré-remplissent automatiquement.
De même j'aimerais que les champs de la table "COMMANDE" s'affichent (en sous formulaire?) avec les numéros de commandes et les dates de reception de chaque commande. Il peut y avoir plusieurs commandes par client...

C'est un problème basique, je sais mais compliqué d'y voir clair malgré de nombreuses recherches et un bouquin!

Y-a-t-il une solution sans passer par le VBA?

Merci infiniment,

So
0
Utilisateur anonyme
26 oct. 2016 à 22:08
Crées ton sujet,

là tu réponds à un sujet de 2008....

A+
0
Gabess Messages postés 1333 Date d'inscription lundi 25 juin 2007 Statut Membre Dernière intervention 21 juillet 2010 114
30 sept. 2008 à 14:35
Salut,

Quand ton champ identifiant perd le focus, il faut que tu lances une recherche dans ta table avec l'ID renseigné et que tu donnes la valeur à ton libellé
-1
ElGringoDemaciadoGordo
30 sept. 2008 à 14:39
Merci pour cette prompte réponse...

Quel est le code à utiliser (je suis un peu néophyte) pour lancer automatiquement cette recherche dans la table TProduit.

J'ai essayé avec la fonction dlookup mais sans succès (c'est peut-être lié au fait que l'identifiant est alphanumérique et pas uniquement numérique)

Merci par avance de votre aide.
0
Gabess Messages postés 1333 Date d'inscription lundi 25 juin 2007 Statut Membre Dernière intervention 21 juillet 2010 114
30 sept. 2008 à 14:41
Faudrait faire ca en vba ...
-1
ElGringoDemaciadoGordo
30 sept. 2008 à 16:22
Bonjour,

Auriez-vous un exemple un exemple à me soumettre ?

Merci par avance...
0

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

Posez votre question
LatelyGeek Messages postés 1758 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 5 janvier 2023 550
2 oct. 2008 à 20:02
DLookUp devrait fonctionner. Envoie ta syntaxe, pour voir.
-1
ElGringoDemaciadoGordo
3 oct. 2008 à 14:05
Ha si dlookup peut fonctionner ce serait parfait,

la syntaxe que j'ai utilisé est la suivante :

Me.LibProduit = DLookup("LibelleProduit", "TProduit", "[IDProduit]=" & Me.ID & "")

La structure de formule est la suivante :

- LibProduit : nom du champs que je veux mettre à jour dans le formulaire
- LibelleProduit : nom de la colonne dans la table des produits où se trouve le nom des produits
- TProduit : c'est le nom de la table où se trouve les produits (nom, prix, référence, etc...)
- IDProduit : Colonne dans la table des produits où se trouve la référence du produit (c'est une référence alphanumérique structurée ainsi : 3 lettres + 3 chiffres ; exemple : VIS012)
- ID : nom du champs dans le formulaire où l'utilisateur entre la référence du produit

J'espère que vous aurez suffisamment d'information avec tout cela.

Merci par avance pour votre aide.
0
LatelyGeek Messages postés 1758 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 5 janvier 2023 550
6 oct. 2008 à 21:56
Eh bien la fonction s'appelle SupprEspace également. Dingue, non?
Utilisable dans une requête, un formulaire ou un état.
-1