Set Rs =3D Db.OpenRecordset("SELECT COUNT(*) AS TOTAL FROM "=20
& Td.Name)
pour savoir le nombre d'enregistrements d'une table.
Typiquement, j'ai certaines tables (attach=E9e en ODBC)
poss=E9dant pres de 20000 enreg, ma requete met environ 3=20
minutes donc je cherche un autre moyen.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Benoît O'Hare
ou mieux
set rs = db.openrecordset("matable")
nbenreg : rs.recordcount
-- (Hello) | | | / O (o) (o) O (_) / o o0oo - - - - - - oo0oo (MrBinaire)
Benoît O'Hare www.tryskel.com (portail web) www.tryskel.net (communauté tryskel) "Nicolas" a écrit dans le message de news: 030f01c34aae$b62c7e40$ Bonjour,
Je cherche une instruction en VB plus rapide que
Set Rs = Db.OpenRecordset("SELECT COUNT(*) AS TOTAL FROM " & Td.Name)
pour savoir le nombre d'enregistrements d'une table.
Typiquement, j'ai certaines tables (attachée en ODBC) possédant pres de 20000 enreg, ma requete met environ 3 minutes donc je cherche un autre moyen.
Merci d'avance
Nicolas
ou mieux
set rs = db.openrecordset("matable")
nbenreg : rs.recordcount
--
(Hello)
| | | / O
(o) (o) O
(_) / o
o0oo - - - - - - oo0oo
(MrBinaire)
Benoît O'Hare
www.tryskel.com (portail web)
www.tryskel.net (communauté tryskel)
"Nicolas" <nicolasheurtevin@wanadoo.fr> a écrit dans le message de news:
030f01c34aae$b62c7e40$a001280a@phx.gbl...
Bonjour,
Je cherche une instruction en VB plus rapide que
Set Rs = Db.OpenRecordset("SELECT COUNT(*) AS TOTAL FROM "
& Td.Name)
pour savoir le nombre d'enregistrements d'une table.
Typiquement, j'ai certaines tables (attachée en ODBC)
possédant pres de 20000 enreg, ma requete met environ 3
minutes donc je cherche un autre moyen.
-- (Hello) | | | / O (o) (o) O (_) / o o0oo - - - - - - oo0oo (MrBinaire)
Benoît O'Hare www.tryskel.com (portail web) www.tryskel.net (communauté tryskel) "Nicolas" a écrit dans le message de news: 030f01c34aae$b62c7e40$ Bonjour,
Je cherche une instruction en VB plus rapide que
Set Rs = Db.OpenRecordset("SELECT COUNT(*) AS TOTAL FROM " & Td.Name)
pour savoir le nombre d'enregistrements d'une table.
Typiquement, j'ai certaines tables (attachée en ODBC) possédant pres de 20000 enreg, ma requete met environ 3 minutes donc je cherche un autre moyen.
Merci d'avance
Nicolas
Christophe
Bonjour, pour que recordcount soit active et renvoie le nb d'enregistrement il faut faire movefirst movelast avant de l'utiliser.
Christophe V. "Nicolas" a écrit dans le message de news: 036a01c34ab2$985c5d50$ La solution que vous me proposez là, je l'ai déjà essayé et elle ne me retourne que des 1 ou des 0 (1 pour la présence d'enreg, 0 pour aucun enreg)
Que faire ?
-----Message d'origine----- set rs = db.execute("select * from matable") ou (openrecordset)
msgbox " il y a " & rs.recordcount & " enregistrements ds
la table"
-- (Hello) | | | / O (o) (o) O (_) / o o0oo - - - - - - oo0oo (MrBinaire)
Benoît O'Hare www.tryskel.com (portail web) www.tryskel.net (communauté tryskel) "Nicolas" a écrit dans le
message de news:
030f01c34aae$b62c7e40$ Bonjour,
Je cherche une instruction en VB plus rapide que
Set Rs = Db.OpenRecordset("SELECT COUNT(*) AS TOTAL FROM " & Td.Name)
pour savoir le nombre d'enregistrements d'une table.
Typiquement, j'ai certaines tables (attachée en ODBC) possédant pres de 20000 enreg, ma requete met environ 3 minutes donc je cherche un autre moyen.
Merci d'avance
Nicolas
.
Bonjour,
pour que recordcount soit active et renvoie le nb d'enregistrement il faut
faire movefirst movelast avant de l'utiliser.
Christophe V.
"Nicolas" <nicolasheurtevin@wanadoo.fr> a écrit dans le message de news:
036a01c34ab2$985c5d50$a001280a@phx.gbl...
La solution que vous me proposez là, je l'ai déjà essayé
et elle ne me retourne que des 1 ou des 0 (1 pour la
présence d'enreg, 0 pour aucun enreg)
Que faire ?
-----Message d'origine-----
set rs = db.execute("select * from matable")
ou (openrecordset)
msgbox " il y a " & rs.recordcount & " enregistrements ds
la table"
--
(Hello)
| | | / O
(o) (o) O
(_) / o
o0oo - - - - - - oo0oo
(MrBinaire)
Benoît O'Hare
www.tryskel.com (portail web)
www.tryskel.net (communauté tryskel)
"Nicolas" <nicolasheurtevin@wanadoo.fr> a écrit dans le
Bonjour, pour que recordcount soit active et renvoie le nb d'enregistrement il faut faire movefirst movelast avant de l'utiliser.
Christophe V. "Nicolas" a écrit dans le message de news: 036a01c34ab2$985c5d50$ La solution que vous me proposez là, je l'ai déjà essayé et elle ne me retourne que des 1 ou des 0 (1 pour la présence d'enreg, 0 pour aucun enreg)
Que faire ?
-----Message d'origine----- set rs = db.execute("select * from matable") ou (openrecordset)
msgbox " il y a " & rs.recordcount & " enregistrements ds
la table"
-- (Hello) | | | / O (o) (o) O (_) / o o0oo - - - - - - oo0oo (MrBinaire)
Benoît O'Hare www.tryskel.com (portail web) www.tryskel.net (communauté tryskel) "Nicolas" a écrit dans le
message de news:
030f01c34aae$b62c7e40$ Bonjour,
Je cherche une instruction en VB plus rapide que
Set Rs = Db.OpenRecordset("SELECT COUNT(*) AS TOTAL FROM " & Td.Name)
pour savoir le nombre d'enregistrements d'une table.
Typiquement, j'ai certaines tables (attachée en ODBC) possédant pres de 20000 enreg, ma requete met environ 3 minutes donc je cherche un autre moyen.
Merci d'avance
Nicolas
.
.Saphyr
> set rs = db.execute("select * from matable") msgbox " il y a " & rs.recordcount & " enregistrements ds la table"
Set Rs = Db.OpenRecordset("SELECT COUNT(*) AS TOTAL FROM " & Td.Name)
Si j'ai bien compris votre réponse, vous proposez non plus de créer un enregistrement contenant un nombre mais un enregistrement contenant plus de 20'000 entrées à la place alors que la demande est d'accélerer la chose ?
je reste sceptique...
Je ne suis pas une bête en sql mais est-ce qu'un SELECT COUNT (id) plutôt que un SELECT COUNT(*) ne serait-il pas censé aller plus vite ?
J'entends par là le fait d'effectuer le calcul sur une colonne indexée (vous l'avez indexée la colonne primaire n'est-ce pas ?) ..
Sinon, voici ce que je fais dans mes systèmes de news pour savoir combien il y a de commentaires pour chaque news:
Je ne fais pas "SELECT COUNT(*) FROM news_comments WHERE newsid = 234" mais "SELECT nbcommentaires FROM news WHERE id#4"
Vous saisissez la différence ? Ca demande une petite requête en plus lors des insertions et des suppressions mais votre application tolèrera beaucoup mieux la charge.
.antoine
> set rs = db.execute("select * from matable")
msgbox " il y a " & rs.recordcount & " enregistrements ds la table"
Set Rs = Db.OpenRecordset("SELECT COUNT(*) AS TOTAL FROM "
& Td.Name)
Si j'ai bien compris votre réponse, vous proposez non plus de créer un
enregistrement contenant un nombre mais un enregistrement contenant
plus de 20'000 entrées à la place alors que la demande est d'accélerer
la chose ?
je reste sceptique...
Je ne suis pas une bête en sql mais est-ce qu'un SELECT COUNT (id)
plutôt que un SELECT COUNT(*) ne serait-il pas censé aller plus vite ?
J'entends par là le fait d'effectuer le calcul sur une colonne indexée (vous
l'avez indexée la colonne primaire n'est-ce pas ?) ..
Sinon, voici ce que je fais dans mes systèmes de news pour savoir combien
il y a de commentaires pour chaque news:
Je ne fais pas "SELECT COUNT(*) FROM news_comments WHERE newsid = 234"
mais "SELECT nbcommentaires FROM news WHERE id#4"
Vous saisissez la différence ? Ca demande une petite requête en plus lors
des insertions et des suppressions mais votre application tolèrera beaucoup
mieux la charge.
> set rs = db.execute("select * from matable") msgbox " il y a " & rs.recordcount & " enregistrements ds la table"
Set Rs = Db.OpenRecordset("SELECT COUNT(*) AS TOTAL FROM " & Td.Name)
Si j'ai bien compris votre réponse, vous proposez non plus de créer un enregistrement contenant un nombre mais un enregistrement contenant plus de 20'000 entrées à la place alors que la demande est d'accélerer la chose ?
je reste sceptique...
Je ne suis pas une bête en sql mais est-ce qu'un SELECT COUNT (id) plutôt que un SELECT COUNT(*) ne serait-il pas censé aller plus vite ?
J'entends par là le fait d'effectuer le calcul sur une colonne indexée (vous l'avez indexée la colonne primaire n'est-ce pas ?) ..
Sinon, voici ce que je fais dans mes systèmes de news pour savoir combien il y a de commentaires pour chaque news:
Je ne fais pas "SELECT COUNT(*) FROM news_comments WHERE newsid = 234" mais "SELECT nbcommentaires FROM news WHERE id#4"
Vous saisissez la différence ? Ca demande une petite requête en plus lors des insertions et des suppressions mais votre application tolèrera beaucoup mieux la charge.
.antoine
Serialv
change le curseur du recordset
"Benoît O'Hare" a écrit dans le message de news: #53sK#
ou mieux
set rs = db.openrecordset("matable")
nbenreg : rs.recordcount
-- (Hello) | | | / O (o) (o) O (_) / o o0oo - - - - - - oo0oo (MrBinaire)
Benoît O'Hare www.tryskel.com (portail web) www.tryskel.net (communauté tryskel) "Nicolas" a écrit dans le message de news: 030f01c34aae$b62c7e40$ Bonjour,
Je cherche une instruction en VB plus rapide que
Set Rs = Db.OpenRecordset("SELECT COUNT(*) AS TOTAL FROM " & Td.Name)
pour savoir le nombre d'enregistrements d'une table.
Typiquement, j'ai certaines tables (attachée en ODBC) possédant pres de 20000 enreg, ma requete met environ 3 minutes donc je cherche un autre moyen.
Merci d'avance
Nicolas
change le curseur du recordset
"Benoît O'Hare" <benoit.ohare@ifrance.com> a écrit dans le message de news:
#53sK#qSDHA.1588@TK2MSFTNGP11.phx.gbl...
ou mieux
set rs = db.openrecordset("matable")
nbenreg : rs.recordcount
--
(Hello)
| | | / O
(o) (o) O
(_) / o
o0oo - - - - - - oo0oo
(MrBinaire)
Benoît O'Hare
www.tryskel.com (portail web)
www.tryskel.net (communauté tryskel)
"Nicolas" <nicolasheurtevin@wanadoo.fr> a écrit dans le message de news:
030f01c34aae$b62c7e40$a001280a@phx.gbl...
Bonjour,
Je cherche une instruction en VB plus rapide que
Set Rs = Db.OpenRecordset("SELECT COUNT(*) AS TOTAL FROM "
& Td.Name)
pour savoir le nombre d'enregistrements d'une table.
Typiquement, j'ai certaines tables (attachée en ODBC)
possédant pres de 20000 enreg, ma requete met environ 3
minutes donc je cherche un autre moyen.
"Benoît O'Hare" a écrit dans le message de news: #53sK#
ou mieux
set rs = db.openrecordset("matable")
nbenreg : rs.recordcount
-- (Hello) | | | / O (o) (o) O (_) / o o0oo - - - - - - oo0oo (MrBinaire)
Benoît O'Hare www.tryskel.com (portail web) www.tryskel.net (communauté tryskel) "Nicolas" a écrit dans le message de news: 030f01c34aae$b62c7e40$ Bonjour,
Je cherche une instruction en VB plus rapide que
Set Rs = Db.OpenRecordset("SELECT COUNT(*) AS TOTAL FROM " & Td.Name)
pour savoir le nombre d'enregistrements d'une table.
Typiquement, j'ai certaines tables (attachée en ODBC) possédant pres de 20000 enreg, ma requete met environ 3 minutes donc je cherche un autre moyen.