OVH Cloud OVH Cloud

Aide : Compter les enregistrements

4 réponses
Avatar
jean.paulo
Je n'arrive pas a faire le compte des enregistrements.

Soit deux tables

A => Clé primaire, numéro automatique(Film_index) + infos

Table_Filmo. Valeurs multiples de la clé de A, et des pointeurs.

Par exemple a:
100 xxx
101 yyy

et Table filmo:
100 un
100 deux
100 trois
101 ...

Un formulaire complexe affiche les données de A. Je voudrais y ajouter un
contrôle
rapide qui donne le NOMBRE d'enregistrement liés dans Table filmo.
(par exemple ici 3 pour l'enregistrement 100)

Je sais le faire avec du VB, mais c'est lourd et long (table de 150 000
records),
et je ne sais pas a quel événement attacher le code pour que le contrôle
soit ajusté
a chaque enregistrement de A

La requête ci-dessous donne aussi le bon résultat, mais fournit un tableau,
que
je n'arrive pas a afficher comme une valeur dans le contrôle :

SELECT Count(Table_filmo.Filmo_film) AS Expr1
FROM Table_filmo
WHERE (((Table_filmo.Filmo_film)=[Film_index]));

J'obtiens toujours un #nom? dans le formulaire!
J'ai essayé:
La requête complète après un = dans la source de données.
Le nom de la requête
[requête]![Expr1]

Quelqu'un a t-il une idée ?


--
Jean.paulo.bidon@free.fr
Remove "bidon" to answer by mail

4 réponses

Avatar
Rey
As tu pensé à utiliser DCOUNT sous VBA ?
Essai....


"jean.paulo" a écrit dans le message de
news:
Je n'arrive pas a faire le compte des enregistrements.

Soit deux tables

A => Clé primaire, numéro automatique(Film_index) + infos

Table_Filmo. Valeurs multiples de la clé de A, et des pointeurs.

Par exemple a:
100 xxx
101 yyy

et Table filmo:
100 un
100 deux
100 trois
101 ...

Un formulaire complexe affiche les données de A. Je voudrais y ajouter un
contrôle
rapide qui donne le NOMBRE d'enregistrement liés dans Table filmo.
(par exemple ici 3 pour l'enregistrement 100)

Je sais le faire avec du VB, mais c'est lourd et long (table de 150 000
records),
et je ne sais pas a quel événement attacher le code pour que le contrôle
soit ajusté
a chaque enregistrement de A

La requête ci-dessous donne aussi le bon résultat, mais fournit un
tableau,

que
je n'arrive pas a afficher comme une valeur dans le contrôle :

SELECT Count(Table_filmo.Filmo_film) AS Expr1
FROM Table_filmo
WHERE (((Table_filmo.Filmo_film)=[Film_index]));

J'obtiens toujours un #nom? dans le formulaire!
J'ai essayé:
La requête complète après un = dans la source de données.
Le nom de la requête
[requête]![Expr1]

Quelqu'un a t-il une idée ?


--

Remove "bidon" to answer by mail



Avatar
jean.paulo
Non, je ne connais pas cette fonction. Pourrais-tu donner un exemple, svp ?
(le Help est très obscur!)

Le calcul par VB (findnext) marche, mais prend 1 seconde.

Merci.

--

Remove "bidon" to answer by mail
"Rey" a écrit dans le message de
news:bl1etv$fb1$
As tu pensé à utiliser DCOUNT sous VBA ?
Essai....


"jean.paulo" a écrit dans le message de
news:
Je n'arrive pas a faire le compte des enregistrements.

Soit deux tables

A => Clé primaire, numéro automatique(Film_index) + infos

Table_Filmo. Valeurs multiples de la clé de A, et des pointeurs.

Par exemple a:
100 xxx
101 yyy

et Table filmo:
100 un
100 deux
100 trois
101 ...

Un formulaire complexe affiche les données de A. Je voudrais y ajouter
un


contrôle
rapide qui donne le NOMBRE d'enregistrement liés dans Table filmo.
(par exemple ici 3 pour l'enregistrement 100)

Je sais le faire avec du VB, mais c'est lourd et long (table de 150 000
records),
et je ne sais pas a quel événement attacher le code pour que le contrôle
soit ajusté
a chaque enregistrement de A

La requête ci-dessous donne aussi le bon résultat, mais fournit un
tableau,

