{Access} Zone de liste

Fermé
xav89 Messages postés 37 Date d'inscription jeudi 3 janvier 2008 Statut Membre Dernière intervention 16 février 2010 - 25 oct. 2009 à 22:43
 Ben - 26 nov. 2014 à 16:28
Bonsoir à tous,

j'ai encore des problèmes sur ma base de données access (l'apprentissage sur le tas est un peu rude^^). Donc voici mon problème, j'ai une table qui comporte plusieurs champs dont deux qui m'importe ici : en fait dans ces 2 champs chacun d'eux peuvent posséder plusieurs fois une même valeur, mais par contre une seule combinaison est possible pour les valeurs concernées; je sais pas si je suis très clair. pour faire simple c'est comme si j'ai une colonne catégorie (avec dedans fruits, viandes...) et une colonne produits (avec fraises, bananes... / bœuf, veau...).

Mon problème se situe au niveau du formulaire, j'ai créé un formulaire contenant les différents champs, et maintenant je souhaiterais mettre une zone de liste qui me permette de sélectionner le champ en particulier. Or pour le moment par exemple je vais avoir une zone de liste comme ceci :
Catégorie1---Produit1
Catégorie1---Produit2
Catégorie2---Produit1
Catégorie2---Produit2
Catégorie3---Produit1

quand je défile la zone de liste je ne vais pas avoir accès au produit 2; à chaque fois il me mettra le premier produit de la catégorie.
donc j'avais pensé mettre dans la macro après MAJ de la liste cette ligne en plus :

ce qui est déjà ="[N° de l'étude] = " & Str(Nz([Screen].[ActiveControl];0))
après ce que j'ai rajouté ="[N° de l'étude] = " & Str(Nz([Screen].[ActiveControl];0)) Et "[N° étudiant] = " & Str(Nz([Screen].[ActiveControl];0))

Voilà tout est dit! j'espère que vous aurez des idées pour résoudre mon problème parce que là je suis complètement bloqué!

Xavier

12 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
26 oct. 2009 à 07:17
Bonjour xav89,

Dans la petite BDD à télécharger, il y a une solution à votre demande dans le formulaire : F_Saisie facture

- En appelant un N° de facture dans la liste 'saisie' l'affichage de l'enregistrement appelé se met à jour
dans le formulaire.

Bien entendu, il y a un travail d'adaptation à votre problématique à faire ....


F_Saisie facture

http://www.cijoint.fr/cjlink.php?file=cj200910/cij0vYciG0.zip



Cordialement
0
xav89 Messages postés 37 Date d'inscription jeudi 3 janvier 2008 Statut Membre Dernière intervention 16 février 2010
26 oct. 2009 à 10:17
Bonjour Jean Jacques
Merci beaucoup pour la réponse,
je vais regarder de près cette solution tout à l'heure et je tiendrais au courant pour ceux qui pourraient avoir le même soucis.
Encore Merci,

Xavier
0
xav89 Messages postés 37 Date d'inscription jeudi 3 janvier 2008 Statut Membre Dernière intervention 16 février 2010
26 oct. 2009 à 16:22
Re

En fait ça marche pas, enfin c'est pas ce que je demande, car dans ce cas là, on a un champ (Num_facture) qui possède une valeur unique, et donc crée une zone de liste qui me permet de naviguer entre les enregistrements à partir d'un champ à valeur unique je sais le faire.

Par contre dans mon cas les champs ne possèdent pas une valeur unique mais par contre entre 2 champs,ils possèdent un couple unique; donc ce que je voudrais c'est que le formulaire m'affiche l'enregistrement en fonction de la première colonne ET de la deuxième colonne de la zone de liste.

Merci d'avance pour votre aide,
Xavier
0
Jean_Jacques Messages postés 1040 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 1 août 2014 112
26 oct. 2009 à 18:13
xav89,


Dans mon grenier, j'ai trouvé ceci :

http://www.cijoint.fr/cjlink.php?file=cj200910/cijr9Ubmtn.zip

Le formulaire est : F_Recherche_sur_Référence



Suis-je sur la bonne voie ?

