Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > IHM
IHM Ce forum est dédié aux questions relatives à la création de formulaires et d'états, avec ou sans code VBA, et macros.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 02/05/2011, 14h49   #1
Candidat au titre de Membre du Club
 
Homme Kevin Merot
En apprentissage (Licence pro)
Inscription : avril 2011
Messages : 41
Détails du profil
Informations personnelles :
Nom : Homme Kevin Merot
Localisation : France, Ain (Rhône Alpes)

Informations professionnelles :
Activité : En apprentissage (Licence pro)
Secteur : Distribution

Informations forums :
Inscription : avril 2011
Messages : 41
Points : 14
Points : 14
Par défaut Formulaire : Lier liste déroulante à des zones de texte éditables

Bonjour,

Voila j'ai une table catégorie avec un id, un nom, une description, une miniature, une image, est si elle est publiée ou non.

Je voulais savoir si c'est possible d'afficher les noms des catégories dans une liste déroulante, et à coté, d'avoir le détail de la catégorie sélectionnée ?

J'ai ma liste de catégorie mais je ne trouve pas comment la faire interagir avec les autres champs afin de les mettre à jour automatiquement en fonction de la catégorie sélectionnée...

Merci d'avance pour votre aide
kurtnolan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/05/2011, 20h49   #2
Rédacteur

 
Avatar de ClaudeLELOUP
 
Homme Claude LELOUP
Chercheur de loisirs (ayant trouvé !)
Inscription : novembre 2006
Messages : 5 242
Détails du profil
Informations personnelles :
Nom : Homme Claude LELOUP
Âge : 66
Localisation : Belgique

Informations professionnelles :
Activité : Chercheur de loisirs (ayant trouvé !)
Secteur : Finance

Informations forums :
Inscription : novembre 2006
Messages : 5 242
Points : 11 037
Points : 11 037
Bonjour,

Voici comment t’y prendre :

Dans ta zone de liste,
- la propriété contenu, sans doute une requête, doit fournir 2 colonnes (nom et description) ;
- la propriété Nbre Colonnes : 2 ;
-la propriété Largeurs colonnes : n cm ;0 cm. Ainsi la description ne s’affichera pas.


Dans un autre contrôle, tu inscris comme source :
Code :
=[LaZoneDeListe].column(1)
qui veut dire : afficher la 2e colonne de la liste (la numérotation commence à zéro).
ClaudeLELOUP est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 03/05/2011, 09h21   #3
Candidat au titre de Membre du Club
 
Homme Kevin Merot
En apprentissage (Licence pro)
Inscription : avril 2011
Messages : 41
Détails du profil
Informations personnelles :
Nom : Homme Kevin Merot
Localisation : France, Ain (Rhône Alpes)

Informations professionnelles :
Activité : En apprentissage (Licence pro)
Secteur : Distribution

Informations forums :
Inscription : avril 2011
Messages : 41
Points : 14
Points : 14
Merci de ta réponse

Ça fonctionne très bien et ça me sera bien utile par la suite !

Encore merci

Edit:

Hum par contre je ne peux pas modifier les valeurs des détails de la catégorie...
Ça me met que ce n'est pas modifiable car lié à l'expression [nomDeLaListe].column(x)

Il y a une modification à faire pour rendre ces champs éditables pour mettre à jour la BDD ?
Car d'après mes recherches, en fait ce sont des contrôles calculés ? Donc non modifiable ?

Mon but final étant de pouvoir modifier les détails de la catégorie sélectionnée depuis mon formulaire
kurtnolan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/05/2011, 09h50   #4
Candidat au titre de Membre du Club
 
Homme Kevin Merot
En apprentissage (Licence pro)
Inscription : avril 2011
Messages : 41
Détails du profil
Informations personnelles :
Nom : Homme Kevin Merot
Localisation : France, Ain (Rhône Alpes)

Informations professionnelles :
Activité : En apprentissage (Licence pro)
Secteur : Distribution

Informations forums :
Inscription : avril 2011
Messages : 41
Points : 14
Points : 14
Citation:
Envoyé par kurtnolan Voir le message

Hum par contre je ne peux pas modifier les valeurs des détails de la catégorie...
Ça me met que ce n'est pas modifiable car lié à l'expression [nomDeLaListe].column(x)

Il y a une modification à faire pour rendre ces champs éditables pour mettre à jour la BDD ?
Car d'après mes recherches, en fait ce sont des contrôles calculés ? Donc non modifiable ?

Mon but final étant de pouvoir modifier les détails de la catégorie sélectionnée depuis mon formulaire
Quelqu'un sait-il comment faire ? Je ne trouve la réponse nul part Peut être que je ne cherche pas avec les bons mots =/

Merci d'avance à celui ou celle qui pourra m'aider à résoudre ce problème
kurtnolan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/05/2011, 10h16   #5
Rédacteur

 
Avatar de ClaudeLELOUP
 
Homme Claude LELOUP
Chercheur de loisirs (ayant trouvé !)
Inscription : novembre 2006
Messages : 5 242
Détails du profil
Informations personnelles :
Nom : Homme Claude LELOUP
Âge : 66
Localisation : Belgique

