OVH Cloud OVH Cloud

Code VB: récupération de SetWarnings

6 réponses
Avatar
caro
bonjour =E0 tous,

je souhaite r=E9cup=E9rer par code le nombre d'enregistrements mis =E0
jour (ins=E9r=E9s ou supprim=E9s) suite =E0 un DoCmd.OpenQuery
"nom_req_de_maj". En fait je veux r=E9cup=E9rer les infos affich=E9es par
access apr=E8s une mise =E0 jour de donn=E9es lorsque DoCmd.SetWarnings
True.
Connaissez-vous le code correspondant?=20

cordialement

6 réponses

Avatar
3stone
Salut,

"caro"
je souhaite récupérer par code le nombre d'enregistrements mis à
jour (insérés ou supprimés) suite à un DoCmd.OpenQuery
"nom_req_de_maj". En fait je veux récupérer les infos affichées par
access après une mise à jour de données lorsque DoCmd.SetWarnings
True.



Dans ce cas, le mieux est de passer par un recordset et
utiliser la propiété " .RecordsAffected "


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
Avatar
Eric
Bonjsoir Caro,

Variante: Sans passer par un recordset mais par une variable-objet
Database et la commande Execute.

Sub zz()
' Charger la référence Microsoft DAO 3.6 Object Library
' Adapter les noms de table et champs
Dim strSQL As String, bd As DAO.Database
strSQL = "Update LaTable Set LeChampNumerik"
Set bd = CurrentDb
bd.Execute strSQL
MsgBox bd.RecordsAffected & " enregistrements modifiés", vbInformation
Set bd = Nothing
End Sub

bonjour à tous,

je souhaite récupérer par code le nombre d'enregistrements mis à
jour (insérés ou supprimés) suite à un DoCmd.OpenQuery
"nom_req_de_maj". En fait je veux récupérer les infos affichées par
access après une mise à jour de données lorsque DoCmd.SetWarnings
True.
Connaissez-vous le code correspondant?

cordialement



--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
Eric
.../...
Petite précision, qui peut intéresser quelques-uns :
ça marche aussi en DAO 3.51 (pour des versions d'Access97), toutefois,
j'ai testé sous une version d'Access2K en chargeant la librairie DAO 3.51

Bonjsoir Caro,

Variante: Sans passer par un recordset mais par une variable-objet
Database et la commande Execute.

Sub zz()
' Charger la référence Microsoft DAO 3.6 Object Library
' Adapter les noms de table et champs
Dim strSQL As String, bd As DAO.Database
strSQL = "Update LaTable Set LeChampNumerik"
Set bd = CurrentDb
bd.Execute strSQL
MsgBox bd.RecordsAffected & " enregistrements modifiés", vbInformation
Set bd = Nothing
End Sub




--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
caro

Salut,

"caro"
je souhaite récupérer par code le nombre d'enregistrements mis à
jour (insérés ou supprimés) suite à un DoCmd.OpenQuery
"nom_req_de_maj". En fait je veux récupérer les infos affichées par
access après une mise à jour de données lorsque DoCmd.SetWarnings
True.



Dans ce cas, le mieux est de passer par un recordset et
utiliser la propiété " .RecordsAffected "


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
Salut,

J'esaierai ça (et le execute) lundi prochain....mais je passe par une
requête déjà construite. Il faut à priori que je récupère la
string de la requête!?
merci pour ces idées.
a+
caro

Avatar
Eric
Bonjour caro,

S'il s'agit de récupérer le SQL d'une requête Action enregistrée, tu
modifies, comme suit, la procédure utilisant Execute avec l'objet
Database pour avoir le nb d'enregistrements impactés:

Sub zz()
' Charger la référence Microsoft DAO 3.x Object Library
Dim strSQL As String, bd As DAO.Database
Set bd = CurrentDb
bd.Execute bd.QueryDefs("NomDeLaRequêteAction").SQL
MsgBox bd.RecordsAffected & " enregistrement(s) impacté(s)",
vbInformation
End Sub

Salut,
...mais je passe par une
requête déjà construite. Il faut à priori que je récupère la
string de la requête!?
merci pour ces idées.
a+
caro



--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
caro
MERCI BEAUCOUP!!!!
a+

Bonjour caro,

S'il s'agit de récupérer le SQL d'une requête Action enregistrée, tu
modifies, comme suit, la procédure utilisant Execute avec l'objet
Database pour avoir le nb d'enregistrements impactés:

Sub zz()
' Charger la référence Microsoft DAO 3.x Object Library
Dim strSQL As String, bd As DAO.Database
Set bd = CurrentDb
bd.Execute bd.QueryDefs("NomDeLaRequêteAction").SQL
MsgBox bd.RecordsAffected & " enregistrement(s) impacté(s)",
vbInformation
End Sub