que
je n'arrive pas a afficher comme une valeur dans le contrôle :

SELECT Count(Table_filmo.Filmo_film) AS Expr1
FROM Table_filmo
WHERE (((Table_filmo.Filmo_film)=[Film_index]));

J'obtiens toujours un #nom? dans le formulaire!
J'ai essayé:
La requête complète après un = dans la source de données.
Le nom de la requête
[requête]![Expr1]

Quelqu'un a t-il une idée ?


--

Remove "bidon" to answer by mail







Avatar
Raymond
Bonjour.

tu dois pouvoir utiliser recordcount:

X = Me.Sous_Formulaire.Form.RecordsetClone.RecordCount

Sous_Formulaire étant le contrôle qui contient ton sous-formulaire.
--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.


"jean.paulo" a écrit dans le message de
news:
Je n'arrive pas a faire le compte des enregistrements.

Soit deux tables

A => Clé primaire, numéro automatique(Film_index) + infos

Table_Filmo. Valeurs multiples de la clé de A, et des pointeurs.

Par exemple a:
100 xxx
101 yyy

et Table filmo:
100 un
100 deux
100 trois
101 ...

Un formulaire complexe affiche les données de A. Je voudrais y ajouter un
contrôle
rapide qui donne le NOMBRE d'enregistrement liés dans Table filmo.
(par exemple ici 3 pour l'enregistrement 100)

Je sais le faire avec du VB, mais c'est lourd et long (table de 150 000
records),
et je ne sais pas a quel événement attacher le code pour que le contrôle
soit ajusté
a chaque enregistrement de A

La requête ci-dessous donne aussi le bon résultat, mais fournit un
tableau,

que
je n'arrive pas a afficher comme une valeur dans le contrôle :

SELECT Count(Table_filmo.Filmo_film) AS Expr1
FROM Table_filmo
WHERE (((Table_filmo.Filmo_film)=[Film_index]));

J'obtiens toujours un #nom? dans le formulaire!
J'ai essayé:
La requête complète après un = dans la source de données.
Le nom de la requête
[requête]![Expr1]

Quelqu'un a t-il une idée ?


--

Remove "bidon" to answer by mail



Avatar
jean.paulo
Je vais essayer, mais pour Dcount aussi, le problème c'est que je n'ai pas
de sous formulaire pour cette table. Il y en a déjà deux autres assez lourds
sur d'autre tables. (S'il y avait un sous-formulaire, le total serait déjà
affiché, d'ailleurs)

Comme le module VB semble fonctionner assez rapidement, je pense que
je vais rester sur cette solution.

Merci pour vos suggestions.
--
Jean.paulo.

"Raymond" a écrit dans le message de
news:%
Bonjour.

tu dois pouvoir utiliser recordcount:

X = Me.Sous_Formulaire.Form.RecordsetClone.RecordCount

Sous_Formulaire étant le contrôle qui contient ton sous-formulaire.
--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.


"jean.paulo" a écrit dans le message de
news:
Je n'arrive pas a faire le compte des enregistrements.

Soit deux tables

A => Clé primaire, numéro automatique(Film_index) + infos

Table_Filmo. Valeurs multiples de la clé de A, et des pointeurs.

Par exemple a:
100 xxx
101 yyy

et Table filmo:
100 un
100 deux
100 trois
101 ...

Un formulaire complexe affiche les données de A. Je voudrais y ajouter
un


contrôle
rapide qui donne le NOMBRE d'enregistrement liés dans Table filmo.
(par exemple ici 3 pour l'enregistrement 100)

Je sais le faire avec du VB, mais c'est lourd et long (table de 150 000
records),
et je ne sais pas a quel événement attacher le code pour que le contrôle
soit ajusté
a chaque enregistrement de A

La requête ci-dessous donne aussi le bon résultat, mais fournit un
tableau,

que
je n'arrive pas a afficher comme une valeur dans le contrôle :

SELECT Count(Table_filmo.Filmo_film) AS Expr1
FROM Table_filmo
WHERE (((Table_filmo.Filmo_film)=[Film_index]));

J'obtiens toujours un #nom? dans le formulaire!
J'ai essayé:
La requête complète après un = dans la source de données.
Le nom de la requête
[requête]![Expr1]

Quelqu'un a t-il une idée ?


--

Remove "bidon" to answer by mail