cs_Amesainte
Messages postés3Date d'inscriptionmardi 12 octobre 2010StatutMembreDernière intervention 9 novembre 2010
-
12 oct. 2010 à 23:26
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 2015
-
13 oct. 2010 à 08:50
Bonjour,
Mon problème est le suivant, je souhaite effectuer une requête SQL avec une clause WHERE dans un fichier Excel. Cependant, la table est une range dans le fichier Excel source (A6:C17)
J'arrive à faire un select * from mais dès qu'une CLAUSE WHERE est ajouté, j'obtiens l'erreur suivante :
no value given for one or more parameters
Voici mon code :
(Je précise que celui fonctionne dès qu'on enlève la CLAUSE WHERE)
Sub RequeteClasseurFerme_book()
Dim Source As ADODB.Connection
Dim Rst As ADODB.Recordset
Dim ADOCommand As ADODB.Command
Dim Fichier As String, Cellule As String, Feuille As String
'Définit le classeur fermé servant de base de données
Fichier = "C:\test\Book4.xls"
'Nom de la feuille dans le classeur fermé
Feuille = "Sheet2$"
Cellule = "A6:C17"
Set Source = New ADODB.Connection
Source.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Fichier & ";Extended Properties=""Excel 8.0;HDR=Yes;"";"
Set ADOCommand = New ADODB.Command
With ADOCommand
.ActiveConnection = Source
.CommandText = "SELECT * FROM [" & Feuille & Cellule & "] WHERE Col1='A6'"
End With
Set Rst = New ADODB.Recordset
Rst.Open ADOCommand, , adOpenKeyset, adLockOptimistic
Set Rst = Source.Execute("SELECT * FROM [" & Feuille & Cellule & "]")
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 13 oct. 2010 à 08:50
Salut
"Sub RequeteClasseurFerme_book" alors que tu ouvres un classeur n'est pas très bien choisi ! (si "ferme" veut dire "fermer")
WHERE Col1='A6'"
Est-ce que l'une de tes colonnes s'appelle "Col1" ?
Est-ce que une des cellules de cette colonne contient le texte "A6" (et seulement ce texte) ?
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)