Passer un paramètre dans une requète
BPAUD
Messages postés
74
Date d'inscription
Statut
Membre
Dernière intervention
-
moonj -
moonj -
Bonjour,
depuis une 'Base de données" sous Excel 2003, je souhaite extraire (créer une requète) des enregistrements particuliers (dont la valeur d'un champ correrspond à un critère).
Tant que je pose 'en dur' la valeur de selection dans la requete ca se passe bien.
Dès que je veux utiliser la valeur d'un champ comme critère, le systeme refuse d'enregistrer la requète et me retourne un message "Trop peu de paramètres. 1 attendu".
J'ai essayé de donner l'adresse de la cellule en question, de nommer celle-ci et de signifier son nom dans le champ correspondant dans la zone 'Inclure seulement les lignes où"...
Rien n'y fait!
Quel est le truc ?
Merci beaucoup!
Cdlt
Bernard
depuis une 'Base de données" sous Excel 2003, je souhaite extraire (créer une requète) des enregistrements particuliers (dont la valeur d'un champ correrspond à un critère).
Tant que je pose 'en dur' la valeur de selection dans la requete ca se passe bien.
Dès que je veux utiliser la valeur d'un champ comme critère, le systeme refuse d'enregistrer la requète et me retourne un message "Trop peu de paramètres. 1 attendu".
J'ai essayé de donner l'adresse de la cellule en question, de nommer celle-ci et de signifier son nom dans le champ correspondant dans la zone 'Inclure seulement les lignes où"...
Rien n'y fait!
Quel est le truc ?
Merci beaucoup!
Cdlt
Bernard
A voir également:
- Excel requête sql avec paramètre
- Liste déroulante excel - Guide
- Remettre parametre usine pc - Guide
- Word et excel gratuit - Guide
- Parametre windows - Guide
- Déplacer colonne excel - Guide
2 réponses
Bonjour,
j'ai trouvé une solution a ce probleme, c'est pas le plus propre possible mais ca fonctione.
Si quelqu'un a mieux je suis preneur !!!!
En fait il faut faire une macro et du coup on edite le texte de la requete en live.
Voici un bout de solution :
A coller dans une macro.
Requete = "SELECT W_KIM_VEHICULEDTL.DOSINCDE, W_KIM_VEHICULEDTL.OBJINCDE, W_KIM_VEHICULEDTL.OBJIDENTVAL FROM KIMOCE.W_KIM_VEHICULEDTL W_KIM_VEHICULEDTL WHERE ('NO' ='" & Worksheets("Test").Range("F3") & "')"
With ActiveWorkbook.Connections("CERPTEST Test").OLEDBConnection
.BackgroundQuery = True
.CommandText = Array(Requete)
.CommandType = xlCmdSql
.Connection = _
"OLEDB;Provider=MSDAORA.1;Password=kimoce;User ID=kimoce;Data Source=CERPTEST"
.RefreshOnFileOpen = False
.SavePassword = True
.SourceConnectionFile = ""
.SourceDataFile = ""
.ServerCredentialsMethod = xlCredentialsMethodIntegrated
.AlwaysUseConnectionFile = False
End With
With ActiveWorkbook.Connections("CERPTEST Test")
.Name = "CERPTEST Test"
.Description = ""
End With
j'ai trouvé une solution a ce probleme, c'est pas le plus propre possible mais ca fonctione.
Si quelqu'un a mieux je suis preneur !!!!
En fait il faut faire une macro et du coup on edite le texte de la requete en live.
Voici un bout de solution :
A coller dans une macro.
Requete = "SELECT W_KIM_VEHICULEDTL.DOSINCDE, W_KIM_VEHICULEDTL.OBJINCDE, W_KIM_VEHICULEDTL.OBJIDENTVAL FROM KIMOCE.W_KIM_VEHICULEDTL W_KIM_VEHICULEDTL WHERE ('NO' ='" & Worksheets("Test").Range("F3") & "')"
With ActiveWorkbook.Connections("CERPTEST Test").OLEDBConnection
.BackgroundQuery = True
.CommandText = Array(Requete)
.CommandType = xlCmdSql
.Connection = _
"OLEDB;Provider=MSDAORA.1;Password=kimoce;User ID=kimoce;Data Source=CERPTEST"
.RefreshOnFileOpen = False
.SavePassword = True
.SourceConnectionFile = ""
.SourceDataFile = ""
.ServerCredentialsMethod = xlCredentialsMethodIntegrated
.AlwaysUseConnectionFile = False
End With
With ActiveWorkbook.Connections("CERPTEST Test")
.Name = "CERPTEST Test"
.Description = ""
End With