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

Nombre de records dans un recordset

1 réponse
Avatar
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.

1 réponse

Avatar
JB
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" wrote:
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.