Informations professionnelles :
Activité : Chercheur de loisirs (ayant trouvé !)
Secteur : Finance

Informations forums :
Inscription : novembre 2006
Messages : 5 242
Points : 11 037
Points : 11 037
Bonjour,

Je n'avais pas vu ton édit dans le message d'hier.

Procède comme ceci :

- lie le contrôle à catégorie (il devient modifiable)
- dans l'événement Après mise à jour de la zone de liste, tu indiques
Code :
Me.CeContrôle = [LaZoneDeListe].column(1)
il reçoit ainsi la valeur... que tu modifies a posteriori, s'il le faut.
ClaudeLELOUP est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/05/2011, 10h43   #6
Candidat au titre de Membre du Club
 
Homme Kevin Merot
En apprentissage (Licence pro)
Inscription : avril 2011
Messages : 41
Détails du profil
Informations personnelles :
Nom : Homme Kevin Merot
Localisation : France, Ain (Rhône Alpes)

Informations professionnelles :
Activité : En apprentissage (Licence pro)
Secteur : Distribution

Informations forums :
Inscription : avril 2011
Messages : 41
Points : 14
Points : 14
Merci de ta réponse rapide mais je ne suis pas sur de bien comprendre.

Mon formulaire est formé ainsi :

zone de liste déroulante :
Code :
1
2
3
4
SELECT[liste_catégorie].[category_id],[liste_catégorie].[category_name],[liste_catégorie].[category_description],
[liste_catégorie].[category_thumb_image],[liste_catégorie].[category_full_image],[liste_catégorie].[category_publish] 
FROM liste_catégorie 
ORDER BY [category_name];
Pour laquelle je n'affiche que les category_name.

Ensuite j'ai des zone des textes qui correspondent à category_name, category_description, category_thumb_image, category_full_image, category_publish

Ces zones de textes doivent se remplir en fonction de la catégorie sélectionnée dans le liste déroulante, et doivent être éditable afin de mettre à jour la table des catégories

Que veut tu dire par lier le contrôle à catégorie ? Et comment connaitre le nom du contrôle ? C'est le nom comme "Texte10" par défaut par exemple ?
kurtnolan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/05/2011, 10h58   #7
Rédacteur

 
Avatar de ClaudeLELOUP
 
Homme Claude LELOUP
Chercheur de loisirs (ayant trouvé !)
Inscription : novembre 2006
Messages : 5 242
Détails du profil
Informations personnelles :
Nom : Homme Claude LELOUP
Âge : 66
Localisation : Belgique

Informations professionnelles :
Activité : Chercheur de loisirs (ayant trouvé !)
Secteur : Finance

Informations forums :
Inscription : novembre 2006
Messages : 5 242
Points : 11 037
Points : 11 037
Citation:
Que veut tu dire par lier le contrôle à catégorie ?
ce que tu appelles :

Citation:
des zones de texte qui correspondent à category_name...

Citation:
Et comment connaitre le nom du contrôle ? C'est le nom comme "Texte10" par défaut par exemple ?
Peut-être, si c'est comme cela dans ton application.

Et si c'est le cas, dès que tu as le temps lis ceci :

- conventions typographiques
ClaudeLELOUP est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/05/2011, 11h22   #8
Candidat au titre de Membre du Club
 
Homme Kevin Merot
En apprentissage (Licence pro)
Inscription : avril 2011
Messages : 41
Détails du profil
Informations personnelles :
Nom : Homme Kevin Merot
Localisation : France, Ain (Rhône Alpes)

Informations professionnelles :
Activité : En apprentissage (Licence pro)
Secteur : Distribution

Informations forums :
Inscription : avril 2011
Messages : 41
Points : 14
Points : 14
Encore merci de ta réponse

Je vais lire ceci
kurtnolan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/05/2011, 12h34   #9
Membre confirmé
 
Homme
Développeur amateur
Inscription : mars 2009
Messages : 176
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Maroc

Informations professionnelles :
Activité : Développeur amateur

Informations forums :
Inscription : mars 2009
Messages : 176
Points : 255
Points : 255
Bonjour,

A mon avis il serait plus pratique de faire afficher les données de la table categorie dans un sous-formulaire qui sera filtré en fonction de la valeur selectionné dans la liste déroulante.
Voici comment procéder: Crée un formulaire independant (disons F1) , place dedans une liste déroulante independante basée sur la table categories et ayant comme colonne liée id_categorie (disons C1) et créer ensuite un sous-formulaire dependant ayant les propriétes suivantes:

- source de données :Table categories.
- champ père: formulaires!F1.C1
- champ fils :id_categorie


Cordialement
reedy est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 04/05/2011, 15h42   #10
Candidat au titre de Membre du Club
 
Homme Kevin Merot
En apprentissage (Licence pro)
Inscription : avril 2011
Messages : 41
Détails du profil
Informations personnelles :
Nom : Homme Kevin Merot
Localisation : France, Ain (Rhône Alpes)

Informations professionnelles :
Activité : En apprentissage (Licence pro)
Secteur : Distribution

