Recherche et trie

nkakim Messages postés 20 Date d'inscription jeudi 15 septembre 2005 Statut Membre Dernière intervention 16 janvier 2012 - 15 sept. 2007 à 13:14
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 - 22 sept. 2007 à 14:32
Bonjour a tous j'ai une petite preocupation .je viens de creer une base acces relier a VB il s'avere que je dois faire la recherche en utilisant deux(2) criteres le pays et la categorie.Alors j'ai mis deux combox
le probleme c'est quand je selectionne les deux combo pour qu'il puisse afficher dans un datagrid avec un combo ça marche. j'aimerai savoir comment faire pour selectionner les deux combox.
voici mon code:
Private Sub Command1_Click()
sql = "select * from  " & Combo1.Text & "  where Categorie.NomCategorie=" & Combo2.Text & ""
Set cn = New ADODB.Connection
Set reg = New ADODB.Recordset
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documents and Settings\Administrateur\Bureau\Telecom.mdb;Persist Security Info=False"
reg.CursorLocation = adUseClient
reg.Open sql, cn, adOpenForwardOnly, adLockReadOnly
Set reg.ActiveConnection = Nothing
Set DataGrid1.DataSource = reg
cn.Close
End Sub

merci d'avance

10 réponses

cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
15 sept. 2007 à 14:45
Salut,

Je pense que ta requête devrait être comme cela :

sql = "select * from  TaTable  where TonCHamp1= '" & Combo1.Text & "' And TonChamp2 = '" & Combo2.Text & "'"

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
0
nkakim Messages postés 20 Date d'inscription jeudi 15 septembre 2005 Statut Membre Dernière intervention 16 janvier 2012
15 sept. 2007 à 18:30
Merci pour la reponse mais ça ne marche toujours pas il m'affiche un message du genre type de donnée incompatible avec l'expression du critere et il souligne cette ligne en jaune

reg.Open sql, cn, adOpenForwardOnly, adLockReadOnly
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
15 sept. 2007 à 21:00
Salut,

Essaye comme cela défois que :

reg.Open sql, cn, adOpenDynamic, adLockPessimistic

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
0
nkakim Messages postés 20 Date d'inscription jeudi 15 septembre 2005 Statut Membre Dernière intervention 16 janvier 2012
18 sept. 2007 à 18:07
ça toujours la meme chose je tiens a signalé que je debute en programmation
voici mon code:
Private Sub Command1_Click()
sql = "select * from  Entreprise  where Entreprise.Pays= " & Combo1.Text & " And Entreprise.Categorie = " & Combo2.Text & ""

'sql = "SELECT * FROM  Entreprise WHERE Entreprise.Pays= Entreprise." & Combo1.Text & ""
Set cn = New ADODB.Connection
Set reg = New ADODB.Recordset

        cn.Provider = "microsoft.jet.oledb.4.0"
        cn.ConnectionString = App.Path & "\base\Telecom.mdb"
        cn.Open

reg.CursorLocation = adUseClient
reg.Open sql, cn, adOpenDynamic, adLockPessimistic
Set reg.ActiveConnection = Nothing
Set DataGrid1.DataSource = reg
cn.Close
End Sub
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
18 sept. 2007 à 18:51
Salut,


Dans ta requête à quoi correspond ce qui est en rouge ??
'sql = "SELECT * FROM  Entreprise WHERE Entreprise.Pays= Entreprise." & Combo1.Text & ""


A+
Exploreur

 Linux a un noyau, Windows un pépin


 
0
nkakim Messages postés 20 Date d'inscription jeudi 15 septembre 2005 Statut Membre Dernière intervention 16 janvier 2012
18 sept. 2007 à 18:58
Entreprise c'est la table. Pays et Categorie sont des champs de la table que je veux recuperer dans les combobox.
L'analyse c'est que une entreprise peut etre situé dans plusieurs pays. et chaque entreprise sont classé par categorie.
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
18 sept. 2007 à 19:08
Euh..bon, essayons cela :

Sql = "select * from  Entreprise  where Pays= '" & Combo1.Text & "' And Categorie = '" & Combo2.Text & "'"

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
0
nkakim Messages postés 20 Date d'inscription jeudi 15 septembre 2005 Statut Membre Dernière intervention 16 janvier 2012
18 sept. 2007 à 19:22
il affiche toujours le meme message type de donnée incompatible avec l'expression du critere. quand j'essaie de faire ça sql = "select * from  Entreprise  where Pays= " & Combo1.Text & " And Categorie = " & Combo2.Text & ""
il m'afiche erreur de syntaxe (operateur absent)dans l'expression 'pays=Congo and categorie=Fournisseur internet'.
je
0
lolokun Messages postés 1241 Date d'inscription mardi 10 octobre 2006 Statut Membre Dernière intervention 27 août 2013 7
20 sept. 2007 à 16:04
Salut,

Pour les requetes sql les strings doivent être encadrées avec des ', donc essayes ce que t'avais proposé Exploreur:

sql = "select * from  Entreprise  where Pays= ' " & Combo1.Text & " '  And Categorie = ' " & Combo2.Text & " ' "
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
22 sept. 2007 à 14:32
Salut,

Je viens de trouver une source très intéréssante sur l'utilisation du DatdGrid regarde ICI, cela devrait répondre à ton problème...

Par contre j'ai regarder ton code que tu m'a envoyé, fait attention aux déclaration de tes variables, car tu les déclares en Public dans ton module, puis tu l'ais redéclare dans tes form >> Reg, Cn ....

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
0
Rejoignez-nous