IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes et SQL. Discussion :

mise à jour liste deroulante


Sujet :

Requêtes et SQL.

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2009
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 65
    Points : 17
    Points
    17
    Par défaut mise à jour liste deroulante
    Salut,

    J’ai 5 liste déroulantes (cmbRechResponsable, cmbRechAtelier, cmbRechSourcec, cmbRechRisque, cmbRechDateDepart) je voudrais que lorsque je sélectionne une liste déroulante les autres se mettent à jour mais sans aucun ordre c'est-à-dire que je peux cliquer sur la liste1 ->liste 2 -> liste-> 3 liste 4 -> liste 5 comme liste 5 -> liste 2 etc… voir même juste une liste

    Toutes informations sont stockées dans une seule table (Doc)

    J’ai mis dans le contenu du contrôle cmbRechDateDepart :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT DISTINCT  Doc.DateDepart From Doc WHERE 
    Doc.Responsable=IIf([Formulaires]![FormDocUnique]![cmbRechResponsable]=0,[Doc].[Responsable],[Formulaires]![FormDocUnique]![cmbRechResponsable]) AND 
    Doc.Atelier=IIf([Formulaires]![FormDocUnique]![cmbRechAtelier]=0,[Doc].[Atelier],[Formulaires]![FormDocUnique]![cmbRechAtelier]) AND 
    Doc.Source=IIf([Formulaires]![FormDocUnique]![cmbRechSource]=0,[Doc].[Source],[Formulaires]![FormDocUnique]![cmbRechSource]) AND 
    Doc.Risque=IIf([Formulaires]![FormDocUnique]![ cmbRechRisque]=0, ,[Doc].[Source],[Formulaires]![FormDocUnique]![ cmbRechRisque])   ORDER BY Doc.DateDepart UNION SELECT 0, " ---Tous--- " FROM Doc;
    Mais j’ai un message d’erreur qui me dit :

    Erreur de syntaxe (opérateur absent) dans l’expression

    je suis sous access 2003

    merci d'avance

  2. #2
    Modérateur
    Avatar de Chtulus
    Homme Profil pro
    Ingénieur
    Inscrit en
    Avril 2008
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2008
    Messages : 3 094
    Points : 8 678
    Points
    8 678
    Par défaut
    Bonjour,

    A première vue je dirais que sur la dernière ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    [ cmbRechRisque]=0, ,[Doc].[Source],
    manquerait quelque chose ?


  3. #3
    Membre à l'essai
    Inscrit en
    Mars 2009
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 65
    Points : 17
    Points
    17
    Par défaut
    bien vu !

    j'ai fais la modification

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT DISTINCT  Doc.DateDepart From Doc WHERE Doc.Responsable=IIf([Formulaires]![FormDocUnique]![cmbRechResponsable]=0,[Doc].[Responsable],[Formulaires]![FormDocUnique]![cmbRechResponsable]) AND
     Doc.Atelier=IIf([Formulaires]![FormDocUnique]![cmbRechAtelier]=0,[Doc].[Atelier],[Formulaires]![FormDocUnique]![cmbRechAtelier]) AND
    Doc.Source=IIf([Formulaires]![FormDocUnique]![cmbRechSource]=0,[Doc].[Source],[Formulaires]![FormDocUnique]![cmbRechSource]) AND 
    Doc.Risque=IIf([Formulaires]![FormDocUnique]![ cmbRechRisque]=0,[Doc].[Risque],[Formulaires]![FormDocUnique]![ cmbRechRisque])   ORDER BY Doc.DateDepart UNION SELECT 0, " ---Tous--- " FROM Doc;
    et j'ai un autre message d'erreur

    le nombre de colonnes dans les deux tables ou requetes selectionnees d'une requete Union ne correspondent pas

  4. #4
    Modérateur
    Avatar de Chtulus
    Homme Profil pro
    Ingénieur
    Inscrit en
    Avril 2008
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2008
    Messages : 3 094
    Points : 8 678
    Points
    8 678
    Par défaut
    Effectivement, sauf que vous n'avez pas mis la 2ème requête de l'UNION, ça va être dure

    Ce que je peux vous dire c'est qu'ils doit y avoir les mêmes noms de colonnes dans chaque SELECT de votre UNION


  5. #5
    Membre à l'essai
    Inscrit en
    Mars 2009
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 65
    Points : 17
    Points
    17
    Par défaut
    ah ué, je viens de pensé a un truc vu que tout est dans la meme table j'ai pas besoin de faire une union nan?

    donc mon code serait plutot :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT DISTINCT Doc.DateDepart, Doc.Responsable, Doc.Atelier, Doc.Source, Doc.Risque
    FROM Doc
    WHERE (((Doc.Responsable)=IIf([Formulaires]![FormDocUnique]![cmbRechResponsable]=0,[Doc].[Responsable],[Formulaires]![FormDocUnique]![cmbRechResponsable])) 
    AND ((Doc.Atelier)=IIf([Formulaires]![FormDocUnique]![cmbRechAtelier]=0,[Doc].[Atelier],[Formulaires]![FormDocUnique]![cmbRechAtelier])) 
    AND ((Doc.Source)=IIf([Formulaires]![FormDocUnique]![cmbRechSource]=0,[Doc].[Source],[Formulaires]![FormDocUnique]![cmbRechSource])) 
    AND ((Doc.Risque)=IIf([Formulaires]![FormDocUnique]![ cmbRechRisque]=0,[Doc].[Risque],[Formulaires]![FormDocUnique]![ cmbRechRisque])))
    ORDER BY Doc.DateDepart;
    mais le souci c'est que j'ai rien mon menu deroulant, y'aurait-il encore une erreur?

  6. #6
    Modérateur
    Avatar de Chtulus
    Homme Profil pro
    Ingénieur
    Inscrit en
    Avril 2008
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2008
    Messages : 3 094
    Points : 8 678
    Points
    8 678
    Par défaut
    Re,

    La requête semble juste mais après avoir relue les différents posts, je te conseille de regarder les 2 très bon tuto de Caféine et de Jeannot sur les recherches multicritères !

    Si tu as d'autres question après hésite pas !


  7. #7
    Membre à l'essai
    Inscrit en
    Mars 2009
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 65
    Points : 17
    Points
    17
    Par défaut
    re,

    J’ai bien regardé le deuxième tuto celui de Jeannot car il pourrait me permettre de résoudre un autre problème avec l'impression d'un état (car avec la méthode caféine je n'ai pas de requête a mettre sur mon état) mais c'est une autre histoire


    Donc, j'ai fais pareil que Jeannot est je ne comprends pas toutes les listes sont vides

  8. #8
    Membre à l'essai
    Inscrit en
    Mars 2009
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 65
    Points : 17
    Points
    17
    Par défaut
    re,

    J’ai un peu avancé mais toujours quelques problèmes

    Voici ce que j'ai changé :
    Sur ma cmbRechDateDepart

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT Doc.KeyDoc, Doc.DateDepart FROM Doc WHERE (((Doc.Responsable)=IIf(Formulaires!FormDocUnique!cmbRechResponsable=0,Doc!Responsable,Formulaires!FormDocUnique!cmbRechResponsable))) ORDER BY Doc.Responsable   UNION SELECT 0, " ---Tous--- " FROM Doc;
    Et sur cmbRechResponsable

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT Doc.KeyDoc, Doc.Responsable FROM Doc WHERE (((Doc.DateDepart)=IIf([Formulaires]![FormDocUnique]![cmbRechDateDepart]=0,[Doc]![DateDepart],[Formulaires]![FormDocUnique]![Datededépart]))) ORDER BY Doc.Responsable UNION SELECT 0, " ---Tous--- " FROM Doc;
    Maintenant, dans les listes j'ai bien le bon contenu mais si je sélectionne par exemple cmbRechDateDepart la deuxième reste bloqué sur –Tous j’ai pensé a un problème d’actualisation étant donnée que je n’arrive pas non plus a réactualisé mon affichage de résultat.

    Pourtant j’ai bien fait la même macro (que dans le tuto de jeannot) que j’ai mit sur les événements soit après MAJ soit sur ouverture.

    Quelqu’un aurait une idée ?

Discussions similaires

  1. [AC-2003] mise a jour liste deroulante
    Par chuspyto dans le forum IHM
    Réponses: 5
    Dernier message: 10/11/2009, 05h24
  2. Mise à jour liste dans formulaire.
    Par Julieta dans le forum IHM
    Réponses: 2
    Dernier message: 25/04/2007, 08h47
  3. Mise à jour liste indépendante
    Par bestall666 dans le forum IHM
    Réponses: 9
    Dernier message: 07/02/2007, 12h42
  4. mise à jour liste déroulante
    Par stéphane_ais2 dans le forum Access
    Réponses: 32
    Dernier message: 09/11/2005, 16h12
  5. Mise à jour listes déroulantes
    Par mr.t dans le forum ASP
    Réponses: 2
    Dernier message: 20/06/2005, 10h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo