Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1026 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Filtrage d'un recordset

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Filtrage d'un recordset

n°1560908
Z_cool
HFR profile rating:⭐⭐⭐⭐
Posté le 16-05-2007 à 08:35:53  profilanswer
 

Salut.

 

J ai recuperer le script d'un collegue que je dois adapter pour une nouvelle utilisation, Mon problème, c est que je dois filtrer ce que le programme a stoqué precedement dans un recordset, c'est du genre :

 
Code :
  1. Sub CreateRecSet()
  2.     Set ISAAccounts = CreateObject("ADODB.Recordset" )
  3.     With ISAAccounts
  4.         .Fields.Append "Domain", adVarChar, "255"
  5.         .Fields.Append "Account", adVarChar, "255"
  6.         .Fields.Append "MemberOf", adVarChar, "255"
  7.         .Fields.Append "Description", adVarChar, "255"
  8.         .Fields.Append "Name", adVarChar, "150"
  9.         '.Fields.Append "Class", adVarChar, "20"
  10.         .Fields.Append "Mail", adVarChar, "150"
  11.         .Fields.Append "Group", adVarChar, "150"
  12.         'All other fields
  13.         On Error Resume Next
  14.         Dim TmpArray, TmpCount ' as Integer
  15.         TmpArray = Split(AccountAttributes, ";" )
  16.         For TmpCount = LBound(TmpArray) To UBound(TmpArray)
  17.             .Fields.Append TmpArray(TmpCount), adVariant
  18.             If DebugMode = TRUE Then Call Message("Additional Attribute: '" & TmpArray(TmpCount) & "'" )
  19.         Next
  20.         .Open
  21.     End With
  22. End Sub 'CreateRecSet()


ensuite, il y a pas mal de Add.

 

et moi, je voudrais par exemple recuperer touts ceux qui ont, par exemple *700* dans "description"

 

J ai bien eu l'idée d'appliquer une requête SQL sur mon recordset,... mais je bute sur : "SELECT * from ???? where Description LIKE %700%"

 

Je met quoi a la place des "???"

 


Merci


Message édité par Z_cool le 16-05-2007 à 08:36:47

---------------
#mais-chut
mood
Publicité
Posté le 16-05-2007 à 08:35:53  profilanswer
 

n°1560931
madmartiga​n
Desperate Houseman
Posté le 16-05-2007 à 09:47:23  profilanswer
 

A priori à la place des ??? tu dois mettre le nom de la table où se trouvent les infos
 
Il me semble  :ange:

n°1560935
jpcheck
Pioupiou
Posté le 16-05-2007 à 09:52:34  profilanswer
 

c'est pour ca que perso je prefere balancer une request sql et faire un db.execute...
dans ton cas, essaie de mettre "& ISAAccounts.Name & " à la place des ???

n°1560983
Z_cool
HFR profile rating:⭐⭐⭐⭐
Posté le 16-05-2007 à 10:35:05  profilanswer
 

Le probleme c est qu en fait, ca provient pas d une base de données.

 

Mais je viens de decouvrir :
http://www.devguru.com/technologie [...] ilter.html
ISAAccounts.Filter " Description ='toto' " marche bien

 

Mais quand j essaye avec un LIKE ... ca marche pas ... je continue les recherches

 


Message cité 1 fois
Message édité par Z_cool le 16-05-2007 à 10:35:48
n°1560991
Z_cool
HFR profile rating:⭐⭐⭐⭐
Posté le 16-05-2007 à 10:41:32  profilanswer
 

Z_cool a écrit :

Le probleme c est qu en fait, ca provient pas d une base de données.

 

Mais je viens de decouvrir :
http://www.devguru.com/technologie [...] ilter.html
ISAAccounts.Filter " Description ='toto' " marche bien

 

Mais quand j essaye avec un LIKE ... ca marche pas ... je continue les recherches


Ok, je suis trop con, Si ca marche bien avec le Like,...

n°1561085
Z_cool
HFR profile rating:⭐⭐⭐⭐
Posté le 16-05-2007 à 12:27:18  profilanswer
 

Bon, ba il y a quand meme des choses que j arrive pas a faire, notement :

 
Code :
  1. Set WiskiFile = fso.CreateTextFile(".\Wiski.txt", True)
  2. Set objRS = objConn.Execute("select COUNT(*) AS NBR,Description  from "& UsersFileDestination & " GROUP BY Description")
  3. YearsMonth = "00" + Year(Date) & Month(Date)
  4. If Len (Month(Date) <2) Then
  5.     YearsMonth =  Year(Date) & "0" & Month(Date)
  6. Else
  7.     YearsMonth =  Year(Date) &  Month(Date)
  8. End If
  9. ComptR =0
  10. NbrUser = 0
  11. With objRS
  12.      While Not (.EOF Or .BOF)
  13.          If Len(.Fields("Description" )) = 6 Then
  14.              ComptR=ComptR+1
  15.              NbrUser = NbrUser + .Fields("NBR" ).Value
  16.             WiskiFile.WriteLine YearsMonth & ";A821;420142;" & .Fields("Description" ).Value & ";132118;" & .Fields("NBR" ).Value & ",00000;"
  17.         Else
  18.            
  19.         End if
  20.         .MoveNext
  21.      Wend
  22.      .Close
  23. End With
  24. wscript.echo ComptR &" differents Cost Centers have been identified on "& NbrUser&" Users."
 


donc si vous avez des idee ....

 

n°1561123
jpcheck
Pioupiou
Posté le 16-05-2007 à 13:42:31  profilanswer
 

tu peux expliciter ton pb ? que n'arrives-tu pas à fire ? ton code plante ? quelle erreur ca te donne ?

n°1561166
Z_cool
HFR profile rating:⭐⭐⭐⭐
Posté le 16-05-2007 à 14:28:00  profilanswer
 

C est ce que j etais en train de me dire ... vaut mieux que j explique ce dont j ai besoin, ... parce que le code comme ca,brut, c est un peut indigeste.

  

en fait, la, maintenant j ai un recordset
ISAAccounts  qui est du genre


Domain - Account - MemberOf - Description - Name
FR       toto2     Groupe1    7254          Toto tartampion
FR       milou     Groupe2    1235          Milou Chien
FR       Emile     Groupe8    7254          Emile le tueur
GR       Plutot    Groupe8    1235          Plutot le Chien
FR       Bill      Groupe3    7254          Bill Kill
IL       Stin      Groupe2    6599          Stin Stun


Et j ai besoin, qu il me dise :
7254 il y a 3 personnes
1235 il y a 2 personnes
6599 1 personne

n°1561257
Z_cool
HFR profile rating:⭐⭐⭐⭐
Posté le 16-05-2007 à 15:42:26  profilanswer
 

c est en gros, ce que me faisait :
 
"select COUNT(*) AS NBR,Description  from "... " GROUP BY Description"

n°1561267
Z_cool
HFR profile rating:⭐⭐⭐⭐
Posté le 16-05-2007 à 15:56:15  profilanswer
 

a defaut, si j arrive a trouver comment me retourner la liste des "description", apres, je peux placer des filtre et compter le nombre que j'en ai dans chaque

mood
Publicité
Posté le 16-05-2007 à 15:56:15  profilanswer
 

n°1561272
jpcheck
Pioupiou
Posté le 16-05-2007 à 16:00:17  profilanswer
 


 
"select COUNT(DISTINCT blabla) AS NBR,Description  from "... " GROUP BY Description"
un truc dans le style ?

n°1561276
Z_cool
HFR profile rating:⭐⭐⭐⭐
Posté le 16-05-2007 à 16:04:30  profilanswer
 

jpcheck a écrit :

"select COUNT(DISTINCT blabla) AS NBR,Description  from "... " GROUP BY Description"
un truc dans le style ?

 


 

certe, mais dans a mesure ou c est un recordset simple que j ai et qu il n est rattaché a aucun Database engine, je peux pas utiliser de SQL ....


Message édité par Z_cool le 16-05-2007 à 16:08:50
n°1561876
Z_cool
HFR profile rating:⭐⭐⭐⭐
Posté le 18-05-2007 à 08:59:54  profilanswer
 

Z_cool a écrit :

a defaut, si j arrive a trouver comment me retourner la liste des "description", apres, je peux placer des filtre et compter le nombre que j'en ai dans chaque

Non ? pas de solution deja prevu a cet effet avec un record set ?

 

a part le faire soit meme ?

 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Filtrage d'un recordset

 

Sujets relatifs
[ASP] probleme recordset ingorés[ASP-ACCESS] Faire une comparaison entre 2 recordset
formulaire php pour filtrage sqlInsertion d'un recordset entier dans une table
[SQL] Filtrage spécial quel moyen utilisé ?[Résolu] Erreur dans l'ouverture d'un recordset
filtrage de n-uplet à partir d'un minimum[VBA][Access] Faire une requête jointure sur un recordset et une table
[Résolu[VBA][Access] Remplissage d'1 liste déroulante avec 1 Recordsetaide sure les recordset dans ACCESS
Plus de sujets relatifs à : Filtrage d'un recordset


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR