|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Candidat au titre de Membre du Club
![]() Gabriel Freitas Inscription : décembre 2010 Messages : 30 ![]() |
Bonjour.
C'est encore moi Mon problème concerne l'emprunt d'objet. Lorsqu'un utilisateur souhaite emprunter un objet, j'applique un filtre sur ma table des emprunts (historique des objets empruntés, en cours d'emprunts, ou réservés). En temps normal, le filtre doit s'appliques sur les dates de retour des objets qui sont future à "l'instant présent". Cependant, pour tester je me limite à compter simplement le nombre de fois que l'objet apparaît dans la table sans tenir compte de quoi que ce soit d'autre. Malgré l'aplication d'un filtre, lorsque j'utilise la propriété RecordCount de mon RecordSet, il me retourne le nombre total d'enregistrements dans mon RecordSet et non le nombre d'éléments filtrés (ce qui n'est naturellement pas ce que je souhaite). Voici le code que j'utilise Code :
J'ai essayé sans le Rst.MoveLast, j'ai également tenté avec un Rst.Update Mais rien n'y fait. Connaitriez vous le moyen de ne compter que les enregistrement correspondant au filtre ? |
||
|
|
00
|
|
|
#2 |
|
Membre régulier
![]() Michaël Développeur .NET Inscription : avril 2008 Messages : 80 ![]() |
Bonjour,
tu peux peut être utiliser ceci: Code :
Set Rst = Db.OpenRecordset("SELECT Count(fkObjet) As NbrObj FROM tblEmprunt WHERE fkObjet LIKE '" & iNumObjet & "') GROUP BY fkObjet;") |
|
|
00
|
|
|
#3 | ||
|
Membre Expert
![]() |
bonjour
Et si on remplaçait le LIKE comme ceci: Code :
@+ |
||
|
|
00
|
|
|
#4 |
|
Candidat au titre de Membre du Club
![]() Gabriel Freitas Inscription : décembre 2010 Messages : 30 ![]() |
J'ai essayé vos propositions et vous remercie de votre aide. J'ai même essayé de mixer vos propositions (avec le signe = donc) mais rien ne change.
Le symptote de la méthode de mkl238 est que la variable NbrObj qui est crée dans le "OpenRecordset" reste vide. Le signe = proposé par keita ne change rien, excepté qu'il lève une erreur s'il est mis dans la propostion de mkl238. @Keita, iNumObj (i pour Integer) est une variable sûre, testée et retestée Merci de votre aide [EDIT] En rapellant que j'utilisais un entier, j'ai réalisé que j'utilsais des apostrophes pour tester une valeur numérique. Malgré la supression de celle ci, le filtre ne fonctionne pas mieux qu'au préalable (a nouveau testé en y appliquant vos propositions) Ligne de code modifiée |
|
|
00
|
|
|
#5 | ||
|
Membre Expert
![]() |
bonjour
ton code: Code :
Set Rst = Db.OpenRecordset("tblEmprunt", dbOpenDynaset) si c'est le nom d'une table alors essaie comme ceci: Code :
|
||
|
|
10
|
|
|
#6 |
|
Candidat au titre de Membre du Club
![]() Gabriel Freitas Inscription : décembre 2010 Messages : 30 ![]() |
tblEmprunt est une table qui permet affiche la totalité des emprunts fait par les utilisateurs, qu'il soient passés, en cours d'emprunt, ou réservé dans une date future.
Je pratique donc ces tests afin de pouvoir mettre en place le code qui me permettra d'éviter le chevauchement d'emprunts pour un même objet. Voici la description de la table et un exemple de contenu (beaucoup de clés étrangère mais la description devrait être compréhensible) Les périodes sont des périodes d'heures de cours Les classes sont des salles de classe Le Oui/Non rendu indique si l'utilisateur à rendu ou non l'objet |
|
|
00
|
|
|
#7 | ||
|
Membre régulier
![]() Michaël Développeur .NET Inscription : avril 2008 Messages : 80 ![]() |
et ma solution en tenant compte que iNumObjet est un nombre ne fonctionne pas?
Code :
|
||
|
|
00
|
|
|
#8 |
|
Membre Expert
![]() |
J'ai réédité mon message; tu peux revenir la dessus?
@+ |
|
|
00
|
|
|
#9 | ||
|
Candidat au titre de Membre du Club
![]() Gabriel Freitas Inscription : décembre 2010 Messages : 30 ![]() |
@mkl238 : Oui, mais la variable ne valait pas 0, elle était vide (null). et c'est toujours le cas.
@Keita. Merci pour ton bout de code, il ne fonctionne pas avec "tblEmprunt.*" mais très bien avec "* FROM tblEmprunt". Mais aurais-tu des explications sur le pourquoi du comment stp ? Et dans ta boucle if, si Rst vaut 0, cela signifie qu'il n'y a pas d'enregistrements. Est-ce correct ? En tout cas je vous remercie de m'avoir aidé code adopté Code :
|
||
|
|
00
|
|
|
#10 | ||
|
Membre Expert
![]() |
hello
Citation:
Citation:
Et maintenant à toi la FAQ! http://vb.developpez.com/faqvba/ @+ |
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com