Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Help ... Compter le nombre d'enregistrements dans une table 'distante'

6 réponses
Avatar
L
Bonjour le forum,

Tout d'abord : bonne semaine =E0 tous ...

J'ai un petit probl=E8me avec le d=E9veloppement d'une=20
application Access o=F9 j'ai besoin de conna=EEtre le nombre=20
d'enregistrements dans une table qui figure dans une autre=20
base de donn=E9es. Tout va bien dans la mesure o=F9 le nombre=20
d'enregistrements >=3D 1.=20

Mais que puis-je faire pour =E9viter une erreur 3021 (No=20
current record) renvoy=E9e lorsque la table ne contient pas=20
d'enregistrements ? Je pr=E9cise qu'=E9tant donn=E9 que la table=20
ne figure pas dans le m=EAme fichier, je ne peux pas faire=20
de "DCount" !

Une =E2me charitable aurait-elle une solution =E0 me proposer ?

Un =E9norme merci de votre aide et peut-=EAtre =E0 charge de=20
revanche ;-) ?

Bonne journ=E9e,
L@urent

6 réponses

Avatar
Xavier HUE
Bonjour ,

Mais que puis-je faire pour éviter une erreur 3021 (No
current record) renvoyée lorsque la table ne contient pas
d'enregistrements ?
Tu l'obtiens comment cette erreur?


Je précise qu'étant donné que la table ne figure pas dans
le même fichier, je ne peux pas faire de "DCount" !
Le plus simple serait peut être de créer une table

attachée.

Cordialement.

Avatar
Bonjour Xavier,

TOut d'abord merci de ton aide, toujours bien appréciée

L'erreur est obtenue par rs0.movefirst (où rs0 est la
définition de mon recordset)

Je préférerais éviter d'attacher mes tables; si il y avait
une possibilité de lire directement dans le
fichier 'distant' le nombre d'enregistrements, et le cas
échéant renvoyer un simple 0, je préférerais...

Merci encore de ton aide

@+
Laurent


-----Message d'origine-----
Bonjour ,

Mais que puis-je faire pour éviter une erreur 3021 (No
current record) renvoyée lorsque la table ne contient
pas


d'enregistrements ?
Tu l'obtiens comment cette erreur?


Je précise qu'étant donné que la table ne figure pas
dans


le même fichier, je ne peux pas faire de "DCount" !
Le plus simple serait peut être de créer une table

attachée.

Cordialement.
.




Avatar
Raymond [mvp]
bonjour.

tu peux utiliser l'automation access, pour un besoin ponctuel:

Dim App As Access.Application
Set App = New Access.Application
App.OpenCurrentDatabase "c:indicatifs.mdb "
App.Visible = False
Mavariable = App.DCount("*", "table1")
App.CloseCurrentDatabase
App.Quit
Set App = Nothing

Si tu as souvent besoin de cette table il serait préférable de la lier dans
ta base (menu fichier, import, lier une table)

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"" a écrit dans le message de
news:106ac01c3f46b$9fff1bc0$
Bonjour le forum,

Tout d'abord : bonne semaine à tous ...

J'ai un petit problème avec le développement d'une
application Access où j'ai besoin de connaître le nombre
d'enregistrements dans une table qui figure dans une autre
base de données. Tout va bien dans la mesure où le nombre
d'enregistrements >= 1.

Mais que puis-je faire pour éviter une erreur 3021 (No
current record) renvoyée lorsque la table ne contient pas
d'enregistrements ? Je précise qu'étant donné que la table
ne figure pas dans le même fichier, je ne peux pas faire
de "DCount" !

Une âme charitable aurait-elle une solution à me proposer ?

Un énorme merci de votre aide et peut-être à charge de
revanche ;-) ?

Bonne journée,

Avatar
Pierre CFI [mvp]
bonjour
j'ai pas tout suivi, because week end

dim db as dao.database, enr as dao.recordset
dim Nb as long
set db = opendatabase("nom et chemin mdb")
set ent = db.openrecordset("nomtable")
if not enr.eof then
enr.movelast
enr.movefirst
Nb = enr.recordcount
else
Nb =0
end if
enr.close
db.close

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Raymond [mvp]" a écrit dans le message de news:
bonjour.

tu peux utiliser l'automation access, pour un besoin ponctuel:

Dim App As Access.Application
Set App = New Access.Application
App.OpenCurrentDatabase "c:indicatifs.mdb "
App.Visible = False
Mavariable = App.DCount("*", "table1")
App.CloseCurrentDatabase
App.Quit
Set App = Nothing

Si tu as souvent besoin de cette table il serait préférable de la lier dans
ta base (menu fichier, import, lier une table)

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"" a écrit dans le message de
news:106ac01c3f46b$9fff1bc0$
Bonjour le forum,

Tout d'abord : bonne semaine à tous ...

J'ai un petit problème avec le développement d'une
application Access où j'ai besoin de connaître le nombre
d'enregistrements dans une table qui figure dans une autre
base de données. Tout va bien dans la mesure où le nombre
d'enregistrements >= 1.

Mais que puis-je faire pour éviter une erreur 3021 (No
current record) renvoyée lorsque la table ne contient pas
d'enregistrements ? Je précise qu'étant donné que la table
ne figure pas dans le même fichier, je ne peux pas faire
de "DCount" !

Une âme charitable aurait-elle une solution à me proposer ?

Un énorme merci de votre aide et peut-être à charge de
revanche ;-) ?

Bonne journée,





Avatar
Xavier HUE
Il faut tester si le Recordset contient au moins un
enregistrement avec la propriété BOF.

If rs0.BOF Then
'Pas d'enregistrement
Else
rs0.movefirst
End If

Cordialement.
Avatar
L
Rebonjour,

Merci à Xavier, Raymond et Pierre pour leurs solutions. Je
ne testais pas si le recordset contenait au moins un
enregistrement...

Bonne journée,
Laurent (de Genève)