Informations forums :
Inscription : avril 2011
Messages : 41
Points : 14
Points : 14
Bonjour,

Tout d'abord merci de ta réponse

J'ai essayé ce que tu m'as dis, mais je ne comprend pas pourquoi lorsque je sélectionne une catégorie dans la liste, et bien le sous formulaire ne s'actualise pas, pour l'actualiser il faut changer d'enregistrement en bas à gauche.

Pourtant il me semble avoir fait ce que tu m'as dis

La seul différence c'est que j'ai comme source de données une requête affichant les catégories, car la table catégorie est en fait une table SQL liée à Access avec ODBC. ET access ne veut pas de cette table comme source de données pourle sous formulaires...
kurtnolan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/05/2011, 15h48   #11
Rédacteur

 
Avatar de ClaudeLELOUP
 
Homme Claude LELOUP
Chercheur de loisirs (ayant trouvé !)
Inscription : novembre 2006
Messages : 5 242
Détails du profil
Informations personnelles :
Nom : Homme Claude LELOUP
Âge : 66
Localisation : Belgique

Informations professionnelles :
Activité : Chercheur de loisirs (ayant trouvé !)
Secteur : Finance

Informations forums :
Inscription : novembre 2006
Messages : 5 242
Points : 11 037
Points : 11 037
Citation:
J'ai essayé ce que tu m'as dis
A qui réponds-tu ?
ClaudeLELOUP est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/05/2011, 15h56   #12
Candidat au titre de Membre du Club
 
Homme Kevin Merot
En apprentissage (Licence pro)
Inscription : avril 2011
Messages : 41
Détails du profil
Informations personnelles :
Nom : Homme Kevin Merot
Localisation : France, Ain (Rhône Alpes)

Informations professionnelles :
Activité : En apprentissage (Licence pro)
Secteur : Distribution

Informations forums :
Inscription : avril 2011
Messages : 41
Points : 14
Points : 14
J'ai répondu à reedy ^^

Sinon pour ta méthode, j'ai essayé, mais en vain
J'ai vraiment du mal avec le fonctionnement d'Access... ça va faire 4 jours que je lis des tutos sur les formulaires mais je ne trouve pas ce que je veux faire.

Pour ta méthode j'ai ma liste lst_category avec les champs id, nom, description, miniature, image,publier.

j'ai fais "ajouter des champs existants", j'ai sélectionné pour le moment juste category_description pour essayer. Il se nomme lbl_categoryDescription.

Pour finir dans Après MAJ de lst_category, je suis allé dans le générateur de code et j'ai mis cela :
Code :
1
2
3
Private Sub lst_category_AfterUpdate()
Me.lbl_categoryDescription = [lst_category].Column(2)
End Sub
Une fois en mode formulaire, à chaque fois que je sélectionne une catégorie, j'ai la bonne description qui s'affiche, et le champs est éditable
Mais lorsque je le modifie, ça sera toujours la description de la catégorie avec pour id=1 qui sera modifiée, quelque soit la catégories sélectionnée dans la liste.
kurtnolan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/05/2011, 10h51   #13
Candidat au titre de Membre du Club
 
Homme Kevin Merot
En apprentissage (Licence pro)
Inscription : avril 2011
Messages : 41
Détails du profil
Informations personnelles :
Nom : Homme Kevin Merot
Localisation : France, Ain (Rhône Alpes)

Informations professionnelles :
Activité : En apprentissage (Licence pro)
Secteur : Distribution

Informations forums :
Inscription : avril 2011
Messages : 41
Points : 14
Points : 14
Désolé avec toutes ces questions, mais je ne vois toujours pas comment parvenir à mon but, je commence à désespérer

Donc si quelqu'un voit ou je fais une erreur ou ce qu'il faut faire, un grand merci d'avance
kurtnolan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/05/2011, 11h25   #14
Membre confirmé
 
Homme
Développeur amateur
Inscription : mars 2009
Messages : 176
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Maroc

Informations professionnelles :
Activité : Développeur amateur

Informations forums :
Inscription : mars 2009
Messages : 176
Points : 255
Points : 255
Bonjour,


Citation:
La seul différence c'est que j'ai comme source de données une requête affichant les catégories, car la table catégorie est en fait une table SQL liée à Access avec ODBC. ET access ne veut pas de cette table comme source de données pourle sous formulaires...
J'ai fait le test moi-même, l'utilisation d'une table liée ODBC comme source de données d'un sous-formulaire fonctionne parfaitement.


Citation:
J'ai essayé ce que tu m'as dis, mais je ne comprend pas pourquoi lorsque je sélectionne une catégorie dans la liste, et bien le sous formulaire ne s'actualise pas, pour l'actualiser il faut changer d'enregistrement en bas à gauche
Place une action actauliser sur l'évenement aprés mise à jour de la liste déroulante


Citation:
pour l'actualiser il faut changer d'enregistrement en bas à gauche
J'ail l'impressioin que ton formulaire principal (conteneur) n'est pas indépendant

Cordialement
reedy est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h18.


 
 
 
 
Partenaires

Hébergement Web