Bonjour,
J'ai une base de donne=E9s acces (je travaille en Office 2003)que
j'interroge a partir d'excel via un Userform. Dans une textBox multirow
j'=E9cris la sintaxe SQL qui represente mon interrogation dans la base
de donn=E9es. J'uitlise une connexion ODBC avec ADO vers ma base acces
et copyFromRecordSet pour afficher les donn=E9es en XLS. Tout va bien si
je sais exactement quoi demander dans la partie WHERE de la sintaxe
SQL( where Client.Contry=3D"LX"), mais si par example je veux extraire
where Client.Contry=3D"*X" ca ne marche plus.
Ma question est pourquoi ma querry n'est plus execut=E9e si j'uitlise
"*" ou "?" pour remplacer des caracteres dans mon interrogation? Je
suis preneur de toute id=E9e ou sougestion, pour traiter ce souci sinon
j'ai travaill=E9 pour rien.
Btw, je veux pas creer des interrogation en Acces et les appeller de
mon Userform Excel.
Merci bcp pour votre temps( si besoin je peux fournir le code)!
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
RaMa
Bonjour
si ça ...where Client.Contry like "*X"
au lieu de ...where Client.Contry="*X"
Est-ce tu as essayé?
Salutations RaMa
a écrit dans le message de news:
Bonjour, J'ai une base de donneés acces (je travaille en Office 2003)que j'interroge a partir d'excel via un Userform. Dans une textBox multirow j'écris la sintaxe SQL qui represente mon interrogation dans la base de données. J'uitlise une connexion ODBC avec ADO vers ma base acces et copyFromRecordSet pour afficher les données en XLS. Tout va bien si je sais exactement quoi demander dans la partie WHERE de la sintaxe SQL( where Client.Contry="LX"), mais si par example je veux extraire where Client.Contry="*X" ca ne marche plus. Ma question est pourquoi ma querry n'est plus executée si j'uitlise "*" ou "?" pour remplacer des caracteres dans mon interrogation? Je suis preneur de toute idée ou sougestion, pour traiter ce souci sinon j'ai travaillé pour rien.
Btw, je veux pas creer des interrogation en Acces et les appeller de mon Userform Excel. Merci bcp pour votre temps( si besoin je peux fournir le code)!
Bonjour
si ça ...where Client.Contry like "*X"
au lieu de ...where Client.Contry="*X"
Est-ce tu as essayé?
Salutations
RaMa
<ionel.sbiera@gmail.com> a écrit dans le message de news:
1130683886.424587.250170@g43g2000cwa.googlegroups.com...
Bonjour,
J'ai une base de donneés acces (je travaille en Office 2003)que
j'interroge a partir d'excel via un Userform. Dans une textBox multirow
j'écris la sintaxe SQL qui represente mon interrogation dans la base
de données. J'uitlise une connexion ODBC avec ADO vers ma base acces
et copyFromRecordSet pour afficher les données en XLS. Tout va bien si
je sais exactement quoi demander dans la partie WHERE de la sintaxe
SQL( where Client.Contry="LX"), mais si par example je veux extraire
where Client.Contry="*X" ca ne marche plus.
Ma question est pourquoi ma querry n'est plus executée si j'uitlise
"*" ou "?" pour remplacer des caracteres dans mon interrogation? Je
suis preneur de toute idée ou sougestion, pour traiter ce souci sinon
j'ai travaillé pour rien.
Btw, je veux pas creer des interrogation en Acces et les appeller de
mon Userform Excel.
Merci bcp pour votre temps( si besoin je peux fournir le code)!
Bonjour, J'ai une base de donneés acces (je travaille en Office 2003)que j'interroge a partir d'excel via un Userform. Dans une textBox multirow j'écris la sintaxe SQL qui represente mon interrogation dans la base de données. J'uitlise une connexion ODBC avec ADO vers ma base acces et copyFromRecordSet pour afficher les données en XLS. Tout va bien si je sais exactement quoi demander dans la partie WHERE de la sintaxe SQL( where Client.Contry="LX"), mais si par example je veux extraire where Client.Contry="*X" ca ne marche plus. Ma question est pourquoi ma querry n'est plus executée si j'uitlise "*" ou "?" pour remplacer des caracteres dans mon interrogation? Je suis preneur de toute idée ou sougestion, pour traiter ce souci sinon j'ai travaillé pour rien.
Btw, je veux pas creer des interrogation en Acces et les appeller de mon Userform Excel. Merci bcp pour votre temps( si besoin je peux fournir le code)!
michdenis
Bonjour Ionel,
Un exemple de condition Where :
strRegion est une variable de type String
WHERE Name LIKE " & "'*" & strRegion & "*'"
Salutations!
a écrit dans le message de news: Bonjour, J'ai une base de donneés acces (je travaille en Office 2003)que j'interroge a partir d'excel via un Userform. Dans une textBox multirow j'écris la sintaxe SQL qui represente mon interrogation dans la base de données. J'uitlise une connexion ODBC avec ADO vers ma base acces et copyFromRecordSet pour afficher les données en XLS. Tout va bien si je sais exactement quoi demander dans la partie WHERE de la sintaxe SQL( where Client.Contry="LX"), mais si par example je veux extraire where Client.Contry="*X" ca ne marche plus. Ma question est pourquoi ma querry n'est plus executée si j'uitlise "*" ou "?" pour remplacer des caracteres dans mon interrogation? Je suis preneur de toute idée ou sougestion, pour traiter ce souci sinon j'ai travaillé pour rien.
Btw, je veux pas creer des interrogation en Acces et les appeller de mon Userform Excel. Merci bcp pour votre temps( si besoin je peux fournir le code)!
Bonjour Ionel,
Un exemple de condition Where :
strRegion est une variable de type String
WHERE Name LIKE " & "'*" & strRegion & "*'"
Salutations!
<ionel.sbiera@gmail.com> a écrit dans le message de news: 1130683886.424587.250170@g43g2000cwa.googlegroups.com...
Bonjour,
J'ai une base de donneés acces (je travaille en Office 2003)que
j'interroge a partir d'excel via un Userform. Dans une textBox multirow
j'écris la sintaxe SQL qui represente mon interrogation dans la base
de données. J'uitlise une connexion ODBC avec ADO vers ma base acces
et copyFromRecordSet pour afficher les données en XLS. Tout va bien si
je sais exactement quoi demander dans la partie WHERE de la sintaxe
SQL( where Client.Contry="LX"), mais si par example je veux extraire
where Client.Contry="*X" ca ne marche plus.
Ma question est pourquoi ma querry n'est plus executée si j'uitlise
"*" ou "?" pour remplacer des caracteres dans mon interrogation? Je
suis preneur de toute idée ou sougestion, pour traiter ce souci sinon
j'ai travaillé pour rien.
Btw, je veux pas creer des interrogation en Acces et les appeller de
mon Userform Excel.
Merci bcp pour votre temps( si besoin je peux fournir le code)!
a écrit dans le message de news: Bonjour, J'ai une base de donneés acces (je travaille en Office 2003)que j'interroge a partir d'excel via un Userform. Dans une textBox multirow j'écris la sintaxe SQL qui represente mon interrogation dans la base de données. J'uitlise une connexion ODBC avec ADO vers ma base acces et copyFromRecordSet pour afficher les données en XLS. Tout va bien si je sais exactement quoi demander dans la partie WHERE de la sintaxe SQL( where Client.Contry="LX"), mais si par example je veux extraire where Client.Contry="*X" ca ne marche plus. Ma question est pourquoi ma querry n'est plus executée si j'uitlise "*" ou "?" pour remplacer des caracteres dans mon interrogation? Je suis preneur de toute idée ou sougestion, pour traiter ce souci sinon j'ai travaillé pour rien.
Btw, je veux pas creer des interrogation en Acces et les appeller de mon Userform Excel. Merci bcp pour votre temps( si besoin je peux fournir le code)!
jb
Avec ADO, peut être est ce % au lieu de * (souvenir de ASP)
JB
Avec ADO, peut être est ce % au lieu de * (souvenir de ASP)
Avec ADO, peut être est ce % au lieu de * (souvenir de ASP)
JB
michdenis
Bonjour Jb,
Je te donne une idée du code (vba) que cela peut donner, le fait d'utiliser ADO pour construire un QueryTable
Observe le recordset est créé à l'aide d'ADO et il est passé à titre d'argument à la création du QueryTable. Dans une requête ADO, on utilise *. Mais si la requête était contruite directement dans Query, alors il est vrai qu'il faudrait remlacer * par %.
Pour ce type d'exemple, il ne fait pas oublier de charger la bibliothèque : "Microsoft Activex Data Object 2.x Librairy" '---------------------------- Sub ADO_QueryTable_SansODBC()
'Testé et Fonctionnel 'Accepte un champ de type mémo d'access 'Nombre de caractères limite cellule excel : 32765 'Attention au champ de type Ole
Dim Cnn As New ADODB.Connection Dim Rs As New ADODB.Recordset Dim Qt As QueryTable, Sh As Worksheet Dim Requete As String
Set Sh = Worksheets("Feuil1") 'à déterminer Requete = "SELECT * FROM employés" 'à déterminer
Set Qt = Sh.QueryTables.Add(Rs, Sh.Range("A1")) Qt.Refresh False
Rs.Close: Cnn.Close: Set Rs = Nothing: Set Cnn = Nothing Set Sh = Nothing: Set Qt = Nothing
End Sub '----------------------------
Salutations!
"jb" a écrit dans le message de news: Avec ADO, peut être est ce % au lieu de * (souvenir de ASP)
JB
Bonjour Jb,
Je te donne une idée du code (vba) que cela peut donner, le fait d'utiliser ADO pour construire un QueryTable
Observe le recordset est créé à l'aide d'ADO et il est passé à titre d'argument à la création du QueryTable.
Dans une requête ADO, on utilise *. Mais si la requête était contruite directement dans Query, alors il est vrai qu'il faudrait
remlacer * par %.
Pour ce type d'exemple, il ne fait pas oublier de charger la bibliothèque :
"Microsoft Activex Data Object 2.x Librairy"
'----------------------------
Sub ADO_QueryTable_SansODBC()
'Testé et Fonctionnel
'Accepte un champ de type mémo d'access
'Nombre de caractères limite cellule excel : 32765
'Attention au champ de type Ole
Dim Cnn As New ADODB.Connection
Dim Rs As New ADODB.Recordset
Dim Qt As QueryTable, Sh As Worksheet
Dim Requete As String
Set Sh = Worksheets("Feuil1") 'à déterminer
Requete = "SELECT * FROM employés" 'à déterminer
Set Qt = Sh.QueryTables.Add(Rs, Sh.Range("A1"))
Qt.Refresh False
Rs.Close: Cnn.Close: Set Rs = Nothing: Set Cnn = Nothing
Set Sh = Nothing: Set Qt = Nothing
End Sub
'----------------------------
Salutations!
"jb" <boisgontier@hotmail.com> a écrit dans le message de news: 1130687763.063381.218660@g14g2000cwa.googlegroups.com...
Avec ADO, peut être est ce % au lieu de * (souvenir de ASP)
Je te donne une idée du code (vba) que cela peut donner, le fait d'utiliser ADO pour construire un QueryTable
Observe le recordset est créé à l'aide d'ADO et il est passé à titre d'argument à la création du QueryTable. Dans une requête ADO, on utilise *. Mais si la requête était contruite directement dans Query, alors il est vrai qu'il faudrait remlacer * par %.
Pour ce type d'exemple, il ne fait pas oublier de charger la bibliothèque : "Microsoft Activex Data Object 2.x Librairy" '---------------------------- Sub ADO_QueryTable_SansODBC()
'Testé et Fonctionnel 'Accepte un champ de type mémo d'access 'Nombre de caractères limite cellule excel : 32765 'Attention au champ de type Ole
Dim Cnn As New ADODB.Connection Dim Rs As New ADODB.Recordset Dim Qt As QueryTable, Sh As Worksheet Dim Requete As String
Set Sh = Worksheets("Feuil1") 'à déterminer Requete = "SELECT * FROM employés" 'à déterminer
Set Qt = Sh.QueryTables.Add(Rs, Sh.Range("A1")) Qt.Refresh False
Rs.Close: Cnn.Close: Set Rs = Nothing: Set Cnn = Nothing Set Sh = Nothing: Set Qt = Nothing
End Sub '----------------------------
Salutations!
"jb" a écrit dans le message de news: Avec ADO, peut être est ce % au lieu de * (souvenir de ASP)
JB
ionel.sbiera
Merci a vous tous! ce forum e génial meme ci tu poste le dimanche!!!! Grace a vous j'utilise maintenant WHERE .... like "% LX %" et ca marche impecabilissime!!! Merci great people!!
Merci a vous tous! ce forum e génial meme ci tu poste le dimanche!!!!
Grace a vous j'utilise maintenant WHERE .... like "% LX %" et ca
marche impecabilissime!!!
Merci great people!!
Merci a vous tous! ce forum e génial meme ci tu poste le dimanche!!!! Grace a vous j'utilise maintenant WHERE .... like "% LX %" et ca marche impecabilissime!!! Merci great people!!