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 :

AND dans une requette SQL


Sujet :

Requêtes et SQL.

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mars 2010
    Messages
    206
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 206
    Points : 83
    Points
    83
    Par défaut AND dans une requette SQL
    Bonjour,
    j'ai un petit soucis dans une requete SQL que je ne sais pas résoudre, voici ce que je veux faire :

    j'ai une table dans laquelle je veux pouvoir modifier un champ d'un enregistrement, hélas c'est une table "historique" où un même identifiant peut se trouver plusieurs fois. Une petite photo pour expliquer mon charabia :



    J'ai écrit ce code SQL avec pour idée de sélectionner la ligne qui réponde à mon critère "ID_MATERIEL" et "HISTO_DATE" et "HISTO_HEURE".

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Str_Req = "UPDATE HISTORIQUE SET ID_INGENIEUR = " & vIngenieur
        Str_Req = Str_Req & ", ID_LOCALISATION = " & vlocalisation
        Str_Req = Str_Req & ", COMMENTAIRE = '" & vCommentaire & "'"
        Str_Req = Str_Req & " WHERE ID_MATERIEL = " & vmateriel & " AND HISTO_DATE = " & vDate & "AND HISTO_HEURE = " & vHeure
    C'est surement une aberration de l'écrire comme cela et la preuve c'est que cela ne marche pas! Je ne suis qu'un singe qui fait des copier/coller de code existant et je ne connais donc pas la syntaxe pour écrire ce que je veux, si quelqu'un pouvait m'aider, cela m'avancerait grandement.

  2. #2
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Points : 4 325
    Points
    4 325
    Par défaut
    salut Taiby,

    y a de l'idée mais les dates sont bornées par des "#".


  3. #3
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 759
    Points
    7 759
    Par défaut
    Bonjour,

    Vodiem a raison.
    C'est aussi vrai pour l'heure.
    De plus les dates doivent être au format US mois/jour/année.

    Si vDate et vHeure sont de type DateTime :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        Str_Req = Str_Req & " WHERE ID_MATERIEL = " & vmateriel 
        Str_Req = Str_Req & " AND HISTO_DATE = #" & Format(vDate, "mm\/dd\/yyyy") & "#"
        Str_Req = Str_Req & " AND HISTO_HEURE = #" & Format(vHeure, "h\:nn\:ss") & "#"
    Si vDate et vHeure ne sont pas de type DateTime, ces deux variables sont sûrement typées String.
    Dans ce cas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        Str_Req = Str_Req & " WHERE ID_MATERIEL = " & vmateriel 
        Str_Req = Str_Req & " AND HISTO_DATE = #" & Format(CDate(vDate), "mm\/dd\/yyyy") & "#"
        Str_Req = Str_Req & " AND HISTO_HEURE = #" & Format(CDate(vHeure), "h\:nn\:ss") & "#"
    A+

  4. #4
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mars 2010
    Messages
    206
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 206
    Points : 83
    Points
    83
    Par défaut
    Merci à vous deux, c'est effectivement le # qu'il manquait (il fallait le trouver celui-là !).
    Mon expression est du type string et tout marche parfaitement bien.

    Merci encore

    Taiby

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

Discussions similaires

  1. Date courante dans une requette SQL
    Par imene25 dans le forum Débuter
    Réponses: 8
    Dernier message: 24/05/2009, 21h56
  2. affectation des var dans une requette sql
    Par kroma23 dans le forum Bases de données
    Réponses: 7
    Dernier message: 26/01/2009, 09h21
  3. [MySQL] Une variable dans une requette sql erreur syntaxe
    Par Tiny Buster dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 13/07/2008, 22h21
  4. Un filtre dans une requette SQL
    Par laklak dans le forum Bases de données
    Réponses: 1
    Dernier message: 07/01/2007, 10h21
  5. comment passer du code html dans une requette sql?
    Par vinceH31 dans le forum Requêtes
    Réponses: 5
    Dernier message: 23/11/2006, 18h10

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