Cordialement
0

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

Posez votre question
xav89 Messages postés 37 Date d'inscription jeudi 3 janvier 2008 Statut Membre Dernière intervention 16 février 2010
26 oct. 2009 à 19:37
re,
désolé, mais je n'ai pas encore trouvé ce que je cherchais ^^. Par contre je pense avoir trouvé un début de piste en fait j'ai ma zone de liste avec plusieurs champs et donc je voudrais que lorsque je clique sur une ligne de cette zone de liste, c'est à dire après MAJ, je souhaiterais qu'il recherche l'enregistrement qui a pour [N° de l'étude] la valeur de la colonne 1 et pour [N° de l'étudiant] la valeur de la colonne 3 et qu'il me remplisse le formulaire avec cet enregistrement qu'il aura trouvé.

Désolé de vous embêter avec tout ça et merci encore pour l'aide,
Xavier
0
Jean_Jacques Messages postés 1040 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 1 août 2014 112
26 oct. 2009 à 20:08
xav89,

Je suis en terrain connu

Private Sub Màj_Click()

Dim StDocName As String
Dim StLinkCriteriA As String

StDocName = "<Formulaire à ouvrir>"
StLinkCriteriA = "[<Réf>]=" & Me![<Réf>]

DoCmd.OpenForm StDocName, , , StLinkCriteriA

End Sub


Cordialement
A+
0
xav89 Messages postés 37 Date d'inscription jeudi 3 janvier 2008 Statut Membre Dernière intervention 16 février 2010
26 oct. 2009 à 20:34
euh c'est peut être ça mais je n'ai pas réussi à le faire fonctionner; par contre dans mon cas est-ce qu'il est possible d'avoir 2 cas en critère d'ouverture?
0
Jean_Jacques Messages postés 1040 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 1 août 2014 112
26 oct. 2009 à 20:49
xav89,

Impossible de répondre sans avoir la Base sous les yeux.
Notamment les relations entre tables.
Toutefois, en principe, il vaut mieux proscrire la complexité.

Les analystes disent : Il ne faut pas rajouter des wagons, il nuisent à la cohérence !
D'autres diraient : attention à l'usine à gaz

Cordialement
0
xav89 Messages postés 37 Date d'inscription jeudi 3 janvier 2008 Statut Membre Dernière intervention 16 février 2010
26 oct. 2009 à 21:52
En fait si j'ai réussi à faire fonctionner le code mais maintenant j'ai ma ligne de code :

StLinkCriteriA = "[N° de l'étude]=" & Me![N° de l'étude]
DoCmd.OpenForm "Relations études/étudiants complète1", , , StLinkCriteriA

et je voudrais mettre 2 conditions pour le critère. par exemple si je fais comme ça avec 2 valeurs que je fixe ça marche mais je n'arrive pas à le mettre en paramètres :

DoCmd.OpenForm "Relations études/étudiants complète1", , , "[N° de l'étude]=10 and [N° d'adhérent de l'étudiant]=2"

est-ce que vous pourriez m'aider encore un peu?
Merci d'avance

Xavier
0
xav89 Messages postés 37 Date d'inscription jeudi 3 janvier 2008 Statut Membre Dernière intervention 16 février 2010
26 oct. 2009 à 22:24
J'ai trouvé!!!!!!!!!!

en fait j'avais encore une erreur dans mon code précédent voici donc au final le code qui marche :
DoCmd.OpenForm "Formulaire", , , "[champ1]=" & Liste16.Column(0) & "and [champ2]=" & Liste16.Column(2)

Encore merci pour tout et surtout pour la patience ^^
0
Jean_Jacques Messages postés 1040 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 1 août 2014 112
27 oct. 2009 à 07:39
xav89,

Intéressante votre solution, je ne connaissais pas cette façon de faire. Je me
félicite de notre collaboration mutuellement enrichissante.

Bonne journée à vous
0
Merci beaucoup a vous deux, j'étais EXACTEMENT dans le cas de Xav ! Je vais maintenant adapter votre solution à mon probleme.
Bonne journée :)
Même plusieurs années apres ^^
0