Utilisation de la propriété filter en adodb (ado)

Soyez le premier à donner votre avis sur cette source.

Vue 18 850 fois - Téléchargée 1 946 fois

Description

Ce code montre le fonctinnement de la proriété FILTER de ADODB.RECORDSET.
Il explique aussi comment remplir une grille sans faire de boucle pour lire le recordset.
Thierry RICARD

Source / Exemple :


Option Explicit
'procedure de test sur la propriétée Filter
'AUTEUR : RICARD THIERRY
'DATE   : 04/10/2000
'Email : katyrd@infonie.fr
'http://perso.infonie.fr/katyrd

Dim cnApp As ADODB.Connection
Dim sConnect As String
Dim rs As ADODB.Recordset

Private Sub cmdFiltre_Click()
Dim strFiltre As String
'Champs sur lequel la base sera filtrée
strFiltre = "firstname"  '<--A CHANGER

rs.Filter = strFiltre & "='" & txtFilter & "'"
grd.Clear
If rs.RecordCount > 0 Then
   RempliGrille
Else

End If
lblInformation.Caption = rs.RecordCount & " Enregistrement(s) filtré(s)"
End Sub

Private Sub cmtAfficheTout_Click()
    rs.Filter = adFilterNone
    RempliGrille
End Sub

Private Sub Form_Load()
Set cnApp = New ADODB.Connection
Set rs = New ADODB.Recordset
'Penser à remplacer le ??? par vos valeurs
sConnect = "Provider=SQLOLEDB;User ID=???;Password=???;Initial Catalog=???;Data Source=???"
cnApp.ConnectionString = sConnect
cnApp.Open

If cnApp.State = adStateOpen Then
    Dim strTable As String
    'Table Qui sera interrogée
    strTable = "employee" '<--A CHANGER
    rs.Open strTable, cnApp, adOpenKeyset, adCmdTable
    RempliGrille
End If
End Sub

Sub RempliGrille()
    grd.Rows = rs.RecordCount + 1
    grd.Cols = rs.Fields.Count - 1
    grd.Row = 1
    grd.RowSel = grd.Rows - 1
    grd.ColSel = grd.Cols - 1
    grd.Clip = rs.GetString(adClipString, rs.RecordCount)
    grd.RowSel = 1
    grd.ColSel = 0
    lblInformation.Caption = rs.RecordCount & " Enregistrement(s)"
End Sub

Conclusion :


Téléchargez le fichier zip. les controles sont sur le form. il suffit de changer les parametres de connexion, le nom de la table et le champ sur lequel il faut filtrer.

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

je souhaite recevoir des exemples sur ADO
moi aussi je souhaite reçevoir des exemple sur ADO? avec la façon d(impression du contenu d'un DATAGRID
cs_haoufkir
Messages postés
1
Date d'inscription
samedi 14 juillet 2007
Statut
Membre
Dernière intervention
30 novembre 2007
-
merçi pour le code;
mais j'ai un problème,je veus afficher dans un datagrid les données selon le critére que j'écris dans un textbox, j'ai copier votre code mais je sais pas pourquoi il me donne un problème dans la procédure rempligrille,méme si quand j'ajoute un enregistrement le "g.Rows = rs.RecordCount + 1"il s'incrémente et me donne le nembre d'enregistrement que j'ai dans ma table
nofear0
Messages postés
5
Date d'inscription
mercredi 13 août 2003
Statut
Membre
Dernière intervention
22 octobre 2008
-
merci pour le bout de code katyrd ;)

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.