VB6 : Propriété "Filter"

VB6 : Propriété "Filter" - VB/VBA/VBS - Programmation

Marsh Posté le 21-03-2007 à 09:33:24    

Salut tous le monde, quelqu un pourrait il m expliquer comment fonctionne la propriété "Filter" avec plusieurs paramètres.
Quand il y en a qu un seul la ca fonctionne :
    Param_Etats.Et_Adodc.Recordset.Filter = "Date >='" & Txt_DateDeb & "'"
Mais quand il y en a plusieurs il se plante :
    Param_Etats.Et_Adodc.Recordset.Filter = ("Date >='" & Txt_DateDeb & "'" ) And ("Date <='" & Txt_DateFin & "'" )


Message édité par rayno le 21-03-2007 à 10:28:25
Reply

Marsh Posté le 21-03-2007 à 09:33:24   

Reply

Marsh Posté le 21-03-2007 à 09:40:17    

Si tu ne nous dis pas comment est typé Param_Etats, on risque de partir sur des fausses pistes.
Car vu qu'en VB6 je ne connais aucune propriété « Filter », je suppose qu'il s'agit d'un composant externe.

 

Toujours est-il que vu comment tu places tes guillemets dans ton deuxième exemple, je comprends que ça ne puisse pas fonctionner.
Mais est-ce bien ton code réel ou une erreur de retranscription ?

... .Filter = ("Date ...

Dernière remarque : un jour je vais m'énerver quand quelqu'un se contentera de dire que « ça plante » sans donner de message d'erreur, ni aucun autre symptôme. Un jour...

Message cité 1 fois
Message édité par tegu le 21-03-2007 à 09:42:15
Reply

Marsh Posté le 21-03-2007 à 10:08:53    

tegu a écrit :

Si tu ne nous dis pas comment est typé Param_Etats, on risque de partir sur des fausses pistes.
Car vu qu'en VB6 je ne connais aucune propriété « Filter », je suppose qu'il s'agit d'un composant externe.
 
Toujours est-il que vu comment tu places tes guillemets dans ton deuxième exemple, je comprends que ça ne puisse pas fonctionner.
Mais est-ce bien ton code réel ou une erreur de retranscription ?

... .Filter = ("Date ...

Dernière remarque : un jour je vais m'énerver quand quelqu'un se contentera de dire que « ça plante » sans donner de message d'erreur, ni aucun autre symptôme. Un jour...


 
Param_Etats est le nom de mon formulaire sur lequel se trouve mon adodc :
 
MonFormulaire.MonAdodc.MonRecordset
 
La propriété "Filter" sur un recordset existe bien en vb6. Mes guillements sont placés de la même façon dans le premier et le deuxième exemple et, si l'on suit le premier exemple,  ils sont placés de façon à obtenir le résultat suivant :
 
Si l'on considère que Txt_DateDeb (Valeur d'un DTPicker) vaut 01/01/2000 par exemple la valeur de mon filtre sera : Param_Etats.Et_Adodc.Recordset.Filter="01/01/2000".
 
Si je place mes guillemets d'une façon plus conventionnelle, du genre :
Param_Etats.Et_Adodc.Recordset.Filter = "Date >=' " & Txt_DateDeb & " '" ,le résultat sera : Param_Etats.Et_Adodc.Recordset.Filter=" 01/01/2000 " et ma chaîne est faussée.
 
Toujours est-il que le premier exemple fonctionne et pas le deuxième,  il me dit qu il n y a pas de valeur pour l un ou plusieurs paramètres de mon Et_Adodc.
 
Edit : Je demande un peu d'aide et non pas l'aumône, alors si c est pour avoir des réponses du genre "je vais m'ennerver ! " je prefere ne pas en avoir, alors merci mais je vais me debrouiller!!!


Message édité par rayno le 21-03-2007 à 10:13:55
Reply

Marsh Posté le 21-03-2007 à 13:38:05    

Demander de l'aide ne sert à rien si tu ne donnes pas les bonnes infos.
 
Non, la propriété « Filter » n'existe pas en VB6 (mais la fonction oui et elle est différente de ton utilisation).  
Ta propriété est liée à ton composant ADODC. Pas à VB6.
 
S'il suffisait de dire que la propriété appartenant à n'importe quel composant ocx appartient au langage VB6 alors la propriété « trucmuche » serait aussi du VB6 puisque je possède un composant ocx (même pas programmé en VB6) qui a cette propriété. Clair ?
Mais m'en fous, c'est juste pour info.
 
Par contre je pensais t'avoir bien indiqué par ma remarque où je voyais l'erreur, mais je peux être plus précis.
Dans ton premier message tu cites en deuxième exemple :

Param_Etats.Et_Adodc.Recordset.Filter = ("Date >='" & Txt_DateDeb & "'" ) And ("Date <='" & Txt_DateFin & "'" )

J'aimerais quand même que tu constates dans cette syntaxe que, au mieux, tu affectes un booléen à ta propriété .Filter et pas une chaîne de caractères.
 
Oui, je déteste donner les solutions toutes faites.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed