|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 | ||
|
Membre régulier
![]() |
Bonjour,
je dois effectuer des opérations sur une table, et filtrer des résultats en boucle. Si j'ai peu de résultats ça fonctionne, mais si j'en ai trop j'ai l'erreur "cannot open any more tables or queries". Je n'arrive pas à trouver une solution... Je cois que le soucis vient du OpenRecordset, mais je n'ai pas trouvé un autre moyen pour appliquer le filtre a ma requête... Pourtant je ferme bien les requêtes et je les vides.... Voilà mon code: Code :
|
||
|
|
00
|
|
|
#2 |
|
Membre confirmé
![]() Romain M.Étudiant Inscription : avril 2009 Messages : 167 ![]() |
Bonjour,
Est ce que la variable db est correctement déclarée ??? Faudrait peut être rajouter cette ligne de code : Cdt RM |
|
|
10
|
|
|
#3 |
|
Membre régulier
![]() |
Merci pour ta réponse. Oui, cette variable est correctement déclarée. Autrement j'aurais déjà une erreur avant j'exécution. Je pense que ça vient du fait d'ouvrir plusieurs fois le rs... mais je ne comprend pas car il me semble que je le ferme correctement..
|
|
|
00
|
|
|
#5 |
|
Membre régulier
![]() |
Bonjour,
Merci pour ton aide. La fonction RecordsetClone est pour les formulaires. Je ne peux pas l'appliquer à un Recordset. J'ai quand même essayé, mais j'ai une erreur de compilation, la fonction est introuvable, pour le recordset... une autre idée? |
|
|
00
|
|
|
#6 | |
|
Expert Confirmé
![]() Chercheur de bonheur Inscription : août 2007 Messages : 2 255 ![]() |
Bonjour,
Citation:
__________________
(\ _ /) Cordialement G@dz (='.'=) (")-(") Vous avez des neurones. Sollicitez-les. ![]() . Si vous êtes aidé, pensez à Voter.
|
|
|
|
10
|
|
|
#7 |
|
Membre régulier
![]() |
Bonjour,
J'ai le doute que sur un recordset il y a une limite de filtres. Est-ce quelqu'un peut confirmer? Donc, je pense que avec le .Clone on copie le recordset comme ça comme il est, donc avec les filtres, et pas uniquement les données. Comme je n'ai pas trouvé une solution pour copier uniquement les données dans un autre recordset, j'ai finalement cherché une solution alternative. ça ne me plait pas beaucoup. Donc, si quelqu'un trouve une solution, merci de continuer le post! J'ai ajouté un champs boolean à ma table, et au lieu de filtrer sur l'id je filtre sur ce champ. Je set ce champ à true, et je fais un "rs.Requery".. |
|
|
00
|
|
|
#8 |
|
Membre Expert
![]() Michel Ingénieur développement logiciels Inscription : mai 2005 Messages : 1 584 ![]() |
Bonjour,
Je ne comprend pas tout au traitement présenté plus haut mais je pense qu'il n'est pas très propet : Faire une boucle sur un RS avec une condition sur RS : OK Mais à l'intérieur de la boucle, faire un RS = nothing et tant qu'on y est, une réaffectation de RS : il y a mieux à faire ! (en fonction du but recherché bien sûr)
__________________
"tout le monde veut sauver la planète, mais personne ne veut descendre les poubelles." J Yanne |
|
|
10
|
|
|
#9 | ||||
|
Membre régulier
![]() |
En fait, j'ai une table contenant une liste d'appareil. Certains appareils peuvent être liés à un autre appareil (son accessoire).
MaTable(RepID, descApp, AccRepID) Où AccRepID correspond à un RepID. je dois sortir chaque appareil avec son accessoire. Donc, quand je tombe sur un appareil qui a un accessoire, je fais un find pour l'accessoire, j'exécute mon code et je filtre mon appareil et son accessoire, de façon à ne plus les retrouver dans la suite... Je ne sais pas si c'est claire...? Ce que je veux faire c'est à partir d'une table comme celle-ci: Code :
Code :
Pour faire un filtre, je dois faire un OpenRecordset, au départ je n'avais pas mis le Nothing...mais j'ai essayé et ça ne change rien. |
||||
|
|
00
|
|
|
#10 | ||
|
Expert Confirmé
![]() Chercheur de bonheur Inscription : août 2007 Messages : 2 255 ![]() |
Citation:
Que signifie pour toi Citation:
Tu ne parles pas du lien entre les appareils et les accessoires. !! Un accessoire ne convient qu'à un appareil ? Ils sont dans la même table ? Comment sont-ils liés ? Pourquoi ne pas retrouver tes accessoires avec une simple requete (autre requete) sur les accessoires avec comme critère de sélection = Appareil en trt ?
__________________
(\ _ /) Cordialement G@dz (='.'=) (")-(") Vous avez des neurones. Sollicitez-les. ![]() . Si vous êtes aidé, pensez à Voter.
|
||
|
|
10
|
|
|
#11 | ||
![]() ![]() ![]() |
Bonjour,
Si tu t'es bien exprimé, je propose : Code :
En moins de 5 lignes c'est fait Tout simplement... Argy
__________________
Ils comptent sur vous... Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment. Web Site ‡ @Mail Livres : VBA pour OFFICE 2007 et MICROSOFT ACCESS 2007 Nouveau Tutoriel : Déployer vos applications avec Microsoft Access 2010 MDB Viewer : Visionneuse Access v4.0 |
||
|
|
10
|
|
|
#12 | ||
|
Membre régulier
![]() |
oui, Certains appareils peuvent être liés à un autre appareil (son accessoire).
Un appareil peut avoir 0;1 accessoire. Oui, ils sont dans la même table. MaTable(RepID, descApp, AccRepID) Où AccRepID correspond à un RepID. Ce que argyronet m'a donné est correcte, mais je n'ai pas les résultats dans le bon ordre. Mon but est d'avoir un appareil et son accessoire dans la ligne suivante. Code :
Mais, c'est une bonne idée. Trouver d'abord tous les appareils qui n'ont pas d'accessoire, ensuite chaque appareil qui a un accessoire et chercher son accessoire et qu' à la fin, chercher s'il y a des accessoires sans appareil... Je ferais ça avec 3 requêtes, ça va aussi. |
||
|
|
00
|
|
|
#13 |
|
Membre régulier
![]() |
Ah no! Je n'ai rien dit!
La requête de argyronet est parfaite! Merci!!! Merci à tout le monde pour l'aide et la patience |
|
|
00
|
|
|
#14 |
|
Membre régulier
![]() |
Après plusieurs tests, j'ai pu constater que cette requête ne fonctionne pas dans tous les cas...ça dépend de la longueur de la Description...et cette longueur n'est pas constante...
une autre idée? |
|
|
00
|
|
|
#15 |
![]() ![]() ![]() |
Ma proposition restait une idée pour te monter qu'il est parfois très simple de réaliser quelque chose où tu t'embarques sans t'en sortir...
Elle n'était en aucun cas une solution... Et en fait, il est difficile de déterminer le tri dans le sens où l'on ne peut déduire que tel appareil arrive ne tête sous prétexte que son accessoire principal est le : "ndeglutopzutik à tête azimutée magnétique inversée" et que l'autre a simplement un : "truchmonch carré" voire : "aucun"... Donc, ce que je vois, c'est d'envisager plutôt un COUNT() du nombre d'accessoires par appareil associé effectivement au LEN de l'ensemble de la chaîne. L'ordre de tri serait alors établi par nombre d'accessoires par appareil avec le nombre représenté par la chaîne la plus grande en tête. Toutefois, je ne vois pas trop l'objectif de ta demande... Il faudrait que tu nous en dise un peu plus. Argy
__________________
Ils comptent sur vous... Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment. Web Site ‡ @Mail Livres : VBA pour OFFICE 2007 et MICROSOFT ACCESS 2007 Nouveau Tutoriel : Déployer vos applications avec Microsoft Access 2010 MDB Viewer : Visionneuse Access v4.0 |
|
|
10
|
|
|
#16 |
|
Membre régulier
![]() |
C'est vraie que des fois on tourne autour avec des solution compliquées, quand ce serais tout simple...
Je vais regarder s'il y a une solution avec le count. En fait, je dois mettre le résultat de la requête dans un fichier excel, et dans ce fichier je dois avoir l'appareil et juste après son accessoire. Merci encore
|
|
|
00
|
|
|
#17 | |
![]() ![]() ![]() |
Citation:
En fait, je dois mettre le résultat de la requête dans un fichier excel, et dans ce fichier je dois avoir l'appareil et juste après ses accessoires. Non ? Argy
__________________
Ils comptent sur vous... Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment. Web Site ‡ @Mail Livres : VBA pour OFFICE 2007 et MICROSOFT ACCESS 2007 Nouveau Tutoriel : Déployer vos applications avec Microsoft Access 2010 MDB Viewer : Visionneuse Access v4.0 |
|
|
|
10
|
|
|
#18 |
|
Membre régulier
![]() |
Oui, dans un future il pourrait y avoir plusieurs accessoires pour un appareil (mais toujours un appareil pour un accessoire).
Mais pour le moment chaque appareil peut avoir 0 ou 1 accessoire. Un accessoire peut avoir 0 ou 1 appareil. Je pensais partir du simple, vu que je le trouve déjà compliqué...mais si t'a une solution "à long terme" c'est encore mieux |
|
|
00
|
|
|
#19 | |
|
Expert Confirmé
![]() Chercheur de bonheur Inscription : août 2007 Messages : 2 255 ![]() |
... ou encore
Citation:
Mais c'est juste une suggestion.
__________________
(\ _ /) Cordialement G@dz (='.'=) (")-(") Vous avez des neurones. Sollicitez-les. ![]() . Si vous êtes aidé, pensez à Voter.
|
|
|
|
10
|
|
|
#20 | |
|
Membre régulier
![]() |
Ce n'est pas dans la colonne suivante, mais dans la ligne suivante...
je ne comprend pas Citation:
|
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com