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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2008
    Messages
    171
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 171
    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 éprouvé
    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
    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 confirmé
    Inscrit en
    Janvier 2008
    Messages
    171
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 171
    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 chevronné
    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
    Par défaut
    Ce n'est sans doute pas ça, mais as-tu essayé sans les crochets et/ou les $ ?

  5. #5
    Membre confirmé
    Inscrit en
    Janvier 2008
    Messages
    171
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 171
    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 confirmé
    Inscrit en
    Janvier 2008
    Messages
    171
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 171
    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 confirmé
    Inscrit en
    Janvier 2008
    Messages
    171
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 171
    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!!!!

+ 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