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

Access Discussion :

Syntaxe ERROR: quel'un peut me dire ou y a une erreur


Sujet :

Access

  1. #1
    Membre du Club
    Inscrit en
    Décembre 2005
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 161
    Points : 44
    Points
    44
    Par défaut Syntaxe ERROR: quel'un peut me dire ou y a une erreur
    Bonjour

    j essay de lancer une requete sous Access mais il me sort une "Syntax Error " et je vois pas pkoi:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    UPDATE BAFI_criteria 
    SET 
    	GRANULN139 = Iif([pmusrisu.TrancheGranularity] > 6,"Y","N"), 
    	FRQCOTN157 = UCase( Left(pmusrisu.QuotationFrequency, 1)), 
    	INDICN084 = Left(pmusrisu.Index,20), OPCVELIN087 = pmusrisu.UCITS, 
    	TITLIQN082 = pmusrisu.LiquidSecurity, 
    	RANGTITRN081 = pmusrisu.TrancheSeniorityRank, 
    	TITRCOTN156 = pmusrisu.QuotedSecurity, 
    	PLAQOT = Iif(Val(pmusrisu.QuotationPlace) =0,499,Val(Left(pmusrisu.QuotationPlace, 3)))
    FROM BAFI_criteria INNER JOIN pmusrisu 
    	ON BAFI_criteria.Cusip = pmusrisu.Cusip;

  2. #2
    Membre régulier Avatar de Sonic
    Inscrit en
    Mars 2002
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 105
    Points : 96
    Points
    96
    Par défaut
    Ce serait les [ ] de ta 1° ligne ?

    Soit [pmusrisu].[TrancheGranularity] ou pmusrisu.TrancheGranularity mais pas [pmusrisu.TrancheGranularity]

  3. #3
    Membre du Club
    Inscrit en
    Décembre 2005
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 161
    Points : 44
    Points
    44
    Par défaut
    non tjs pas :-(

  4. #4
    Membre actif
    Avatar de Trini
    Homme Profil pro
    Dresseur de puce
    Inscrit en
    Juillet 2005
    Messages
    189
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Dresseur de puce

    Informations forums :
    Inscription : Juillet 2005
    Messages : 189
    Points : 264
    Points
    264
    Par défaut
    Bonjour,

    Bon ben pas facile à voir comme ça, alors le mieux c'est que tu retires une à une chaque expression d'affectation jusqu'à trouver celle qui beuge.
    Cela sera plus facile pour toi, comme pour nous, de t'aider.

    Salut,

  5. #5
    Membre éclairé Avatar de polo(31)
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    721
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 721
    Points : 770
    Points
    770
    Par défaut
    "GRANULN139 = Iif([pmusrisu.TrancheGranularity] > 6,"Y","N"),"


    ces quoi " Iif " ?

  6. #6
    Membre régulier Avatar de Sonic
    Inscrit en
    Mars 2002
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 105
    Points : 96
    Points
    96
    Par défaut
    IIf sert à tester la valeur des champs
    mais en effet normalement c'est IIf et pas Iif, ca se peut qu'il fasse attention à la case dans les requêtes.

  7. #7
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 128
    Points : 12 185
    Points
    12 185
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    1 / Il te manque la condition fausse dans ton bloc IIf....0,499
    2/ 0,499 doit avoir un . et pas une ,
    3/ Et les [] entourent la [Table] et le [Champ] mais pas le bloc [Table.Champ] et ce uniquement s'il y a des espaces.

    Argy

  8. #8
    Membre du Club
    Inscrit en
    Décembre 2005
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 161
    Points : 44
    Points
    44
    Par défaut
    non il ne fais pas attention a la casse

    2/ le sinon c est "..Val(Left(pmusrisu.QuotationPlace, 3"

    3/[table.champ] fonctionne, ca marchais avant

  9. #9
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 128
    Points : 12 185
    Points
    12 185
    Billets dans le blog
    5
    Par défaut
    Là il te manque le FalsePart :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    PLAQOT = Iif(Val(pmusrisu.QuotationPlace) =0,499, _
    Val(Left(pmusrisu.QuotationPlace, 3)))
    Là, tel que je le lis, si QuotationPlace = 0,499 alors on affecte la partie gauche à concurrence de 3 caractères le contenu de QuotationPlace sinon, ben sinon, il n'y a pas de sinon.

    Le coup des crochets (ca marchais avant, c'est pas "Georges", c'est de l'imparfait à la 3ème personne, donc un "t" ) est une convention à respecter. Mais comme beaucoup de développeurs tu as le droit de faire ce que bon te semble même si c'est faux...

    Donc relis ton code et tu verras de toi-même où est l'erreur.

    Argy

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

    Informations forums :
    Inscription : Mai 2006
    Messages : 182
    Points : 139
    Points
    139
    Par défaut
    Bonjour,

    Citation Envoyé par argyronet
    Là il te manque le FalsePart :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    PLAQOT = Iif(Val(pmusrisu.QuotationPlace) =0,499, _
    Val(Left(pmusrisu.QuotationPlace, 3)))
    Là, tel que je le lis, si QuotationPlace = 0,499 alors on affecte la partie gauche à concurrence de 3 caractères le contenu de QuotationPlace sinon, ben sinon, il n'y a pas de sinon.
    Là, je pense plutôt qu'il faut lire :
    SI QuotationPlace = 0 ALORS on affecte 499, SINON on affecte Val(Left(pmusrisu.QuotationPlace, 3)).

    C'est bien ça jam92400 ?

  11. #11
    Membre du Club
    Inscrit en
    Décembre 2005
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 161
    Points : 44
    Points
    44
    Par défaut
    OUI EXACTEMENT


    mais laissé tombé pour la syntaxe je l ai ecris autrement et ca marche mieux du coup mais je voudrai savoir comment je pe ecrire une requete avec 3 instrcutioin a la suite car moi il genere une erreur avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    INSERT INTO mhfsacn1_Temp
    SELECT * from mhfsacn1
     
    UPDATE BAFI_criteria INNER JOIN mhfsacn1_Temp ON BAFI_criteria.Cusip = mhfsacn1_Temp.Cusip
    SET
    SECTYP = iif((mhfsacn1_Temp.MajorType = 30 or mhfsacn1_Temp.MajorType = 80),"N","Y")
     
    WHERE mhfsacn1_Temp.Cusip = BAFI_criteria.Cusip

  12. #12
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 128
    Points : 12 185
    Points
    12 185
    Billets dans le blog
    5
    Par défaut
    Oops, oui effectivement.

    Quand tu dis 3 instuctions à la suite, comment les appelles-tu ou plutôt comment veux-tu que ça soit lancé ?
    Avec une macro ?
    En ouvrant la requête ?
    Avec VBA ?

  13. #13
    Membre du Club
    Inscrit en
    Décembre 2005
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 161
    Points : 44
    Points
    44
    Par défaut
    ben tu sais directement dans Access : dans Insert > Query et je colle tte l instruction et j execute car apres cette requete je la mettrait dans VB et elle se lancera via l appli VB direct mais deja j essay de l executer via Access car il fo 3 etape : je copie des données dans une table temp et ke je fasse une MAJ d une table avec cette table tempo et qu a la fin je vide cette table.

    tu vois

  14. #14
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 128
    Points : 12 185
    Points
    12 185
    Billets dans le blog
    5
    Par défaut
    Le mieux alors est de la rédiger dans VBA directement et de la lancer par paliers successifs... avec CurrentDB.Execute...
    D'abord l'INSERT et ensuite l'UPDATE et enfin le DELETE
    Ce sera plus souple et surtout plus facile.

  15. #15
    Membre du Club
    Inscrit en
    Décembre 2005
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 161
    Points : 44
    Points
    44
    Par défaut
    merci !

Discussions similaires

  1. Réponses: 7
    Dernier message: 26/09/2012, 19h44
  2. Syntax Error / Questions
    Par kedare dans le forum Général Python
    Réponses: 15
    Dernier message: 12/09/2005, 14h05
  3. Comment peut-on dire : une bdd est petite, moyenne ou grosse
    Par Pierrinot dans le forum Décisions SGBD
    Réponses: 5
    Dernier message: 20/10/2004, 08h40
  4. "vector" provoque "syntax error", malgré
    Par seenkay dans le forum Autres éditeurs
    Réponses: 5
    Dernier message: 24/08/2003, 03h21

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