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

conflit d'écriture

1 réponse
Avatar
Rémi
bonjour,
avec le code suivant j'ai un problème de conflit d'écriture (enregistrement
modifié par un autre utilisateur etc....)
je ne comprends pas car les bases sont locales, je suis donc le seul à y
accéder.
si je mets le même code sur une procédure exit ça ne provoque pas ce type
d'erreur (une autre après le dernier enregistrement du sous formulaire)

Private Sub stock_compte_AfterUpdate()
' passe le checkbox inventaire sur faux dans la table papier
CurrentDb.Execute "Update LISTE_PAPIER_FUG INNER JOIN TBL_inventaire2 ON
LISTE_PAPIER_FUG.ref = TBL_inventaire2.numlistepapierfug SET inventaire =
False WHERE TBL_inventaire2.numauto=" &
[Forms]![FRM_inventaire2]![SSFRM_inventaire2].[Form]![numauto]
'copie le stock physique vers le stock de la table papier
CurrentDb.Execute "Update LISTE_PAPIER_FUG INNER JOIN TBL_inventaire2 ON
LISTE_PAPIER_FUG.ref = TBL_inventaire2.numlistepapierfug SET
LISTE_PAPIER_FUG.stock = TBL_inventaire2.stock_compte WHERE
TBL_inventaire2.numauto=" &
[Forms]![FRM_inventaire2]![SSFRM_inventaire2].[Form]![numauto]
'recalcul de la valeur de stock si sup ou égal à 0
CurrentDb.Execute "Update LISTE_PAPIER_FUG INNER JOIN TBL_inventaire2 ON
LISTE_PAPIER_FUG.ref = TBL_inventaire2.numlistepapierfug SET
LISTE_PAPIER_FUG.valeur_stock = LISTE_PAPIER_FUG.dernier_prix_feuille *
LISTE_PAPIER_FUG.stock WHERE LISTE_PAPIER_FUG.stock >= 0 AND
TBL_inventaire2.numauto=" &
[Forms]![FRM_inventaire2]![SSFRM_inventaire2].[Form]![numauto]
' passe le checkbox fin_inventaire sur vrai dans la table inventaire2
CurrentDb.Execute "Update TBL_inventaire2 SET fin_inventaire = True WHERE
TBL_inventaire2.numauto=" &
[Forms]![FRM_inventaire2]![SSFRM_inventaire2].[Form]![numauto]
Me.Refresh
End Sub

qu'est ce qui cloche ?
merci de votre aide



---
Antivirus avast! : message Sortant sain.
Base de donnees virale (VPS) : 100413-0, 13/04/2010
Analyse le : 13/04/2010 15:04:09
avast! - copyright (c) 1988-2010 ALWIL Software.
http://www.avast.com

1 réponse

Avatar
Sylvain Lafontaine
L'autre utilisateur, c'est vous. Vous devez vous assurer qu'il n'y a plus
de modification non-sauvegardé dans l'enregistrement courant avant de
modifier le backend:

If (Me.Dirty) then
DoCmd.RunCommand acCmdSaveRecord
end if

Je crois que vous pouvez également sauvegarder l'enregistrement en mettant
Me.Dirty à False mais je ne suis pas sûr; donc à vérifier:

If (Me.Dirty) then
Me.Dirty = False
end if

--
Sylvain Lafontaine, ing.
MVP pour « Windows Live Platform »
Blogue/site web: http://paparazzi-codeur.sylvainlafontaine.com
Consultant indépendant et programmation à distance pour Access et
SQL-Server.


"Rémi" wrote in message
news:
bonjour,
avec le code suivant j'ai un problème de conflit d'écriture
(enregistrement modifié par un autre utilisateur etc....)
je ne comprends pas car les bases sont locales, je suis donc le seul à y
accéder.
si je mets le même code sur une procédure exit ça ne provoque pas ce type
d'erreur (une autre après le dernier enregistrement du sous formulaire)

Private Sub stock_compte_AfterUpdate()
' passe le checkbox inventaire sur faux dans la table papier
CurrentDb.Execute "Update LISTE_PAPIER_FUG INNER JOIN TBL_inventaire2 ON
LISTE_PAPIER_FUG.ref = TBL_inventaire2.numlistepapierfug SET inventaire > False WHERE TBL_inventaire2.numauto=" &
[Forms]![FRM_inventaire2]![SSFRM_inventaire2].[Form]![numauto]
'copie le stock physique vers le stock de la table papier
CurrentDb.Execute "Update LISTE_PAPIER_FUG INNER JOIN TBL_inventaire2 ON
LISTE_PAPIER_FUG.ref = TBL_inventaire2.numlistepapierfug SET
LISTE_PAPIER_FUG.stock = TBL_inventaire2.stock_compte WHERE
TBL_inventaire2.numauto=" &
[Forms]![FRM_inventaire2]![SSFRM_inventaire2].[Form]![numauto]
'recalcul de la valeur de stock si sup ou égal à 0
CurrentDb.Execute "Update LISTE_PAPIER_FUG INNER JOIN TBL_inventaire2 ON
LISTE_PAPIER_FUG.ref = TBL_inventaire2.numlistepapierfug SET
LISTE_PAPIER_FUG.valeur_stock = LISTE_PAPIER_FUG.dernier_prix_feuille *
LISTE_PAPIER_FUG.stock WHERE LISTE_PAPIER_FUG.stock >= 0 AND
TBL_inventaire2.numauto=" &
[Forms]![FRM_inventaire2]![SSFRM_inventaire2].[Form]![numauto]
' passe le checkbox fin_inventaire sur vrai dans la table inventaire2
CurrentDb.Execute "Update TBL_inventaire2 SET fin_inventaire = True WHERE
TBL_inventaire2.numauto=" &
[Forms]![FRM_inventaire2]![SSFRM_inventaire2].[Form]![numauto]
Me.Refresh
End Sub

qu'est ce qui cloche ?
merci de votre aide



---
Antivirus avast! : message Sortant sain.
Base de donnees virale (VPS) : 100413-0, 13/04/2010
Analyse le : 13/04/2010 15:04:09
avast! - copyright (c) 1988-2010 ALWIL Software.
http://www.avast.com