Nombre de records dans un recordset

Le
Alain
Bonjour à tous et bonne année 2007 :)

A partir d'une macro Excel, je dois ajouter dans une DB un enregistrement
avec une certaine clé mais, s'il existe déjà un enregistrement ayant cette
clé, je dois l'effacer avant de faire cet ajout.

Je crée donc une requête SQL et je fais:
Set rec_set = db.OpenRecordset(requête, dbOpenDynaset)

Ensuite, j'ai besoin de savoir combien j'ai d'enregistrements dans ce
recordset; si c'est 0, je fais mon ajout immédiatement; si c'est 1, je fais
un delete puis je fais mon ajout; si c'est plus que 1, c'est que ma requête
est buggée et je fais un STOP.

Mon problème est de savoir combien j'ai d'enregistrements dans mon
recordset.
En effet, la propriété RecordCount n'est pas valide dans le cas d'un
DynaSet.
Comme faire alors pour connaître le nombre d'enregistrements ?

Merci d'avance pour votre réponse,
Alain.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
JB
Le #4899021
Bonjour,

Apparement, il y a un pb avec la propriété RecordCount:
Equivalence:

Sub LitAccess()
'cocher Microsoft DAO 3.6 dans Outils/Références
Dim bd As Database
Dim rs As Recordset
Set bd = OpenDatabase(ActiveWorkbook.Path & "access2000.mdb")
Set rs = bd.OpenRecordset("select count(*) as nb from client")
MsgBox rs("nb")
rs.Close
End Sub

http://boisgontierjacques.free.fr/fichiers/jb-ExelAccess.zip

JB
http://boisgontierjacques.free.fr/

On 13 juil, 11:16, "Alain"
Bonjour à tous et bonne année 2007 :)

A partir d'une macro Excel, je dois ajouter dans une DB un enregistrement
avec une certaine clé mais, s'il existe déjà un enregistrement ayan t cette
clé, je dois l'effacer avant de faire cet ajout.

Je crée donc une requête SQL et je fais:
Set rec_set = db.OpenRecordset(requête, dbOpenDynaset)

Ensuite, j'ai besoin de savoir combien j'ai d'enregistrements dans ce
recordset; si c'est 0, je fais mon ajout immédiatement; si c'est 1, je fais
un delete puis je fais mon ajout; si c'est plus que 1, c'est que ma requ ête
est buggée et je fais un STOP.

Mon problème est de savoir combien j'ai d'enregistrements dans mon
recordset.
En effet, la propriété RecordCount n'est pas valide dans le cas d'un
DynaSet.
Comme faire alors pour connaître le nombre d'enregistrements ?

Merci d'avance pour votre réponse,
Alain.


Publicité
Poster une réponse
Anonyme