|
|
|
|
|
Utilisez COUNT pour compter le nombre d'enregistrements qui satisfont au critère
spécifié. Si SET TALK est à ON, la commande COUNT affiche aussi le total. Si SET
DELETED est à ON, les enregistrements marqués pour suppression ne sont pas inclus dans
le compteur.
Dans un environnement multi-utilisateur, COUNT verrouille automatiquement la table pendant
son opération si SET LOCK est à ON (valeur par défaut) et la déverrouille après
l'exécution de COUNT. Si SET LOCK est à OFF, vous pouvez toujours réaliser un
comptage ; mais le résultat peut varier si un autre utilisateur a modifié la table.
Vous pouvez aussi compter le nombre total d'enregistrements d'une table au moyen de la
fonction RECCOUNT( ). Cependant, à l'opposé de COUNT, RECCOUNT( ) ne vous
permet pas de spécifier des conditions pour déterminer les enregistrements à compter.
|
L'équivalent OODML sont les méthodes du rowset count() ou rowCount().
Pour que cela fonctionne avec un filtre, vous devez définir en premier le filtre, plutôt
que d'ajouter une sorte de qualificatif à la méthode de comptage.
| form.rowset.count() |
Cela compte toutes les lignes du jeu de lignes. Si vous souhaitez filtrer le jeu de
lignes:
| form.rowset.filter = "un filtre" |
| form.rowset.count() |
| form.rowset.filter = "" |
La différence entre count() et rowCount() est que rowCount() prendra en compte les
enregistrements supprimés - ce qui peut renvoyer des valeurs qui seront source de
confusion ...
Il convient donc de retenir que l'équivalent ooDML est doncform.rowset.count()
Les
problèmes connus : |
En 2002, un utilisateur (1) avait évoqué une différence entre l'utilisation de la commande par l'intermédiaire du menu ou par la fenêtre de commande, la fenêtre de commande donnant un résultat exact, au contraire de la demande faite par l'intermédiaire du menu.
ROWSET.COUNT()
Toujours en 2002, une "curiosité", en ooDML a aussi été solutionnée (2):
J'ai eu une question sur OODML et le rowset,
Sur le formulaire ouvert, Pas de problème, mais, si vous appuyez sur le bouton de
compter,
Je reçois un message d'erreur
this.rowset = this.datamodref1.ref.cut1.rowset
function form_onOpen
this.rowset.first()
msgBox( str( this.rowset.count(), 5, 0 ) )
return
function PUSHBUTTON1_onClick
this.rowset.count() // produit une erreur !!
return
Réponse :
Modifier comme suit:
function PUSHBUTTON1_onClick
// this.rowset.count() // produit une erreur !!
form.datamodref1.ref.cut1.rowset.count()
ou
this.parent.datamodref1.ref.cut1.rowset.count()
return
Sources :
Aide Visual dbase V5.5
http://www.dbase.com/Knowledgebase/INT/xb2vdb7oodml/x2oodml.htm
(1) : |
Groupes de discussion : dbase.bug-reports De : Frank J. Polan <fpo...@pcassist.on.ca> Date : Mon, 02 Dec 2002 16:09:20 -0500 Date/heure locale : Lun 2 déc 2002 23:09 Objet : Table - count rows |
Groupes de discussion : dbase.bug-reports De : Frank J. Polan <fpo...@pcassist.on.ca> Date : Mon, 09 Dec 2002 13:02:40 -0500 Date/heure locale : Lun 9 déc 2002 20:02 Objet : Re: table / count rows |
(2) : |
Question Groupes de discussion : dbase.programming De : "Jack" <z...@mail.abc.com.tw> Date : Mon, 25 Mar 2002 22:39:28 +0800 Date/heure locale : Lun 25 mar 2002 16:39 Objet : Data Module and rowset.Count? |
Réponse Groupes de discussion : dbase.programming De : Robert Cline <RobCl...@Sonic.net> Date : Mon, 25 Mar 2002 09:41:37 -0600 Date/heure locale : Lun 25 mar 2002 17:41 Objet : Re: Data Module and rowset.Count? |
Si vous voyez des erreurs, n'hésitez pas à le signaler.
Dernière modification : samedi 24 juillet 2010
© M.A.