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 ?
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
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
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.
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
On 13 juil, 11:16, "Alain" <al...@hotmail.com> 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 ?
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
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 ?