conflit d'écriture

Le
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Sylvain Lafontaine
Le #21551541
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" 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



Publicité
Poster une réponse
Anonyme