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 :

Requete SQL avec variables [AC-2007]


Sujet :

Requêtes et SQL.

  1. #1
    Membre averti
    Inscrit en
    Février 2010
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 49
    Par défaut Requete SQL avec variables
    Bonjour,

    Je tente d'écrire une requete UPDATE mais j'ai une erreur de syntaxe je pense...
    L'erreur me dit "Type de données incompatible dans l'expression du critère"

    J'ai donc vérifié tous mes types de donnée et n'ai trouvé aucune anomalie...je me rabat donc sur la syntaxe pour laquelle je n'arrive pas à trouver de règles claires sur internet.

    Voici ma requete :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "UPDATE Planning SET [Planning].[Tiempo de trabajo] = '" & n & "'  WHERE ((([Planning].[IdRueda])='" & i & "') AND (([Planning].[Operacion])='" & str & "'))"
    Alors voilà :

    [Planning].[Tiempo de trabajo] et n sont des double

    [Planning].[IdRueda] et i sont des integer

    [Planning].[Operacion] est un string...str aussi

    Est-ce quelqu'un aurait une idée d'où peut venir le problème???

    Merci d'avance

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Les simples Quotes (') sont pour les données de type Texte, donc il faut les enlever pour tes variables n et i.

    Philippe

  3. #3
    Membre averti
    Inscrit en
    Février 2010
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 49
    Par défaut
    Merci Philippe!

    J'avais déjà tenté ta proposition qui me renvoyait "erreur de syntaxe dans l'instruction UPDATE" j'étais donc revenu sur mes pas.

    J'ai donc corrigé l'instruction comme tu me l'as indiqué et j'ai par contre remplacé la variable n par une valeur fixe (genre = 4 ) et ca marche!

    J'ai donc maintenant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    "UPDATE Planning " & _ 
    "SET [Planning].[Tiempo de trabajo] = 4  " & _ 
    "WHERE ((([Planning].[IdRueda]) = " & i & " ) AND (([Planning].[Operacion])= '" & str & "' )) "
    Alors voilà, ma question est la suivante : Comment pourrais je remplacer le 4 par la variable n comme au début?
    En sachant que n est un double dans lequel je stocke le résultat d'une fonction.

    Merci d'avance

  4. #4
    Expert confirmé
    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
    Par défaut
    Bonjour,

    j'utilise la fonction Str pour convertir les doubles en chaîne de caractères.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "SET [Planning].[Tiempo de trabajo] = " & Str(n)
    A+

  5. #5
    Membre averti
    Inscrit en
    Février 2010
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 49
    Par défaut
    Merci LedZeppII

    J'avoue ne pas comprendre, ...

    [Planning]. [Tiempo de trabajo] est un double
    n également...

    Pourquoi le transformer en String?

    Celà dit...j'ai maintenant l'erreur "Tableau attendu" arrrg

    Pleaaase ...Heeeelp

  6. #6
    Expert confirmé
    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
    Par défaut
    Pourquoi le transformer en String?
    1) Parce qu'une instruction SQL est une chaîne de caractères.
    Le moteur de base de données interprète le texte représentant des valeurs littérales
    en fonction du champ auxquelles elles sont en rapport et en fonction de la syntaxe de ces valeurs littérales.
    2) Parce que de toutes façons, le moteur de base de données n'a aucune connaissance de VBA, et encore moins de ses variables.
    3) Dans vba une expression du type ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "du texte" & uneVariableNumérique & "encore du texte"
    uneVariableNumérique sera implicitement converti en texte par vba.


    L'erreur vba vient du fait que tu as une variable qui porte le même nom que la fonction Str.
    Ta variable str.
    Renommes ta variable str en strOperacion (par exemple).

    A+

  7. #7
    Membre averti
    Inscrit en
    Février 2010
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 49
    Par défaut
    Merci énormément pour tes explications !!!

    C'était un problème récurrent que j'avais et que j'essayais de contourner à chaque fois faute de solutions

    Voilà....ca marche et j'ai compris en plus !!

    Vraiment merci beaucoup

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

Discussions similaires

  1. Requete SQL avec variable php
    Par Darkyl dans le forum Langage
    Réponses: 8
    Dernier message: 24/06/2011, 21h06
  2. Requete SQl avec variable d'un combobox
    Par nonopower dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 15/03/2010, 17h08
  3. requete sql avec variable feuil-range
    Par jokenjo dans le forum Excel
    Réponses: 6
    Dernier message: 18/03/2008, 15h47
  4. requete sql avec variable
    Par stefon dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 02/08/2006, 16h29
  5. requete sql avec variable
    Par Mihalis dans le forum Bases de données
    Réponses: 15
    Dernier message: 07/04/2006, 10h17

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