Probleme formulaire access

Fermé
Dk1946 - 2 juil. 2010 à 01:11
 Jean_Jacques - 6 juil. 2010 à 06:31
Bonjour,

Voila je suis en stage et je dois apprendre access le plus vite possible, jai donc commencer par faire une petite base de donnee.

J'ai donc 4 tables, celle contenant la liste des clients, celle contenant la liste des commandes, une contenant tout les produits, et la dernieres contenant les produits de chaque commande.

Mon probleme : Je voudrais cree un formulaire de commande on doit selection le client dans une liste (ca jai reussi xD), mais je voudrais la completion automatique de son numero, et ensuite pouvoir ajouter autant de produit qu'il souhaite dans ma table regrouper

Je n'arrive pas a faire cette completion ainsi qu'a remplir ma table regrouper.

Si vous pouviez m'aider merci !


4 réponses

Jean_Jacques Messages postés 1040 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 1 août 2014 112
2 juil. 2010 à 07:49
Bonjour Dk1946,


Vous trouverez une réponse à votre difficulté dans cette petite base
spécimen ACCESS 2000 à télécharger :

http://www.cijoint.fr/cjlink.php?file=cj201007/cijlWVTzBI.zip

En activant le formulaire consultation vous constaterez qu'il suffit de changer le nom via la liste déroulante pour que les autres champs s'affichent.

Cordialement
0
Bonjour et merci !

J'ai regarder la base de donnee, en effet c'est ce que je veux faire, mais pourrais tu m'expliquer cette fonction stp :

Private Sub NOM_A_CHERCHER_AfterUpdate()
'
Dim rs As Object

Set rs = Me.Recordset.Clone
rs.FindFirst "[NUM_CLIENT] = " & Str(Me![NOM_A_CHERCHER])
Me.Bookmark = rs.Bookmark

End Sub

J'ai essayer de lincorporer dans mon formulaire sans succes, incompatible type...

Merci
0
Bonjour Dk1946,

Dans le jargon ACCESS, il s'agit d'un évènement.
1/Nom_a_chercher est le nom de la zone de liste où s'affiche le nom sélectionné.
Ce qui provoque la recherche de l'enregistrement correspondant au nom recherché..... et, par voie de conséquence, l'appel de tous les champs concernés et leur affichage...
Vous trouverez ces mêmes informations, et d'autres, dans l'aide en ligne F1 en saisissant ...
Exécuter code dans le champ de saisie


Microsoft Access facilite l'exécution de code en réponse à une action accomplie par l'utilisateur. Lorsque vous attribuez [Procédure événementielle] à une propriété d'événement pour un formulaire, un état ou un contrôle, Microsoft Access crée le modèle de procédure événementielle à votre place. Il vous suffit d'ajouter le code à exécuter en réponse à un événement particulier dans le formulaire, l'état ou le contrôle. Par exemple, vous pouvez programmer l'exécution de code lorsqu'un utilisateur clique sur un bouton de commande ou modifie des données.

Ouvrez un formulaire ou un état en mode Création de formulaire ou d'état.
Affichez la feuille des propriétés du formulaire ou de l'état ou une section ou un contrôle du formulaire ou de l'état.


Cliquez sur l'onglet Événement.
Cliquez sur la propriété d'événement de l'événement qui doit déclencher la procédure. Pour afficher, par exemple, la procédure événementielle de l'événement Changement, cliquez sur la propriété SurChangement (OnChange).


Cliquez sur Générer à côté de la zone de propriété pour afficher la boîte de dialogue Choisir Générateur.


Double-cliquez sur Générateur de code pour afficher les instructions Sub et End Sub de la procédure événementielle dans le module du formulaire ou le module de l'état. Ces instructions définissent, ou déclarent, la procédure événementielle.
Microsoft Access déclare automatiquement des procédures événementielles pour chaque objet et événement d'un module de formulaire ou d'état, en utilisant le mot réservé Private pour indiquer que seules les autres procédures de ce module peuvent accéder à cette procédure.

Ajoutez le code à la procédure événementielle qui doit s'exécuter au cours de l'événement. Par exemple, pour émettre un son au moyen du haut-parleur de l'ordinateur lorsque des données sont modifiées, ajoutez une instruction Beep à la procédure événementielle Société_Change, de la manière suivante :
Private Sub Société_Change()

Beep

End Sub
La procédure événementielle s'exécute chaque fois que l'événement Changement se produit pour l'objet.

Cordialement
0
Tout dabord merci beaucoup pour ces explications.

Jai bien compris comment marchait les evenements, maintenant ce que je comprend pas se sont ces deux lignes :

rs.FindFirst "[NUM_CLIENT] = " & Str(Me![NOM_A_CHERCHER])


le findfirst sert a rechercher ok, mais NUM_CLIENT est un numerique, et NOM_A_CHERCHER un string, moi il me met incompatible type a lexecution ..
0
Bonjour,


Approximativement cela signifie :
Trouver (Se positionner) sur le l'enregistrement qui contient l'argument sélectionné dans la liste déroulante !


Me.Bookmark = rs.Bookmark : Permet de "marquer" l'enregistrement à atteindre...

J'ajoute qu'il n'est pas impossible que votre version d'ACCESS soit rétive à cette syntaxe .... Sous ma version ACCESS 2000 tout se passe bien.


En saisissant atteindre dans l'aide en ligne, vous aurez de nombreuses informations au sujet du positionnement des enregistrements.

Cordialement
0