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

VB 6 et antérieur Discussion :

Probleme Dans la syntaxe Sql


Sujet :

VB 6 et antérieur

  1. #1
    Candidat au Club
    Inscrit en
    Juillet 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Probleme Dans la syntaxe Sql
    Bonjour
    Je suis entrai de developer une apllication pour gestion des notes
    J ai utilisé un DataCombo pour affichage de la liste des etudiants
    dan les proprietes de ce datacombo j ai ajouter le code sql suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from Etudiants , Promotions where  Etudiants.Code_promotion = Promotions.Code_promotion and Promotions.Code_promotion = " & Val(LNom_promotion.Caption)...
    il me donne le message suivant " syntax error in string ....."
    mais ca fonctionne pas
    SVP aidez moi

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    301
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 301
    Points : 337
    Points
    337
    Par défaut
    Salut

    le problème vien peut être du "Val(..)".
    Essai de le supprimer pour voir.

    A+

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 730
    Points : 876
    Points
    876
    Par défaut
    Salut,

    vu, revu et rerevu... concaténation d'un string et d'un numérique :/

  4. #4
    Membre habitué
    Inscrit en
    Juillet 2007
    Messages
    433
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 433
    Points : 130
    Points
    130
    Par défaut
    Ne faut-il pas mettre des ' ' (simples quotes)

    Genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "SELECT ... WHERE MACHIN = '" & Val(TRUC) & "'"

  5. #5
    Futur Membre du Club
    Inscrit en
    Juin 2005
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 11
    Points : 8
    Points
    8
    Par défaut
    J ai essayé tout mais le probleme perciste il me donne le message suivant
    "Data type mismatch in criteria expression."

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 730
    Points : 876
    Points
    876
    Par défaut
    Citation Envoyé par Gaetch
    Ne faut-il pas mettre des ' ' (simples quotes)

    Genre "SELECT ... WHERE MACHIN = '" & Val(TRUC) & "'"
    Oula, c'est l'heure des révisions !

    On met des simples quotes seulement si le type de champ est alphanumérique, rien s'il est numérique.

    Quoi qu'il en soit la chaine de requête est de type String, donc convertir en conséquence les valeurs concaténées :

    Si le champ est de type numérique :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim id as Long
     
    id = 8
    req = "SELECT * FROM table WHERE table.ID_table=" & Cstr(id)
    Si le champ est de type alphanumérique :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim nom as String
     
    nom = "toto"
    req = "SELECT * FROM table WHERE table.NomClient='" & nom & "'"
    Si le champ est de type alphanumérique ET la variable numérique (exemple pas terrible mais ça arrive)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Dim code as Long
     
    code = 8
    req = "SELECT * FROM table WHERE table.CodeClient='" & Cstr(code) & "'"
    Etc.

  7. #7
    Membre habitué
    Inscrit en
    Juillet 2007
    Messages
    433
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 433
    Points : 130
    Points
    130
    Par défaut
    Bon ben ...
    *enlève ses quotes autour des valeurs numériques*
    Ca marche pourtant !

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 730
    Points : 876
    Points
    876
    Par défaut
    Citation Envoyé par Gaetch
    Ca marche pourtant !
    Et oui, malheureusement... comme d'autres choses que VB permet : & ou + pour concaténer 2 chaines de caractères ; le + est un opérateur arithmétique... Pas bien !

    Val() renvoit un numérique du type approprié

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    301
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 301
    Points : 337
    Points
    337
    Par défaut
    L'école est finie !!!!
    Vive les vacances .... et les cahiers de vacances !!!

    En parlant de vacances....

    PS : Désolé les "modérateurs", s'est l'heure de mon pétage de cable journalier.

    Si non pour le reste Phifi a tout dit.

  10. #10
    Candidat au Club
    Inscrit en
    Juillet 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    rien n 'est changé...

  11. #11
    Membre habitué
    Inscrit en
    Juillet 2007
    Messages
    433
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 433
    Points : 130
    Points
    130
    Par défaut
    T'as pas par le plus grand des hasards une quote dans ta chaine ?

  12. #12
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2007
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2007
    Messages : 25
    Points : 23
    Points
    23
    Par défaut
    il faut ecrire ce petit code pour charger datacombo

    set t=new adod.recordset
    t.open "select * from .............."
    set datacombo.rowsource=t
    datacombo.listefield="champ"

  13. #13
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    Citation Envoyé par itri2006
    rien n 'est changé...
    pourquoi ne nous montre tu qu'une partie de ta ligne de code ..? et pas la ligne de code en entier ..?

  14. #14
    Bz
    Bz est déconnecté
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2005
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 176
    Points : 127
    Points
    127
    Par défaut
    select * from Etudiants , Promotions
    La virgule dans un from ne marche pas, il faut definir une realtion entre tes 2 tablles (inner join, right join, etc...)

Discussions similaires

  1. une erreur dans ma syntaxe sql
    Par develnewbie56 dans le forum Débuter
    Réponses: 1
    Dernier message: 08/11/2013, 11h00
  2. Erreur dans le syntaxe sql
    Par jockhip12 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 26/06/2012, 10h57
  3. Probleme dans installation de Sql Server Management Studio 2008
    Par Oussama1 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 21/02/2010, 18h11
  4. Réponses: 7
    Dernier message: 11/09/2008, 00h12
  5. ajout dans liste (syntaxe SQL)
    Par dr_feelgood dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 20/10/2005, 20h05

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