OVH Cloud OVH Cloud

Pourquoi RecordsAffected retourne toujours 0?

2 réponses
Avatar
Xavier HUE
Bonjour la communaut=E9,

Access XP, DAO 3.51 ou 3.6, je ne me souviens pas (mon PC=20
perso).

Je ne comprends pas pourquoi RecordsAffected retourne=20
toujours 0, m=EAme si la requ=EAte ex=E9cut=E9e touche 1 un=20
enregistrement.

Voici mon code:
Dim db As Database
Dim Qry As QueryDef
=20
On Error Resume Next
Err.Clear
=20
Set db =3D CurrentDb
Set Qry =3D
db.QueryDefs
("ReqTxHoraire_AjoutDansCoutHoraireUneAffaireUnEmploye")
Qry.Parameters("PrmAffID") =3D Me.Parent.Form.Controls
("AffID").Value
Qry.Parameters("PrmEmpID") =3D Me.LstEmpID.Value
Qry.Execute
=20
If db.RecordsAffected < 1 Then
MsgBox "L'ajout n'a pu =EAtre effectu=E9!" & vbCrLf &=20
vbCrLf & _
Err.Description, vbExclamation + vbOKOnly,=20
gpao_NomApplication
End If

Le source de la requ=EAte:

PARAMETERS PrmAffID Long, PrmEmpID Long;
INSERT INTO TabCoutHoraire ( CouAffID, CouEmpID, CouTxHor )
SELECT [PrmAffID] AS Expr1, TabEmploye.EmpID,=20
TabEmploye.EmpTxHor
FROM TabEmploye
WHERE (((TabEmploye.EmpID)=3D[PrmEmpID]));

La requ=EAte ex=E9cut=E9e dans le requ=EAteur ins=E8re bien une=20
ligne.

Ce qui me d=E9passe, c'est que je pratique de la sorte dans=20
une base sur un autre poste de travail au bureau, et =E7a=20
marche!!

Une id=E9e?

Merci d'avance.
Cordialement.

2 réponses

Avatar
Raymond [mvp]
Bonsoir.

essaie Qry.RecordsAffected au lieu de db.RecordsAffected

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour une meilleure
efficacité de tes interventions sur MPFA


"Xavier HUE" a écrit dans le message de
news:083601c3bb1e$8b81d2e0$
Bonjour la communauté,

Access XP, DAO 3.51 ou 3.6, je ne me souviens pas (mon PC
perso).

Je ne comprends pas pourquoi RecordsAffected retourne
toujours 0, même si la requête exécutée touche 1 un
enregistrement.

Voici mon code:
Dim db As Database
Dim Qry As QueryDef

On Error Resume Next
Err.Clear

Set db = CurrentDb
Set Qry db.QueryDefs
("ReqTxHoraire_AjoutDansCoutHoraireUneAffaireUnEmploye")
Qry.Parameters("PrmAffID") = Me.Parent.Form.Controls
("AffID").Value
Qry.Parameters("PrmEmpID") = Me.LstEmpID.Value
Qry.Execute

If db.RecordsAffected < 1 Then
MsgBox "L'ajout n'a pu être effectué!" & vbCrLf &
vbCrLf & _
Err.Description, vbExclamation + vbOKOnly,
gpao_NomApplication
End If

Le source de la requête:

PARAMETERS PrmAffID Long, PrmEmpID Long;
INSERT INTO TabCoutHoraire ( CouAffID, CouEmpID, CouTxHor )
SELECT [PrmAffID] AS Expr1, TabEmploye.EmpID,
TabEmploye.EmpTxHor
FROM TabEmploye
WHERE (((TabEmploye.EmpID)=[PrmEmpID]));

La requête exécutée dans le requêteur insère bien une
ligne.

Ce qui me dépasse, c'est que je pratique de la sorte dans
une base sur un autre poste de travail au bureau, et ça
marche!!

Une idée?

Merci d'avance.
Cordialement.
Avatar
Xavier HUE
Bonjour Raymond,

Bingo!
Grand Merci.

Cordialement.