[Access] A l'aide
bibiJOIE3
-
Rotciv45 -
Rotciv45 -
Bonjour à tous,
Je suis vraiment en train de m'arracher les cheveux afin de trouver un script, ou autre afin d'arriver à ce que je veux.
Explication :
J'ai un formulaire où apparait le code 1
Dans le sous formulaire, se répercute forcément le code 1
Dans ce sous-formulaire, j'ai une liste modifiable qui me propose plusieurs choix.
Seulement, je souhaite qu'il me propose UNIQUEMENT les choix concernant le code 1...
Par exemple :
Dans le formulaire, je travaille sur la FNAC (Code 123)
Je peux aussi avoir d'autres code, du genre CARREFOUR (Code 321)...
Dans mon sous-formulaire, je dois sélectionner les produits que vends le magasin en cause.
en l'occurence, nous parlons ici de la FNAC.
Je veux donc que dans les produits de la liste (modifiable ou non), me soient proposé uniquement ce que fais la FNAC et non pas CARREFOUR.
C'est assez compliqué mais merci encore de votre aide...
Je suis vraiment en train de m'arracher les cheveux afin de trouver un script, ou autre afin d'arriver à ce que je veux.
Explication :
J'ai un formulaire où apparait le code 1
Dans le sous formulaire, se répercute forcément le code 1
Dans ce sous-formulaire, j'ai une liste modifiable qui me propose plusieurs choix.
Seulement, je souhaite qu'il me propose UNIQUEMENT les choix concernant le code 1...
Par exemple :
Dans le formulaire, je travaille sur la FNAC (Code 123)
Je peux aussi avoir d'autres code, du genre CARREFOUR (Code 321)...
Dans mon sous-formulaire, je dois sélectionner les produits que vends le magasin en cause.
en l'occurence, nous parlons ici de la FNAC.
Je veux donc que dans les produits de la liste (modifiable ou non), me soient proposé uniquement ce que fais la FNAC et non pas CARREFOUR.
C'est assez compliqué mais merci encore de votre aide...
8 réponses
Bien faut mettre une clause 'where' dans ta zone de liste du sous-formulaire.
NB : la source de cette zone doit être une requête basée sur ta table liant les produits aux magasins.
ex : select produits.num, produits.nom,..... from produits_par_magasin, where num_magasin=forms!formulaire_principal!zonedeliste1.
@+
NB : la source de cette zone doit être une requête basée sur ta table liant les produits aux magasins.
ex : select produits.num, produits.nom,..... from produits_par_magasin, where num_magasin=forms!formulaire_principal!zonedeliste1.
@+
Tu dois donc avoir une table "firme" ou "fournisseur" et une table "produits".
La clé primaire de ta table (format numérique ou numéroAuto) doit être présente dans ta talbe produits (format numérique).
Ensuite, tu vas dans la fenêtre relations (menu outils).
Tu ajoutes les tables en question et tu "tires" la clé primaire de ta table "firme" vers le champ en question sur la table produits.
Dans la boite de dialogue qui s'affiche, tu coches "respecter l'intégrité référentielle"
Tu as créé une relation un à plusieurs (désolé si j'enfonce des portes ouvertes).
Ensuite, tu choisis de créer un nouveau formulaire avec l'assitant.
La première fenêtre te demande de choisir les tables ou requêtes. Tu choisis la table "firme" et la table "produits".
Ensuite Access te demande quels champs tu souhaites inclure puis te propose un mode d'affichage.
Choisis le mode avec sous-formulaire.
Va jusqu'au bout de la procédure.
Tu te retrouves avec un formulaire principal reprenant les champs de la table firme et un sous-formulaire reprenant les champs de la table produits.
Tu constates quel lorsque tu changes d'enregistrement, les produits sont liés à la firme...
Rien ne t'empêche de modifier l'apparence du formulaire.
En mode création, sans assistant, c'est à peine plus difficile.
Tu crées un formulaire fondé sur la table firme puis dans la boite à outils, tu choisis d'ajouter un sous-formulaire (drag and drop).
Si tu as créé correctement les relations, access détermine lui-même les champs père et fils qui font le lien entre les deux tables.
OK?
La clé primaire de ta table (format numérique ou numéroAuto) doit être présente dans ta talbe produits (format numérique).
Ensuite, tu vas dans la fenêtre relations (menu outils).
Tu ajoutes les tables en question et tu "tires" la clé primaire de ta table "firme" vers le champ en question sur la table produits.
Dans la boite de dialogue qui s'affiche, tu coches "respecter l'intégrité référentielle"
Tu as créé une relation un à plusieurs (désolé si j'enfonce des portes ouvertes).
Ensuite, tu choisis de créer un nouveau formulaire avec l'assitant.
La première fenêtre te demande de choisir les tables ou requêtes. Tu choisis la table "firme" et la table "produits".
Ensuite Access te demande quels champs tu souhaites inclure puis te propose un mode d'affichage.
Choisis le mode avec sous-formulaire.
Va jusqu'au bout de la procédure.
Tu te retrouves avec un formulaire principal reprenant les champs de la table firme et un sous-formulaire reprenant les champs de la table produits.
Tu constates quel lorsque tu changes d'enregistrement, les produits sont liés à la firme...
Rien ne t'empêche de modifier l'apparence du formulaire.
En mode création, sans assistant, c'est à peine plus difficile.
Tu crées un formulaire fondé sur la table firme puis dans la boite à outils, tu choisis d'ajouter un sous-formulaire (drag and drop).
Si tu as créé correctement les relations, access détermine lui-même les champs père et fils qui font le lien entre les deux tables.
OK?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Euh, désolé, j'avais pas vu que la question portait sur une zone de liste...
Tu peux trier la source de la zone de liste en faisant référence à la clé primaire de ta table principale.
Aux changements d'enregistrement, tu exécute une procédure événementielle qui met à jour l'affichage de la zone de liste telle que: ListeX.Requery
Tu peux trier la source de la zone de liste en faisant référence à la clé primaire de ta table principale.
Aux changements d'enregistrement, tu exécute une procédure événementielle qui met à jour l'affichage de la zone de liste telle que: ListeX.Requery
Bonjour à tous,
Hélas, je sais faire des formlaires sous formulaires, le pb n'est pas là...
C'est dans la liste, je veux que la liste modifiable me propose juste les produits en question par rapport au magasin.
Pourtant, toutes mes relations sont faîtes...
Et je ne sais pas faire de procédures...
Merci bcp encore
Hélas, je sais faire des formlaires sous formulaires, le pb n'est pas là...
C'est dans la liste, je veux que la liste modifiable me propose juste les produits en question par rapport au magasin.
Pourtant, toutes mes relations sont faîtes...
Et je ne sais pas faire de procédures...
Merci bcp encore
Salut,
je crois que la solution est la suivante :
sans la propriété du sous formulaire vous avez données qui contien
source de contrôle c'est le nom de la table liée au sous FORMulair.
champ père et champs fils qui sont la clé primaire de la table père et la (clé étrangère) ou bien la clé primaire dee la table fils.
comme ça je crois que le pblème sera résolut.
Merci.
je crois que la solution est la suivante :
sans la propriété du sous formulaire vous avez données qui contien
source de contrôle c'est le nom de la table liée au sous FORMulair.
champ père et champs fils qui sont la clé primaire de la table père et la (clé étrangère) ou bien la clé primaire dee la table fils.
comme ça je crois que le pblème sera résolut.
Merci.
Bonjour et bonne année !
Finalement si je cmprend bien ta question :
Tu souhaite extraire dans un sous formulaire les prix, référence et nom d'articles correspondant à un nom d'un fournisseur que tu auras sélectionné dans une liste modifiable.
Je te propose la solution suivante (tu as déjà du faire les premières étapes) :
1. Construire une table "articles" avec tous les articles plus leur prix et références et code fournisseur. Puis une table "fournisseurs" avec les coordonnées des fournisseurs
2. Créer une requête reliant les deux tables et contenant tous les champs.
3. Créer un sous formulaire basé sur la requête de l'étape 2 contenant un tableau (en colonnes) des articles avec leur prix et référence.
4. Créer un formulaire basé sur la table "Fournisseurs".
4a. Insérer une liste modifiable basée sur la table Fournisseur
4b. Insérer le sous formulaire de l'étape 3.
4c. Créer sur la liste modifiable une procédure évennementielle. Pour cela :
4c1. Sélectionner la liste modifiable de l'étape 4a
4c2. Ouvrir ses propriétés
4c3. Choisir l'onglet "evennement"
4c4. Choisir la ligne Après MAJ"
4c5. Ajouter le code suivant :
Sub Modifiable0_AfterUpdate()
' Rechercher l'enregistrement correspondant au contrôle.
Me.RecordsetClone.FindFirst "Code Fournisseur " & Me![Modifiable0]
Me.Bookmark = Me.RecordsetClone.Bookmark
End Sub
Il faut bien sur adapter à ton cas :
- le n0 de la liste modifiable sur la première et la 2e ligne, ici 0
- le nom de la clef de la table Fournisseur ici "Code Fournisseur".
Normalement en sélectionnant un fournisseur dans la liste modifiable, tu dois voir apparaître la liste des articles lui correspondant dans le sous formulaire.
Bon courage
Finalement si je cmprend bien ta question :
Tu souhaite extraire dans un sous formulaire les prix, référence et nom d'articles correspondant à un nom d'un fournisseur que tu auras sélectionné dans une liste modifiable.
Je te propose la solution suivante (tu as déjà du faire les premières étapes) :
1. Construire une table "articles" avec tous les articles plus leur prix et références et code fournisseur. Puis une table "fournisseurs" avec les coordonnées des fournisseurs
2. Créer une requête reliant les deux tables et contenant tous les champs.
3. Créer un sous formulaire basé sur la requête de l'étape 2 contenant un tableau (en colonnes) des articles avec leur prix et référence.
4. Créer un formulaire basé sur la table "Fournisseurs".
4a. Insérer une liste modifiable basée sur la table Fournisseur
4b. Insérer le sous formulaire de l'étape 3.
4c. Créer sur la liste modifiable une procédure évennementielle. Pour cela :
4c1. Sélectionner la liste modifiable de l'étape 4a
4c2. Ouvrir ses propriétés
4c3. Choisir l'onglet "evennement"
4c4. Choisir la ligne Après MAJ"
4c5. Ajouter le code suivant :
Sub Modifiable0_AfterUpdate()
' Rechercher l'enregistrement correspondant au contrôle.
Me.RecordsetClone.FindFirst "Code Fournisseur " & Me![Modifiable0]
Me.Bookmark = Me.RecordsetClone.Bookmark
End Sub
Il faut bien sur adapter à ton cas :
- le n0 de la liste modifiable sur la première et la 2e ligne, ici 0
- le nom de la clef de la table Fournisseur ici "Code Fournisseur".
Normalement en sélectionnant un fournisseur dans la liste modifiable, tu dois voir apparaître la liste des articles lui correspondant dans le sous formulaire.
Bon courage