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

Macros et VBA Excel Discussion :

problem de syntaxe pour excel sql


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    171
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 171
    Points : 65
    Points
    65
    Par défaut problem de syntaxe pour excel sql
    bonjour tout le monde

    c pour la premiere fois que j'utilise vba pour excel,!!! j'ai utilser un bouton dans un userform: pour lire ensuite afficher les donnée une fois selectionnéés. mais j'ai probleme avec la syntaxe sql, j'ai essayé toutes les syntaxe que j'ai trouvé sur le net mais ça marche pas alors svp aidez moi je suis bloqué!!!
    sans l'instruction where ça marche bien,,??????????????????????? merci

    voici mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
     
    Private Sub CommandButton1_Click()
    Dim cn As ADODB.Connection
    Dim Fichier As String
    Dim leNom As String
    Dim NomFeuille As String, texte_SQL As String
    Dim rsT As ADODB.Recordset
    'Initialization des variables
    leNom = "HABITAT"
    'Définit le classeur fermé servant de base de données
    'Fichier = "S:\LYNDAYAKOUBEN\DONNEES.xls"
     Fichier = Me.TextBox1.Text
       'Nom de la feuille dans le classeur fermé
    NomFeuille = Me.TextBox2.Text
    Set cn = New ADODB.Connection
    '--- Connection ---
    With cn
    .Provider = "Microsoft.Jet.OLEDB.4.0"
    .ConnectionString = "Data Source=" & Fichier & _
     ";Extended Properties=""Excel 8.0;HDR=yes"""
    .Open
    End With
    '-----------------
    'Définit la requête.
    '/!\ Attention à ne pas oublier le symbole $ après le nom de la feuille.
    texte_SQL = "   SELECT * FROM [" & NomFeuille & "$]   " & _
     "  WHERE [" & NomFeuille & "$].MARCHE = '" & leNom & "'  "
    Set rsT = New ADODB.Recordset
    Set rsT = cn.Execute(texte_SQL)
    '--- Boucle sur les entêtes pour récupérer les noms ---
    For i = 0 To rsT.Fields.Count - 1
    Cells(1, i + 1) = rsT.Fields(i).Name
    Next i
    '-----------------------------------------------------
    'Ecrit le résultat de la requête dans la cellule A2
    Range("A2").CopyFromRecordset rsT
    '--- Fermeture connexion ---
    cn.Close
    Set cn = Nothing
     
    End Sub

  2. #2
    Membre régulier
    Avatar de wape
    Profil pro
    Inscrit en
    Février 2003
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2003
    Messages : 90
    Points : 123
    Points
    123
    Par défaut
    Bonjour,

    Quel est exactement le problème :

    . y a-t-il un message d'erreur ? si oui, lequel ?
    . le recordset est-il vide ?
    . autre ?

    wape

  3. #3
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    171
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 171
    Points : 65
    Points
    65
    Par défaut problem de syntaxe pour excel sql vba
    je suis bloqué à cause de la syntaxe du sql pour excel! est ce que vous pouvez me communiquer la syntaxe, surtout le probleme avec l'instruction where, c'est à dire qd je fais juste
    txtsql= " selecte * from [" & nomfeuil&" $]" ça marche mais qd je fais
    txtsql= " selecte * from [" & nomfeuil&" $] where [" & nomfeuil&" $].monchamp = 'XXXX' " ça marche pas,??????j'ai utilisé precque toutes le syntaxe possible!!!! aidez moi svp je suis bloqué merci

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 288
    Points : 364
    Points
    364
    Par défaut
    Ce n'est sans doute pas ça, mais as-tu essayé sans les crochets et/ou les $ ?

  5. #5
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    171
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 171
    Points : 65
    Points
    65
    Par défaut ça marche pas
    si j'enleve les crochés il me fait rien meme sans l'instruction where, c'est à dire meme selecte seul ne marche pas??? donc je ne pense pas que c les crochets!!!

  6. #6
    Invité
    Invité(e)
    Par défaut
    Re

    Je ne vois pas pourquoi cela ne marcherait pas, d'abord tu as trop d'espaces dans ta chaine SQL, un seul espace avant le Where, et pas d'espaces aprés la dernière '.

    Starec

  7. #7
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    171
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 171
    Points : 65
    Points
    65
    Par défaut merci
    merci Starec je ne pense pas que c un pb d'espace!! mais c qui me semble bizard c pourquoi qd j'essaye des sytaxes que je trouve sur le net ça marche et avec moi non!!!je ne sais pas pourquoi! moi j'écrie mon code ds un bouton qui est sur un userform!!! c à dire pas ds un module!!! merci comme meme starec je vais voir les reférences que tu m as donné

  8. #8
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    171
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 171
    Points : 65
    Points
    65
    Par défaut DIDIDIDA
    C TJR MOI? PUISQUE j'arrive pas à avec sql, est ce que il ya possibilité de mettre les données de ma requete sans where, c'est à dire les donnée de toute le feuille dans un tableau ensuite je ferrai les manips sur ce t ableau?????

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    texte_SQL = " SELECT * FROM [" & NomFeuille & "$] "
    Set rsT = New ADODB.Recordset
    Set rsT = cn.Execute(texte_SQL)
    ça seul ça marche!!!!

  9. #9
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Points : 20 144
    Points
    20 144
    Par défaut
    bonsoir


    Essaye
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    " WHERE MARCHE = '" & leNom & "'"

    Le champ "MARCHE" contient bien des données texte ?
    Que contient la variable "leNom" ?


    bonne soirée
    michel

  10. #10
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    171
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 171
    Points : 65
    Points
    65
    Par défaut merci
    merci michel
    je vais l'essayé et je te tienderai au courant.
    le champ MARCHE est de type texte. la variable leNom est de type string et elle contient la valeur HABITAT, qui est une valeur du champ MARCHE.
    encore merci michel

    bonne soirée

  11. #11
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    171
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 171
    Points : 65
    Points
    65
    Par défaut DIDIDIDA
    MERCI BP MICHEL tu sais je viens de l'essayer pour un autre fichier ça marche, demain je l'appeliquerai pour mon fichier de travail au stage, je l'ai pas sur moi, mais normalement ça va marché, je suis tres contente merci et mmille fois merci

  12. #12
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    171
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 171
    Points : 65
    Points
    65
    Par défaut prblem avec mon fichiers excel!!!
    bonjour michel
    tu sais je pense que le pbm viens de mon fichier et pas de la syntaxe?? car j'ai utilisé la sysntaxe que tu m'avais donné ça marche sur des fichiers qlq mais pas sur mon fichier : au depart c vrai les noms des champs contienent des espaces mais j'ai changé ça!! mais c tjr pareil!! alors aide moi stp si tu voie de quoi il s'agit!!merci

  13. #13
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    171
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 171
    Points : 65
    Points
    65
    Par défaut problem avce mon fichier execl
    bonjour tout le monde
    j'ai cru avoir un probleme avec la syntaxe du sql mais finalement non , j'ai cette syntaxe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    texte_SQL = " SELECT NOM FROM [" & NomFeuille & "$] WHERE NOM = '" & leNom & "' "
    qui marche pour un fichier excel donné mais pas avec le mien:
    j'ai ce message d'erreur: aucune valeur donnée pour un ou plusieurs des paramètre requis; merci pour votre aide

  14. #14
    Membre éprouvé
    Avatar de fred65200
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 901
    Points : 1 207
    Points
    1 207
    Par défaut
    bonjour

    en supprimant les espaces superflus est ce que ça fonctionne?


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    texte_SQL= "SELECT NOM FROM [" & NomFeuille & "$] WHERE NOM='" & leNom & "'"
    cordialement

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

Discussions similaires

  1. problem de syntaxe pour excel sql vba
    Par DIDIDIDA dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 21/01/2008, 14h32
  2. [VS2005] Probleme Encodage CSV pour Excel
    Par belfaigore dans le forum VB.NET
    Réponses: 1
    Dernier message: 24/05/2007, 17h36
  3. [debutant] probleme de syntaxe pour un serveur
    Par Moufette91 dans le forum Autres
    Réponses: 2
    Dernier message: 16/05/2007, 12h00
  4. Problème de syntaxe pour fichier SQL
    Par savior dans le forum SQL
    Réponses: 12
    Dernier message: 13/09/2006, 13h33
  5. [SQL] probleme de syntaxe pour afficher une photo en php
    Par carmen256 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 11/04/2006, 21h48

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