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 :

Critère Where et And dans une requête :


Sujet :

Requêtes et SQL.

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Août 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 9
    Points : 11
    Points
    11
    Par défaut Critère Where et And dans une requête :
    Voilà ma requête, elle est correcte et fonctionne bien,
    Cependant j’aimerais que des critères de restriction me permettent de l’affiner :
    Donc un « where » ou équivalent pour affecter à la valeur : « RéférenceAdresseIMR » de recherche dans ma table, à la valeur de « RéférenceAdresseNuisance » qui est un contrôle de type numérique dans un sous formulaire appeler « Immeuble IMR ».
    « RéférenceAdresseNuisance » = « RéférenceAdresseIMR »

    La Requête en question :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    'Affichage tableau IMR
        Dim lID As String
        lID = DisplayListView(Me.IMR, _
                        "select NdeIMR,RéférenceAdresseIMR,RivoliIMR,DateIMR,TypeIMR,EtendueIMR,ParcelleIMR,NParcelleIMR,DateLeveIMR,iif(DateLeveIMR >= now,""rouge.bmp"",""vert.bmp""), iif(DateLeveIMR > now,32768,255),RéfIMR from [Immeuble Menaçant Ruine IMR] order by NdeIMR", _
                        "Liste des I.M.R. dans la voie et au rivoli venant d'être saisi." & vbCrLf & _
                        "En Rouge, les I.M.R. encours" & vbCrLf & _
                        "En Vert, les I.M.R. ayant été levés", _
                        , 11, True, , RGB(255, 255, 230), , 10, , 400, , , _
                        True, True, 9, 10, , Array(-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0))
        If Not lID = "" Then
            DoCmd.OpenForm "Immeuble Menaçant Ruine IMR", , , "RéfIMR = " & lID
        End If
    'Fin Tableau IMR
    Et si en plus on peut ajouter un « AND » pour y introduire une seconde restriction, c’est le nirvana !!!

    Dans la réalité, j’ai déjà tenter d’ajouter ces clauses sous la forme d’un « where » et différente syntaxes possible pour luis donner l’origine de la valeur du « RéférenceAdresseIMR », cette tentative par exemple : « ERREURE »

    Tentative de Where et de and imbriquer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    WHERE [Immeuble Menaçant Ruine IMR].[RéférenceAdresseIMR]=[forms]![Sous-formulaire Adresse Nuisance]![RéférenceAdresseNuisance] and  [Immeuble Menaçant Ruine IMR].[RivoliIMR]=[forms]![Sous-formulaire Adresse Nuisance]![RivoliNuisance];
    Résultat d'erreur :
    "Trop peut de paramètres. 2 attendu !!!!!!!!!!!"

    Merci d’avance à ceux qui se pencherons sur la question

  2. #2
    Membre chevronné
    Avatar de Demco
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    1 396
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 396
    Points : 2 228
    Points
    2 228
    Par défaut
    Je te conseille la lecture du tutoriel de debogage des requêtes SQL écrites en VBA. (lien dans ma signature)

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Août 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 9
    Points : 11
    Points
    11
    Par défaut Critère Where et And dans une requête "Suite"
    Déjà merci à toi "DEMCO", pour ta réponse qui ma fait avancer de quelques cases, cependant le problème reste poser, car avec les modifs que ta méthode de débug m’a permis de mettre en place cela donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
       Dim lID As String
        lID = DisplayListView(Me.IMR, _
                        "select NdeIMR,RéférenceAdresseIMR,RivoliIMR,DateIMR,TypeIMR,EtendueIMR,ParcelleIMR,NParcelleIMR,DateLeveIMR,iif(DateLeveIMR >= now,""rouge.bmp"",""vert.bmp""), iif(DateLeveIMR > now,255,32768),RéfIMR from [Immeuble Menaçant Ruine IMR] WHERE [Immeuble Menaçant Ruine IMR]![RéférenceAdresseIMR] = '" & Me!RéférenceAdresseNuisance.Value & "' And [Immeuble Menaçant Ruine IMR]![RivoliIMR] = '" & Me!RivoliNuisance.Value & "' order by NdeIMR", _
                        "Liste des I.M.R. dans la voie et au rivoli venant d'être saisi." & vbCrLf & _
                        "En Vert, les I.M.R. encours" & vbCrLf & _
                        "En Rouge, les I.M.R. ayant été levés", _
                        , 11, True, , RGB(255, 255, 230), , 10, , 400, , , _
                        True, True, 9, 10, , Array(-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0))
        If Not lID = "" Then
            DoCmd.OpenForm "Immeuble Menaçant Ruine IMR", , , "RéfIMR = " & lID
        End If
    Des problèmes (probablement de syntaxe) déclanchent une erreure :
    "« Type de donné incompatible avec l’expression du critère »"

    Dans la mesure ou une bonne hame veux bien m'aider ?
    Merci par avance.

  4. #4
    Membre chevronné
    Avatar de Demco
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    1 396
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 396
    Points : 2 228
    Points
    2 228
    Par défaut
    Peux-tu faire un Debug.Print sur ton SQL et nous montrer le résultat ?

  5. #5
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 526
    Points
    14 526
    Par défaut
    Bjr,

    Vu le message d'erreur, il y a des chances que ce soit le même problème qu'ici :
    http://www.developpez.net/forums/sho...d.php?t=405605

  6. #6
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Août 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 9
    Points : 11
    Points
    11
    Par défaut Critère Where et And dans une requête "Suite" et "Fin"
    Citation Envoyé par Arkham46 Voir le message
    Bjr,

    Vu le message d'erreur, il y a des chances que ce soit le même problème qu'ici :
    http://www.developpez.net/forums/sho...d.php?t=405605
    Tu a mis en plein dans le mil !!!! -> ARKHAM 46
    C’est OK, tout fonctionne au TOP.

    Merci a toi aussi DEMCO et à ton tuto sur :
    « Comment inclure des champs d’un formulaire dans une requête » / Par DEMCO et Tofalu.

    Encore merci à tout les deux.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Critère "le plus grand" dans une requête Access
    Par triistaan dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 24/01/2015, 18h23
  2. [RegEx] remplacer AND par WHERE dans une requête SQL
    Par Kyaan dans le forum Langage
    Réponses: 2
    Dernier message: 17/07/2008, 14h42
  3. Critère Date dans une requête
    Par Cirice dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 07/12/2006, 01h14
  4. Critère Date dans une requête analyse croisée
    Par Lingo dans le forum Access
    Réponses: 7
    Dernier message: 05/10/2006, 14h43
  5. Comment gérer OR et AND dans une requête ?
    Par c2pk dans le forum Requêtes
    Réponses: 2
    Dernier message: 05/02/2006, 13h32

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