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 22/10/2011, 13h59   #1
Nouveau Membre du Club
 
Inscription : juin 2005
Messages : 356
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 356
Points : 36
Points : 36
Par défaut zones de liste liées

Bonjour à tous.
dans un formulaire,
j'ai 2 zones de liste (pas des ComboBox)
Liste1 = liée à la requête "joursdevente" qui affiche s'un seul champ"date"
Liste2 = liée à la requête "clients_vente" qui affiche tous les résultats de la requête (avec la date de vente)
jusque là ça marche.
Je voudrais lier les 2 zones de liste pour que dans ma ZL2 ne n'affiche que les résultats correspondants à la date sélectionnée dans ma ZL1.

Comment faire svp?

j'ai suivi ce tuto:
http://office.microsoft.com/fr-ca/ac...001173058.aspx

je n'y arrive pas..help svp
PAUL87 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/10/2011, 20h57   #2
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 089
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 089
Points : 11 622
Points : 11 622
Bonjour,

Dans la rubrique tutoriels il y a un cours sur ce sujet.

Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2011, 12h01   #3
Nouveau Membre du Club
 
Inscription : juin 2005
Messages : 356
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 356
Points : 36
Points : 36
bonjour.
et merci
j'ai vu un tutoriel, mais il concerne des Zones de liste déroulantes. (combo)
pas zones de liste simple
PAUL87 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2011, 13h21   #4
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 089
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 089
Points : 11 622
Points : 11 622
Bonjour,

Même propriétés, même fonctionnement !

Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2011, 17h08   #5
Nouveau Membre du Club
 
Inscription : juin 2005
Messages : 356
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 356
Points : 36
Points : 36
re_bonjour et merci.
j'ai adapté le code à mon appli,
ma liste1 qui liste les dates présentes dans la table vente fonctionne.
Ma liste 2 ne fonctionne pas avec le code ci dessous
j'ai un problème avec la clause WHERE du sql.
mais je ne sais pas lequel.?
le fait que ce soit une variable de type date pose t'il un problème?
Merci pour votre aide

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Private Sub Liste2_Click()
Dim lngIDCat   As Date
Dim SQL        As String
 
 
  date = Me!Liste2
 
'MsgBox (Date)
SQL = "SELECT nom, prénom, date FROM clientvente WHERE clientvente.date =" & date & ""
 
  Liste1.RowSource = SQL
 
  Liste1.Enabled = True
  Liste1.SetFocus
 
 End Sub
PAUL87 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2011, 17h23   #6
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 089
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 089
Points : 11 622
Points : 11 622
Bonjour,

1) date est un mot réservé. Si tu l'utilises, tu vas au devant de gros ennuis.
A changer dans tes tables !

2) Pourquoi stocker la valeur de la liste dans une variable si tu ne l'utilises qu'une seule fois.

4) Le séparateur de date dans SQL est le #.

Code :
me.Liste1.RowSource= "SELECT nom, prénom, date FROM clientvente WHERE clientvente.date =#" & me.liste2 & "#"
Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2011, 18h46   #7
Nouveau Membre du Club
 
Inscription : juin 2005
Messages : 356
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 356
Points : 36
Points : 36
Re
Merci,
j'ai bien changé le nom de variable en "datev"
ça fonctionne mais avec un petit problème,
ça n'affiche pas dans la liste1 certains enregistrements, alors que j'ai bien une date de vente dans la liste2
et si je verifie dans ma table vente, il y a bien une vente pour ce jour là..
c'est bizzare...
pourquoi?
PAUL87 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2011, 20h24   #8
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 089
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 089
Points : 11 622
Points : 11 622
Les dates en VBA sont TOUJOURS au format US.

ceci devrait régler le problème.

Code :
clientvente.date =#" & format(me.liste2,"dd/mm/yyyy") & "#"
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/10/2011, 11h20   #9
Nouveau Membre du Club
 
Inscription : juin 2005
Messages : 356
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 356
Points : 36
Points : 36
Bonjour,
Et encore merci pour ton aide.
Mais décidemment ça ne fonctionne pas..
Pour récapituler:
j'ai 2 tables (1 table ""clients et 1 table "ventes")...voir fichier attaché.

