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:
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 |
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:(:(:(:oops::oops:
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:(:oops:
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:
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 :(:oops::cry: