Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Filtrage de données ACCESS pour vb

12 réponses
Avatar
fabrizio-r
Bonjour a tous,

Voila j'aimerai savoir comment faire un filtrage de=20
donn=E9es enregistr=E9es dans une base ACCESS selon un=20
crit=E8re choisi et d'afficher cela =E0 partir de=20
Datacombobox et TextBox.

Je vous remercie d'avance

Fabrice.

10 réponses

1 2
Avatar
JLK
Voici un petit bout de code que j'ai essayé pour toi
Dim cnx As New ADODB.Connection
Dim rst As New ADODB.Recordset
Private Sub Form_Load()
cnx.Provider = "microsoft.jet.oledb.4.0"
cnx.CursorLocation = adUseClient
cnx.ConnectionString = "c:ketxketaxis.mdb"
cnx.Open
rst.Filter = "client like 'a*'"
rst.Open "taxis", cnx
Set DataGrid1.DataSource = rst
set cnx = Nothing
set rst = Nothing
End Sub

La table 'Taxis' a un champ 'Client' (au fait le nom du client) et je filtre
les tuples pour lesquels le nom commence par 'a' (note la spéficité d'Access
avec * à la place de %).
Bien sûr je ne te conseille de déclarer rst et cnx en un coup avec 'As New'
C'est la propriété Filter de l'objet Recordset qui indique les données à
filtrer.

JLK

"fabrizio-r" a écrit dans le message
de news: 196d301c41c94$47600870$
Bonjour a tous,

Voila j'aimerai savoir comment faire un filtrage de
données enregistrées dans une base ACCESS selon un
critère choisi et d'afficher cela à partir de
Datacombobox et TextBox.

Je vous remercie d'avance

Fabrice.
Avatar
fabrizio-r
ce que je ne sais pas faire c'est filtrer mes
enregistrements par rapport à une donnée que j'aurai
saisi au préalable dans un Datacombobox.


fabrice
-----Message d'origine-----
Voici un petit bout de code que j'ai essayé pour toi
Dim cnx As New ADODB.Connection
Dim rst As New ADODB.Recordset
Private Sub Form_Load()
cnx.Provider = "microsoft.jet.oledb.4.0"
cnx.CursorLocation = adUseClient
cnx.ConnectionString = "c:ketxketaxis.mdb"
cnx.Open
rst.Filter = "client like 'a*'"
rst.Open "taxis", cnx
Set DataGrid1.DataSource = rst
set cnx = Nothing
set rst = Nothing
End Sub

La table 'Taxis' a un champ 'Client' (au fait le nom du


client) et je filtre
les tuples pour lesquels le nom commence par 'a' (note


la spéficité d'Access
avec * à la place de %).
Bien sûr je ne te conseille de déclarer rst et cnx en un


coup avec 'As New'
C'est la propriété Filter de l'objet Recordset qui


indique les données à
filtrer.

JLK

"fabrizio-r" a


écrit dans le message
de news: 196d301c41c94$47600870$
Bonjour a tous,

Voila j'aimerai savoir comment faire un filtrage de
données enregistrées dans une base ACCESS selon un
critère choisi et d'afficher cela à partir de
Datacombobox et TextBox.

Je vous remercie d'avance

Fabrice.


.



Avatar
Clive Lumb
Voici d'abord un bout de code pour faire de l'autocomplete sur un textbox à
partir d'un champ de table.
C'est fait avec le dataEnvironment de vb, mais en ado le principe est
pareil.
Si on veut un combobox où les choix possibles diminuent au fil de la frappe
il faut utiliser .Filter comme te propose JLK et repopuler le combo à chaque
frappe de caractère (voir 2eme bout de code)


Clive

1er bout de code
*************
Private Sub txtFields_KeyUp(Index As Integer, KeyCode As Integer, Shift As
Integer)
Dim SearchStr As String
Dim SelPoint As Integer
If KeyCode < 32 Then
Exit Sub
Else
Select Case Index
Case Is = 1 '(Service)
If Len(Me.txtFields(Index).Text) > 0 Then
SelPoint = Me.txtFields(Index).SelStart
SearchStr = "Service_Demandeur LIKE '" &
Left$(Me.txtFields(Index).Text, SelPoint) & "*'"
DataEnvironment1.rsServices.MoveFirst
DataEnvironment1.rsServices.Find SearchStr
If Not DataEnvironment1.rsServices.EOF Then
Me.txtFields(Index).Text DataEnvironment1.rsServices("Service_Demandeur").Value
Me.txtFields(Index).SelStart = SelPoint
Else
Me.txtFields(Index).Text Left$(Me.txtFields(Index).Text, Me.txtFields(Index).SelStart)
Me.txtFields(Index).SelStart = SelPoint
End If
End If
Case Is = 2 '(Demandeur)
If Len(Me.txtFields(Index).Text) > 0 Then
.......

2eme bout de code
***************
Dim MyDe As New DataEnvironment1
ConfirmFlag = False
Pays = "Autre"
MyDe.ListePays
Me.cboPays.Clear
With MyDe.rsListePays
.MoveFirst
While Not .EOF
Me.cboPays.AddItem .Fields("shortpays").Value
.MoveNext
Wend
End With
MyDe.rsListePays.Close
Me.cboPays.ListIndex

"fabrizio-r" a écrit dans le message
de news:169ef01c41ca2$3f5ff730$
ce que je ne sais pas faire c'est filtrer mes
enregistrements par rapport à une donnée que j'aurai
saisi au préalable dans un Datacombobox.


fabrice
-----Message d'origine-----
Voici un petit bout de code que j'ai essayé pour toi
Dim cnx As New ADODB.Connection
Dim rst As New ADODB.Recordset
Private Sub Form_Load()
cnx.Provider = "microsoft.jet.oledb.4.0"
cnx.CursorLocation = adUseClient
cnx.ConnectionString = "c:ketxketaxis.mdb"
cnx.Open
rst.Filter = "client like 'a*'"
rst.Open "taxis", cnx
Set DataGrid1.DataSource = rst
set cnx = Nothing
set rst = Nothing
End Sub

La table 'Taxis' a un champ 'Client' (au fait le nom du


client) et je filtre
les tuples pour lesquels le nom commence par 'a' (note


la spéficité d'Access
avec * à la place de %).
Bien sûr je ne te conseille de déclarer rst et cnx en un


coup avec 'As New'
C'est la propriété Filter de l'objet Recordset qui


indique les données à
filtrer.

JLK

"fabrizio-r" a


écrit dans le message
de news: 196d301c41c94$47600870$
Bonjour a tous,

Voila j'aimerai savoir comment faire un filtrage de
données enregistrées dans une base ACCESS selon un
critère choisi et d'afficher cela à partir de
Datacombobox et TextBox.

Je vous remercie d'avance

Fabrice.


.



Avatar
fabrizio-r
je suis vraimen desole Clive mai je ne comprend pas trop.
Deja je ne trouve pa le propriété TextField et je ne
comprend pas trop le code.
Je m excuse.

Je te donne mon E mail au cas tu aurai le temps de me
trouver un exemple illustré pour que je comprenne mieux,
si cela ne te dérange pas bien entendu.

e mail :

Je te remercie d avance

Fabrice.

-----Message d'origine-----
Voici d'abord un bout de code pour faire de


l'autocomplete sur un textbox à
partir d'un champ de table.
C'est fait avec le dataEnvironment de vb, mais en ado le


principe est
pareil.
Si on veut un combobox où les choix possibles diminuent


au fil de la frappe
il faut utiliser .Filter comme te propose JLK et


repopuler le combo à chaque
frappe de caractère (voir 2eme bout de code)


Clive

1er bout de code
*************
Private Sub txtFields_KeyUp(Index As Integer, KeyCode As


Integer, Shift As
Integer)
Dim SearchStr As String
Dim SelPoint As Integer
If KeyCode < 32 Then
Exit Sub
Else
Select Case Index
Case Is = 1 '(Service)
If Len(Me.txtFields(Index).Text) > 0 Then
SelPoint = Me.txtFields(Index).SelStart
SearchStr = "Service_Demandeur LIKE '" &
Left$(Me.txtFields(Index).Text, SelPoint) & "*'"
DataEnvironment1.rsServices.MoveFirst
DataEnvironment1.rsServices.Find


SearchStr
If Not DataEnvironment1.rsServices.EOF


Then
Me.txtFields(Index).Text =
DataEnvironment1.rsServices("Service_Demandeur").Value
Me.txtFields(Index).SelStart =


SelPoint
Else
Me.txtFields(Index).Text =
Left$(Me.txtFields(Index).Text, Me.txtFields


(Index).SelStart)
Me.txtFields(Index).SelStart =


SelPoint
End If
End If
Case Is = 2 '(Demandeur)
If Len(Me.txtFields(Index).Text) > 0 Then
.......

2eme bout de code
***************
Dim MyDe As New DataEnvironment1
ConfirmFlag = False
Pays = "Autre"
MyDe.ListePays
Me.cboPays.Clear
With MyDe.rsListePays
.MoveFirst
While Not .EOF
Me.cboPays.AddItem .Fields("shortpays").Value
.MoveNext
Wend
End With
MyDe.rsListePays.Close
Me.cboPays.ListIndex =


"fabrizio-r" a


écrit dans le message
de news:169ef01c41ca2$3f5ff730$
ce que je ne sais pas faire c'est filtrer mes
enregistrements par rapport à une donnée que j'aurai
saisi au préalable dans un Datacombobox.


fabrice
-----Message d'origine-----
Voici un petit bout de code que j'ai essayé pour toi
Dim cnx As New ADODB.Connection
Dim rst As New ADODB.Recordset
Private Sub Form_Load()
cnx.Provider = "microsoft.jet.oledb.4.0"
cnx.CursorLocation = adUseClient
cnx.ConnectionString = "c:ketxketaxis.mdb"
cnx.Open
rst.Filter = "client like 'a*'"
rst.Open "taxis", cnx
Set DataGrid1.DataSource = rst
set cnx = Nothing
set rst = Nothing
End Sub

La table 'Taxis' a un champ 'Client' (au fait le nom du


client) et je filtre
les tuples pour lesquels le nom commence par 'a' (note


la spéficité d'Access
avec * à la place de %).
Bien sûr je ne te conseille de déclarer rst et cnx en un


coup avec 'As New'
C'est la propriété Filter de l'objet Recordset qui


indique les données à
filtrer.

JLK

"fabrizio-r" a


écrit dans le message
de news: 196d301c41c94$47600870$
Bonjour a tous,

Voila j'aimerai savoir comment faire un filtrage de
données enregistrées dans une base ACCESS selon un
critère choisi et d'afficher cela à partir de
Datacombobox et TextBox.

Je vous remercie d'avance

Fabrice.


.





.



Avatar
fabrizio-r
je suis vraiment desole Clive mais je ne comprend pas du
tout le code et je ne trouve pa la propriété TextField
Si tu pouvai me faire un petit exemple illustré, ca me
ferai plaisir, si cela ne te dérange pas biensur

Je te donne mon e mail :

je te remercie d'avance

Fabrice

-----Message d'origine-----
Voici d'abord un bout de code pour faire de


l'autocomplete sur un textbox à
partir d'un champ de table.
C'est fait avec le dataEnvironment de vb, mais en ado le


principe est
pareil.
Si on veut un combobox où les choix possibles diminuent


au fil de la frappe
il faut utiliser .Filter comme te propose JLK et


repopuler le combo à chaque
frappe de caractère (voir 2eme bout de code)


Clive

1er bout de code
*************
Private Sub txtFields_KeyUp(Index As Integer, KeyCode As


Integer, Shift As
Integer)
Dim SearchStr As String
Dim SelPoint As Integer
If KeyCode < 32 Then
Exit Sub
Else
Select Case Index
Case Is = 1 '(Service)
If Len(Me.txtFields(Index).Text) > 0 Then
SelPoint = Me.txtFields(Index).SelStart
SearchStr = "Service_Demandeur LIKE '" &
Left$(Me.txtFields(Index).Text, SelPoint) & "*'"
DataEnvironment1.rsServices.MoveFirst
DataEnvironment1.rsServices.Find


SearchStr
If Not DataEnvironment1.rsServices.EOF


Then
Me.txtFields(Index).Text =
DataEnvironment1.rsServices("Service_Demandeur").Value
Me.txtFields(Index).SelStart =


SelPoint
Else
Me.txtFields(Index).Text =
Left$(Me.txtFields(Index).Text, Me.txtFields


(Index).SelStart)
Me.txtFields(Index).SelStart =


SelPoint
End If
End If
Case Is = 2 '(Demandeur)
If Len(Me.txtFields(Index).Text) > 0 Then
.......

2eme bout de code
***************
Dim MyDe As New DataEnvironment1
ConfirmFlag = False
Pays = "Autre"
MyDe.ListePays
Me.cboPays.Clear
With MyDe.rsListePays
.MoveFirst
While Not .EOF
Me.cboPays.AddItem .Fields("shortpays").Value
.MoveNext
Wend
End With
MyDe.rsListePays.Close
Me.cboPays.ListIndex =


"fabrizio-r" a


écrit dans le message
de news:169ef01c41ca2$3f5ff730$
ce que je ne sais pas faire c'est filtrer mes
enregistrements par rapport à une donnée que j'aurai
saisi au préalable dans un Datacombobox.


fabrice
-----Message d'origine-----
Voici un petit bout de code que j'ai essayé pour toi
Dim cnx As New ADODB.Connection
Dim rst As New ADODB.Recordset
Private Sub Form_Load()
cnx.Provider = "microsoft.jet.oledb.4.0"
cnx.CursorLocation = adUseClient
cnx.ConnectionString = "c:ketxketaxis.mdb"
cnx.Open
rst.Filter = "client like 'a*'"
rst.Open "taxis", cnx
Set DataGrid1.DataSource = rst
set cnx = Nothing
set rst = Nothing
End Sub

La table 'Taxis' a un champ 'Client' (au fait le nom du


client) et je filtre
les tuples pour lesquels le nom commence par 'a' (note


la spéficité d'Access
avec * à la place de %).
Bien sûr je ne te conseille de déclarer rst et cnx en un


coup avec 'As New'
C'est la propriété Filter de l'objet Recordset qui


indique les données à
filtrer.

JLK

"fabrizio-r" a


écrit dans le message
de news: 196d301c41c94$47600870$
Bonjour a tous,

Voila j'aimerai savoir comment faire un filtrage de
données enregistrées dans une base ACCESS selon un
critère choisi et d'afficher cela à partir de
Datacombobox et TextBox.

Je vous remercie d'avance

Fabrice.


.





.



Avatar
Clive Lumb
Hello Fabrice,

Il fait tard donc je répond brièvement - plus tard j'en dirai plus long....

TextField est le nom d'un groupe de contrôles TextBox que j'ai mis sur le
form.... C'est utile de créer un groupe de textbox lorsqu'on fait des
traitements ou vérifications très semblables sur un tas de saisies. Dans ce
cas j'ai mis tous les textbox avec "autocomplete" dans le même groupe de
contrôles.

Pour un exemple simple pour tester, remplacer txtFields(Index) par le nom de
ton textbox. Et le code va dans l'evenement "keyup" de ton textbox.

Que utilises tu pour l'accès aux données? ADO, DataEnvironment .. ? Contrôle
Data, Recordset ??

Clive



"fabrizio-r" a écrit dans le message
de news:19c0301c41cb6$7c5b7290$
je suis vraiment desole Clive mais je ne comprend pas du
tout le code et je ne trouve pa la propriété TextField
Si tu pouvai me faire un petit exemple illustré, ca me
ferai plaisir, si cela ne te dérange pas biensur

Je te donne mon e mail :

je te remercie d'avance

Fabrice

-----Message d'origine-----
Voici d'abord un bout de code pour faire de


l'autocomplete sur un textbox à
partir d'un champ de table.
C'est fait avec le dataEnvironment de vb, mais en ado le


principe est
pareil.
Si on veut un combobox où les choix possibles diminuent


au fil de la frappe
il faut utiliser .Filter comme te propose JLK et


repopuler le combo à chaque
frappe de caractère (voir 2eme bout de code)


Clive

1er bout de code
*************
Private Sub txtFields_KeyUp(Index As Integer, KeyCode As


Integer, Shift As
Integer)
Dim SearchStr As String
Dim SelPoint As Integer
If KeyCode < 32 Then
Exit Sub
Else
Select Case Index
Case Is = 1 '(Service)
If Len(Me.txtFields(Index).Text) > 0 Then
SelPoint = Me.txtFields(Index).SelStart
SearchStr = "Service_Demandeur LIKE '" &
Left$(Me.txtFields(Index).Text, SelPoint) & "*'"
DataEnvironment1.rsServices.MoveFirst
DataEnvironment1.rsServices.Find


SearchStr
If Not DataEnvironment1.rsServices.EOF


Then
Me.txtFields(Index).Text >DataEnvironment1.rsServices("Service_Demandeur").Value
Me.txtFields(Index).SelStart SelPoint
Else
Me.txtFields(Index).Text >Left$(Me.txtFields(Index).Text, Me.txtFields


(Index).SelStart)
Me.txtFields(Index).SelStart SelPoint
End If
End If
Case Is = 2 '(Demandeur)
If Len(Me.txtFields(Index).Text) > 0 Then
.......

2eme bout de code
***************
Dim MyDe As New DataEnvironment1
ConfirmFlag = False
Pays = "Autre"
MyDe.ListePays
Me.cboPays.Clear
With MyDe.rsListePays
.MoveFirst
While Not .EOF
Me.cboPays.AddItem .Fields("shortpays").Value
.MoveNext
Wend
End With
MyDe.rsListePays.Close
Me.cboPays.ListIndex >

"fabrizio-r" a


écrit dans le message
de news:169ef01c41ca2$3f5ff730$
ce que je ne sais pas faire c'est filtrer mes
enregistrements par rapport à une donnée que j'aurai
saisi au préalable dans un Datacombobox.


fabrice
-----Message d'origine-----
Voici un petit bout de code que j'ai essayé pour toi
Dim cnx As New ADODB.Connection
Dim rst As New ADODB.Recordset
Private Sub Form_Load()
cnx.Provider = "microsoft.jet.oledb.4.0"
cnx.CursorLocation = adUseClient
cnx.ConnectionString = "c:ketxketaxis.mdb"
cnx.Open
rst.Filter = "client like 'a*'"
rst.Open "taxis", cnx
Set DataGrid1.DataSource = rst
set cnx = Nothing
set rst = Nothing
End Sub

La table 'Taxis' a un champ 'Client' (au fait le nom du


client) et je filtre
les tuples pour lesquels le nom commence par 'a' (note


la spéficité d'Access
avec * à la place de %).
Bien sûr je ne te conseille de déclarer rst et cnx en un


coup avec 'As New'
C'est la propriété Filter de l'objet Recordset qui


indique les données à
filtrer.

JLK

"fabrizio-r" a


écrit dans le message
de news: 196d301c41c94$47600870$
Bonjour a tous,

Voila j'aimerai savoir comment faire un filtrage de
données enregistrées dans une base ACCESS selon un
critère choisi et d'afficher cela à partir de
Datacombobox et TextBox.

Je vous remercie d'avance

Fabrice.


.





.



Avatar
fabrizio-r
Bonjour Clive,

Pour l'accès aux données, j'utilise ADO

Fabrice


-----Message d'origine-----
Hello Fabrice,

Il fait tard donc je répond brièvement - plus tard j'en


dirai plus long....

TextField est le nom d'un groupe de contrôles TextBox


que j'ai mis sur le
form.... C'est utile de créer un groupe de textbox


lorsqu'on fait des
traitements ou vérifications très semblables sur un tas


de saisies. Dans ce
cas j'ai mis tous les textbox avec "autocomplete" dans


le même groupe de
contrôles.

Pour un exemple simple pour tester, remplacer txtFields


(Index) par le nom de
ton textbox. Et le code va dans l'evenement "keyup" de


ton textbox.

Que utilises tu pour l'accès aux données? ADO,


DataEnvironment .. ? Contrôle
Data, Recordset ??

Clive



"fabrizio-r" a


écrit dans le message
de news:19c0301c41cb6$7c5b7290$
je suis vraiment desole Clive mais je ne comprend pas du
tout le code et je ne trouve pa la propriété TextField
Si tu pouvai me faire un petit exemple illustré, ca me
ferai plaisir, si cela ne te dérange pas biensur

Je te donne mon e mail :

je te remercie d'avance

Fabrice

-----Message d'origine-----
Voici d'abord un bout de code pour faire de


l'autocomplete sur un textbox à
partir d'un champ de table.
C'est fait avec le dataEnvironment de vb, mais en ado le


principe est
pareil.
Si on veut un combobox où les choix possibles diminuent


au fil de la frappe
il faut utiliser .Filter comme te propose JLK et


repopuler le combo à chaque
frappe de caractère (voir 2eme bout de code)


Clive

1er bout de code
*************
Private Sub txtFields_KeyUp(Index As Integer, KeyCode As


Integer, Shift As
Integer)
Dim SearchStr As String
Dim SelPoint As Integer
If KeyCode < 32 Then
Exit Sub
Else
Select Case Index
Case Is = 1 '(Service)
If Len(Me.txtFields(Index).Text) > 0 Then
SelPoint = Me.txtFields(Index).SelStart
SearchStr = "Service_Demandeur LIKE '" &
Left$(Me.txtFields(Index).Text, SelPoint) & "*'"
DataEnvironment1.rsServices.MoveFirst
DataEnvironment1.rsServices.Find


SearchStr
If Not DataEnvironment1.rsServices.EOF


Then
Me.txtFields(Index).Text =
DataEnvironment1.rsServices("Service_Demandeur").Value
Me.txtFields(Index).SelStart =


SelPoint
Else
Me.txtFields(Index).Text =
Left$(Me.txtFields(Index).Text, Me.txtFields


(Index).SelStart)
Me.txtFields(Index).SelStart =


SelPoint
End If
End If
Case Is = 2 '(Demandeur)
If Len(Me.txtFields(Index).Text) > 0 Then
.......

2eme bout de code
***************
Dim MyDe As New DataEnvironment1
ConfirmFlag = False
Pays = "Autre"
MyDe.ListePays
Me.cboPays.Clear
With MyDe.rsListePays
.MoveFirst
While Not .EOF
Me.cboPays.AddItem .Fields("shortpays").Value
.MoveNext
Wend
End With
MyDe.rsListePays.Close
Me.cboPays.ListIndex =


"fabrizio-r" a


écrit dans le message
de news:169ef01c41ca2$3f5ff730$
ce que je ne sais pas faire c'est filtrer mes
enregistrements par rapport à une donnée que j'aurai
saisi au préalable dans un Datacombobox.


fabrice
-----Message d'origine-----
Voici un petit bout de code que j'ai essayé pour toi
Dim cnx As New ADODB.Connection
Dim rst As New ADODB.Recordset
Private Sub Form_Load()
cnx.Provider = "microsoft.jet.oledb.4.0"
cnx.CursorLocation = adUseClient
cnx.ConnectionString = "c:ketxketaxis.mdb"
cnx.Open
rst.Filter = "client like 'a*'"
rst.Open "taxis", cnx
Set DataGrid1.DataSource = rst
set cnx = Nothing
set rst = Nothing
End Sub

La table 'Taxis' a un champ 'Client' (au fait le nom du


client) et je filtre
les tuples pour lesquels le nom commence par 'a' (note


la spéficité d'Access
avec * à la place de %).
Bien sûr je ne te conseille de déclarer rst et cnx en






un
coup avec 'As New'
C'est la propriété Filter de l'objet Recordset qui


indique les données à
filtrer.

JLK

"fabrizio-r" a


écrit dans le message
de news: 196d301c41c94$47600870$
Bonjour a tous,

Voila j'aimerai savoir comment faire un filtrage de
données enregistrées dans une base ACCESS selon un
critère choisi et d'afficher cela à partir de
Datacombobox et TextBox.

Je vous remercie d'avance

Fabrice.


.





.





.



Avatar
JLK
Si je comprends bien, tu sélectionnes une donnée dans datacombo et tu
filtres les données du recordset en fonction de la sélection?
Si c'est bien ça, tu récupères la sélection dans une variable du même type
(p. ex selection = datacombo1.boundtext ou selectionÚtacombo1.text selon
la façon don tu utilises datacombo)
Puis rst.Filter="ChampAFiltrer = (ou like en fonction ...) " & selection si
selection est numérique ou "ChampAFilter='" & selection & "'" si selection
est du type string. Si selection est du type date tu utilises #.
Exprime clairement ton problème.

JLK
"fabrizio-r" a écrit dans le message
de news: 169ef01c41ca2$3f5ff730$
ce que je ne sais pas faire c'est filtrer mes
enregistrements par rapport à une donnée que j'aurai
saisi au préalable dans un Datacombobox.


fabrice
-----Message d'origine-----
Voici un petit bout de code que j'ai essayé pour toi
Dim cnx As New ADODB.Connection
Dim rst As New ADODB.Recordset
Private Sub Form_Load()
cnx.Provider = "microsoft.jet.oledb.4.0"
cnx.CursorLocation = adUseClient
cnx.ConnectionString = "c:ketxketaxis.mdb"
cnx.Open
rst.Filter = "client like 'a*'"
rst.Open "taxis", cnx
Set DataGrid1.DataSource = rst
set cnx = Nothing
set rst = Nothing
End Sub

La table 'Taxis' a un champ 'Client' (au fait le nom du


client) et je filtre
les tuples pour lesquels le nom commence par 'a' (note


la spéficité d'Access
avec * à la place de %).
Bien sûr je ne te conseille de déclarer rst et cnx en un


coup avec 'As New'
C'est la propriété Filter de l'objet Recordset qui


indique les données à
filtrer.

JLK

"fabrizio-r" a


écrit dans le message
de news: 196d301c41c94$47600870$
Bonjour a tous,

Voila j'aimerai savoir comment faire un filtrage de
données enregistrées dans une base ACCESS selon un
critère choisi et d'afficher cela à partir de
Datacombobox et TextBox.

Je vous remercie d'avance

Fabrice.


.



Avatar
fabrizio-r
j explique en détail mon problème

je dois effectuer une appli de gestion de tâche pour une
société de maintenance informatique
donc dans mon form, j ai diféérents DataCombobx avec le
nom du client, la tache de maintenance a accomplir, le
nom de la personne qui va faire la maintenance, date de
reception etc.....

Toute ces données etant stockéés dans une base de données
avec différentes tables,( client, membre_equipe).
j accède à ces données par ADO.

Je visionne ces données comme on les visionne dans
ACCESS, avec un formulaire et que l on clique sur
enregistrement suivant.

Ainsi, ce que je souhaite faire, c'est visualiser toutes
tâches a accomplir par une personne en particulier
j utilise un form, je saisi le nom de la personne faisant
parti de la société, réalisant la maintenance et qd je
clique sur OK je visualise toutes les tâches que seul lui
a à accomplir.

Fabrice.
-----Message d'origine-----
Si je comprends bien, tu sélectionnes une donnée dans


datacombo et tu
filtres les données du recordset en fonction de la


sélection?
Si c'est bien ça, tu récupères la sélection dans une


variable du même type
(p. ex selection = datacombo1.boundtext ou


selectionÚtacombo1.text selon
la façon don tu utilises datacombo)
Puis rst.Filter="ChampAFiltrer = (ou like en


fonction ...) " & selection si
selection est numérique ou "ChampAFilter='" & selection


& "'" si selection
est du type string. Si selection est du type date tu


utilises #.
Exprime clairement ton problème.

JLK
"fabrizio-r" a


écrit dans le message
de news: 169ef01c41ca2$3f5ff730$
ce que je ne sais pas faire c'est filtrer mes
enregistrements par rapport à une donnée que j'aurai
saisi au préalable dans un Datacombobox.


fabrice
-----Message d'origine-----
Voici un petit bout de code que j'ai essayé pour toi
Dim cnx As New ADODB.Connection
Dim rst As New ADODB.Recordset
Private Sub Form_Load()
cnx.Provider = "microsoft.jet.oledb.4.0"
cnx.CursorLocation = adUseClient
cnx.ConnectionString = "c:ketxketaxis.mdb"
cnx.Open
rst.Filter = "client like 'a*'"
rst.Open "taxis", cnx
Set DataGrid1.DataSource = rst
set cnx = Nothing
set rst = Nothing
End Sub

La table 'Taxis' a un champ 'Client' (au fait le nom du


client) et je filtre
les tuples pour lesquels le nom commence par 'a' (note


la spéficité d'Access
avec * à la place de %).
Bien sûr je ne te conseille de déclarer rst et cnx en un


coup avec 'As New'
C'est la propriété Filter de l'objet Recordset qui


indique les données à
filtrer.

JLK

"fabrizio-r" a


écrit dans le message
de news: 196d301c41c94$47600870$
Bonjour a tous,

Voila j'aimerai savoir comment faire un filtrage de
données enregistrées dans une base ACCESS selon un
critère choisi et d'afficher cela à partir de
Datacombobox et TextBox.

Je vous remercie d'avance

Fabrice.


.





.



Avatar
Clive Lumb
Pour faire ce que tu veux regarder du coté de ".filter" du recordset sous
jacent du controle que t utilises pour afficher les infos

Recupère le nom dans le combo puis ADOrs.Filter="Nom = " & """ & NomPersonne
& """


"fabrizio-r" a écrit dans le message
de news:19ecf01c41d4d$abeb5330$
j explique en détail mon problème

je dois effectuer une appli de gestion de tâche pour une
société de maintenance informatique
donc dans mon form, j ai diféérents DataCombobx avec le
nom du client, la tache de maintenance a accomplir, le
nom de la personne qui va faire la maintenance, date de
reception etc.....

Toute ces données etant stockéés dans une base de données
avec différentes tables,( client, membre_equipe).
j accède à ces données par ADO.

Je visionne ces données comme on les visionne dans
ACCESS, avec un formulaire et que l on clique sur
enregistrement suivant.

Ainsi, ce que je souhaite faire, c'est visualiser toutes
tâches a accomplir par une personne en particulier
j utilise un form, je saisi le nom de la personne faisant
parti de la société, réalisant la maintenance et qd je
clique sur OK je visualise toutes les tâches que seul lui
a à accomplir.

Fabrice.
-----Message d'origine-----
Si je comprends bien, tu sélectionnes une donnée dans


datacombo et tu
filtres les données du recordset en fonction de la


sélection?
Si c'est bien ça, tu récupères la sélection dans une


variable du même type
(p. ex selection = datacombo1.boundtext ou


selectionÚtacombo1.text selon
la façon don tu utilises datacombo)
Puis rst.Filter="ChampAFiltrer = (ou like en


fonction ...) " & selection si
selection est numérique ou "ChampAFilter='" & selection


& "'" si selection
est du type string. Si selection est du type date tu


utilises #.
Exprime clairement ton problème.

JLK
"fabrizio-r" a


écrit dans le message
de news: 169ef01c41ca2$3f5ff730$
ce que je ne sais pas faire c'est filtrer mes
enregistrements par rapport à une donnée que j'aurai
saisi au préalable dans un Datacombobox.


fabrice
-----Message d'origine-----
Voici un petit bout de code que j'ai essayé pour toi
Dim cnx As New ADODB.Connection
Dim rst As New ADODB.Recordset
Private Sub Form_Load()
cnx.Provider = "microsoft.jet.oledb.4.0"
cnx.CursorLocation = adUseClient
cnx.ConnectionString = "c:ketxketaxis.mdb"
cnx.Open
rst.Filter = "client like 'a*'"
rst.Open "taxis", cnx
Set DataGrid1.DataSource = rst
set cnx = Nothing
set rst = Nothing
End Sub

La table 'Taxis' a un champ 'Client' (au fait le nom du


client) et je filtre
les tuples pour lesquels le nom commence par 'a' (note


la spéficité d'Access
avec * à la place de %).
Bien sûr je ne te conseille de déclarer rst et cnx en un


coup avec 'As New'
C'est la propriété Filter de l'objet Recordset qui


indique les données à
filtrer.

JLK

"fabrizio-r" a


écrit dans le message
de news: 196d301c41c94$47600870$
Bonjour a tous,

Voila j'aimerai savoir comment faire un filtrage de
données enregistrées dans une base ACCESS selon un
critère choisi et d'afficher cela à partir de
Datacombobox et TextBox.

Je vous remercie d'avance

Fabrice.


.





.



1 2