J'ai ensuite crée une requête "clientvente" qui permet d'associer les ventes aux clients:
Code :
1
2
SELECT Ventes.Id_client, Ventes.datev, Clients.nom, Clients.prénom, Ventes.description, Ventes.montantTTC, Ventes.mode
FROM Clients INNER JOIN Ventes ON Clients.Id_client = Ventes.Id_client;
j'ai un formulaire qui s'apelle "ventedate" dans lequel j'ai une ZL2 qui sert à lister les dates de vente contenues dans la table "vente":
le remplissage de cette liste est commandé par
Code :
SELECT DISTINCT Joursdevente.datev FROM Joursdevente;
"DISTINCT" afin d'éliminer les doublons par date.

Ensuite, j'ai ma ZL1 qui doit afficher les résultats de de la requête "clientvente" en fonction de la date choisie dans la ZL2.
avec:
Code :
1
2
3
Private Sub Liste2_Click()
Me.Liste1.RowSource = "SELECT nom, prénom, datev FROM clientvente WHERE clientvente.datev =#" & Format(Me.Liste2, "dd/mm/yyyy") & "#"
End Sub
en clair cela me permet d'avoir en ZL1 tous les clients sur un jour choisi..

à la sélection d'une date en ZL2, le comportement est bizzare, certains résultats s'affichent bien en ZL1 mais d'autres ne s'affichent pas..

je n'arrive pas à comprendre d'ou ça vient..
Encore merci+++
pour vos aides et conseils
Paul
Images attachées
Type de fichier : jpg Capture02.jpg (10,4 Ko, 4 affichages)
PAUL87 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/10/2011, 14h09   #10
Nouveau Membre du Club
 
Inscription : juin 2005
Messages : 356
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 356
Points : 36
Points : 36
re bonjour.
en fait et après plusieurs essais..+++
cela ne fonctionne pas avec des dates < au jour 12...
est-ce possible..?
dans ma table "vente" le champ date est bien paramétré en date/heure avec masque date abrégé..
Help
PAUL87 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/10/2011, 15h48   #11
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 089
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 089
Points : 11 622
Points : 11 622
Bien étrange !
Toujours un problème de format US (mm/jj/aaaa). Le jour en FR devient le mois en UK/US, du coup après le 12 jour correspondant à décembre la date devient non valide.

Une autre solution consiste à utiliser le format double natif. Toute date est stockée dans une table au format double. Le Date/heure n'étant qu'une représentation visuelle.

Essaye ceci :

Code :
...="SELECT nom, prénom, datev FROM clientvente WHERE cdbl(clientvente.datev) =" & cdbl(Me.Liste2) & ";"
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/10/2011, 16h19   #12
Nouveau Membre du Club
 
Inscription : juin 2005
Messages : 356
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 356
Points : 36
Points : 36
Re bonjour.
j'ai bien changé avec le nouveau code.
j'ai maintenant une erreur d'exécution '13' / incompatibilté de type.
dois je changer la propriété du champ date dans ma table "ventes"..?
Encore merci
PAUL87 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/10/2011, 23h20   #13
Nouveau Membre du Club
 
Inscription : juin 2005
Messages : 356
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 356
Points : 36
Points : 36
Après quelques heures de test...et de recherches..
j'ai fait ça.
Code :
Me.Liste1.RowSource = "SELECT nom, prénom, datev,description,mode FROM clientvente WHERE (clientvente.datev) =#" & Format(Me.Liste2, "mm/dd/yyyy") & "#"
ça marche !!
comme tu me l'as indiqué, avec ce pb de format US j'ai juste modifié le format de prise en compte de la valeur de Liste2 en mm/jj/aaa

je pense que ça marche plutôt bien.
Mais peux tu me valider cette modif "toute personnelle" afin que je sois sur de ce fonctionnement...stp..?
Encore Merci +++
PAUL87 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/10/2011, 11h56   #14
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 089
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 089
Points : 11 622
Points : 11 622
Oui c'est bon.
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/10/2011, 19h18   #15
Nouveau Membre du Club
 
Inscription : juin 2005
Messages : 356
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 356
Points : 36
Points : 36
GRAND MERCI ++ A TOI
Sans ton aide.....
je n'y serais pas parvenu..
A bientôt.
Paul
PAUL87 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



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


 
 
 
 
Partenaires

Hébergement Web