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 :

Souci avec une variable dans une requete


Sujet :

Requêtes et SQL.

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    153
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 153
    Points : 89
    Points
    89
    Par défaut Souci avec une variable dans une requete
    Dans ma requette, j'ai ajouté une variable [Alerte] pour que la requette depend de la saisi de l'utilisateur et normalement on doit mettre un nombre de moi 3 ou 4 ...
    mais des que j'excute la requette , il me donne la fenetre ou je dois saisi le chiffre,je saisi 3 mais le resultat n'est pas coherent ,si je refais avec 03 ça donne un resultat different de celui avec 3,
    et si je remplace [Alerte] par 3 dans la requette ça marche bien.

    voila le code de la condition de la requette
    WHERE (([R_Contrat_Adresse].[Proch Échéance])=[R_Contrat_Adresse].[Date_Fin]) And DateDiff("m",Date(),[Fin_délais_préavis])>=0 And (DateDiff("m",Date(),[Fin_délais_préavis])<=[Alerte]);


    merci bien d'avance
    polianita

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    153
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 153
    Points : 89
    Points
    89
    Par défaut
    Please aidez moi...toujours pas reussie à resoudre ça,
    Merci

  3. #3
    Membre actif Avatar de Mariboo
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    254
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2006
    Messages : 254
    Points : 238
    Points
    238
    Par défaut
    Au lieu d'écrire [Alerte] écris "Alerte" .... peut-être

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    153
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 153
    Points : 89
    Points
    89
    Par défaut
    Malheureusement ça ne fait rien, en ce cas ça donne pas la fenetre pour saisir le chiffre...

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    153
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 153
    Points : 89
    Points
    89
    Par défaut
    Sinon vous avez une autre maniere pour faire ça?
    polianita

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 129
    Points : 97
    Points
    97
    Par défaut
    essaye de noter alerte comme sa : ' " & alerte & " '

    et si il est de type numériques essaye comme ceci " & alerte

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    153
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 153
    Points : 89
    Points
    89
    Par défaut
    toujours pas cela fais la meme chose que "Alerte" dommage, Merci qd meme, n'hesitez pas à me donner vos idees j'en ai besoins

  8. #8
    Membre actif Avatar de Mariboo
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    254
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2006
    Messages : 254
    Points : 238
    Points
    238
    Par défaut
    Non j'ai fait des tests et il faut bien ecrire comme ça : [Alerte]

    Par contre, ta jointure me semble curieuse .. peut-être faut-il chercher de ce coté là ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    WHERE (([R_Contrat_Adresse].[Proch Échéance])=[R_Contrat_Adresse].[Date_Fin])

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 129
    Points : 97
    Points
    97
    Par défaut
    la jointure ne serai pas plutot kome ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [Proch Échéance].[R_Contrat_Adresse]=[Date_Fin].[R_Contrat_Adresse]

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    153
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 153
    Points : 89
    Points
    89
    Par défaut
    Ce n'est pas une jointure entre deux tables [Date_Fin] et [Proch Echéance] sont deux colonnes de la table R_Contrat_Adresse,
    donc je epux meme remplacer par [Date_Fin] = [Proch Echéance]
    en fait le but de la requete est de chercher dans la table R_Contrat_Adresse
    toutes les lignes qui ont leur date de fin = proch_echeance (type date)
    et leur [Fin_délais_préavis] ( type date ausssi) est entre la date d'aujourd'hui et la date d'aujourd'hui + la duree [Alerte] (en mois)
    voilou, toujours pas resolu, et je ne sais pas encore pq, memme si j'enleve la condition de jointure ça marche pas comme il faut

  11. #11
    Membre actif Avatar de Mariboo
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    254
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2006
    Messages : 254
    Points : 238
    Points
    238
    Par défaut
    mais des que j'excute la requette , il me donne la fenetre ou je dois saisi le chiffre,je saisi 3 mais le resultat n'est pas coherent ,si je refais avec 03 ça donne un resultat different de celui avec 3,
    Quel genre de résultat pas cohérent te donne t'il?

  12. #12
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    153
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 153
    Points : 89
    Points
    89
    Par défaut
    Il verifie plus la deuxieme conditiion de la requete (leur [Fin_délais_préavis] ( type date ausssi) est entre la date d'aujourd'hui et la date d'aujourd'hui + la duree [Alerte] (en mois) )
    qui est fait par le code : DateDiff("m",Date(),[Fin_délais_préavis])>=0 And (DateDiff("m",Date(),[Fin_délais_préavis])<=[Alerte]);


  13. #13
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    153
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 153
    Points : 89
    Points
    89
    Par défaut
    il donne ceux qui sont valable plus d'autres lignes qui des Fin_delai_preavi non correspondant comme : 30/09/2008 , 30/09/2007,30/06/2007 ... 29/12/2007,29/03/2008
    que si j'utilise un chiffre normal sans Alerte il n'y a pas cette erreur

  14. #14
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    Salut,
    Je te conseillerais pour éviter ce genre de problème : modifier le SQL de ta requete.
    Dans un module tu mets le SQL avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    "SELECT..... FROM......WHERE (([R_Contrat_Adresse].[Proch Échéance])=[R_Contrat_Adresse].[Date_Fin]) _
    And DateDiff("m",Date(),[Fin_délais_préavis])>=0 And (DateDiff("m",Date(), _
    [Fin_délais_préavis])<=" & chr(34) & Alerte & chr(34) & ");"
    Tu utilises ce SQL pour modifier celui de ta requête (QueryDefs). Lorsque tu l'exécuteras c'est comme si tu avait mis (par exemple) 3 à la place de Alerte.

  15. #15
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    153
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 153
    Points : 89
    Points
    89
    Par défaut
    Merci
    Non ça marche pas
    la requete donne un resultat et ec n'est pas vrai, en plus l'utilisateu ne peut pas saisir le nombre de mois qui est Alerte
    Alerte : c'est le nombre maximum de mois qu'on veut entre la date d'aujourd'hui et la date (Fin delai Preavis)
    Merci pour vous tous, mais toujours pas résolu mon probleme dommage
    je suis toujours open pour des nouvelles idees,
    il y a quelqu'un qui m 'as du VB6 avec Macro et Msgbox
    Si quelqu'un voit comment me précise car je ne sai aps bien utiliser du VB...

    polianita

  16. #16
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    153
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 153
    Points : 89
    Points
    89
    Par défaut
    Dites moi bravo apres deux jours de recherches...
    c'est bete parfois!
    eh oui j'ai trouvé la solution,
    j'ais electionné parametre dans le menu requete puis j'ai definis le parametre Alerte en tant qu'un entier,
    hehe et ça marche, je vous remercie tous de tout mon coeur

    happy polianita

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

Discussions similaires

  1. portée d'une variable dans une fonction dans une méthode
    Par laurentg2003 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 29/06/2009, 20h05
  2. Récupérer le nom d'une colonne d'une table dans une variable
    Par mimi51340 dans le forum Général Java
    Réponses: 4
    Dernier message: 13/03/2008, 15h23
  3. Réponses: 4
    Dernier message: 29/01/2008, 12h12
  4. Réponses: 1
    Dernier message: 15/02/2007, 01h24
  5. Mettre une valeur d'une table dans une variable
    Par Raphou96 dans le forum Access
    Réponses: 5
    Dernier message: 06/02/2006, 16h19

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