OVH Cloud OVH Cloud

conflit d'ecriture

6 réponses
Avatar
the viper
Sous Access 2003, j'ai un formulaire composé d'un sous formulaire.
Mon sous formulaire contient des liste déroulantes.
J'ai une liste déroulante qui a pour action de supprimer le contenu d'un
champ de ma table suivant la valeur choisie dans cette liste. La suppression
fonctionne fonctionne mais un message me dit qu'il y a un conflit d'ecriture
et que l'enregistrement a été modifié par un autre utilisateur.

Boite de dialogue avec des bouton Annuler Sauvegarder l'enregistrement
Copier dans Presse Papier
Je suis seul à utiliser la base et je suis en admin sur l'ordi.
Je voudrais avoir un moyen pour que ce message n'apparaissent plus.

Merci de votre aide

6 réponses

Avatar
Raymond [mvp]
Bonsoir.

autre utilisateur ne veut pas dire autre personne physique mais peut-être
simplement ton code vba qui entre en concurrence avec ton formulaire et
qu'ils modifient tous les deux le même enregistrement.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"the viper" <the a écrit dans le message de
news:
Sous Access 2003, j'ai un formulaire composé d'un sous formulaire.
Mon sous formulaire contient des liste déroulantes.
J'ai une liste déroulante qui a pour action de supprimer le contenu d'un
champ de ma table suivant la valeur choisie dans cette liste. La
suppression
fonctionne fonctionne mais un message me dit qu'il y a un conflit
d'ecriture
et que l'enregistrement a été modifié par un autre utilisateur.

Boite de dialogue avec des bouton Annuler Sauvegarder l'enregistrement
Copier dans Presse Papier
Je suis seul à utiliser la base et je suis en admin sur l'ordi.
Je voudrais avoir un moyen pour que ce message n'apparaissent plus.

Merci de votre aide


Avatar
the viper
Bonjour
Oui c'est mon formulaire qui entre en concurrence avec le code vba. Mais n'y
a t-il pas un moyen de supprimer le contenue d'un champ à partir d'une liste
déroulante sans avoir ce message d'erreur.
Merci


Bonsoir.

autre utilisateur ne veut pas dire autre personne physique mais peut-être
simplement ton code vba qui entre en concurrence avec ton formulaire et
qu'ils modifient tous les deux le même enregistrement.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"the viper" <the a écrit dans le message de
news:
Sous Access 2003, j'ai un formulaire composé d'un sous formulaire.
Mon sous formulaire contient des liste déroulantes.
J'ai une liste déroulante qui a pour action de supprimer le contenu d'un
champ de ma table suivant la valeur choisie dans cette liste. La
suppression
fonctionne fonctionne mais un message me dit qu'il y a un conflit
d'ecriture
et que l'enregistrement a été modifié par un autre utilisateur.

Boite de dialogue avec des bouton Annuler Sauvegarder l'enregistrement
Copier dans Presse Papier
Je suis seul à utiliser la base et je suis en admin sur l'ordi.
Je voudrais avoir un moyen pour que ce message n'apparaissent plus.

Merci de votre aide







Avatar
Raymond [mvp]
tu sauvegardes ton enregistrement et ensuite tu supprimes la valeur d'un
champ.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"the viper" <the a écrit dans le message de
news:
Bonjour
Oui c'est mon formulaire qui entre en concurrence avec le code vba. Mais
n'y
a t-il pas un moyen de supprimer le contenue d'un champ à partir d'une
liste
déroulante sans avoir ce message d'erreur.
Merci



Avatar
the viper
Voici mon code
Si tu peux m'aider à trouver la solution

Private Sub Dispo_nos_locaux_AfterUpdate()
'On Error Resume Next
If Dispo_nos_locaux = "Adresse de Livraison" Then
liste_adresses.Visible = True 'Rend visible la liste
déroulante liste_adresses
liste_adresses.RowSource = "SELECT [Adresses de Livraison],[N°
Client] FROM [tbl Adresses de Livraison]" & _
"WHERE [N° Client]=" & liste_clients & ";" 'Synchronise la
liste déroulante liste_adresses
liste_adresses.Requery 'Actualise la liste déroulante
liste_adresses
ElseIf Dispo_nos_locaux = "A Votre Disposition en Nos Locaux" Then
[N° Commande].SetFocus

Dim num_enr As Long

num_enr = (Mid([N° Commande].Value, 5)) 'Décompose le N°
Commande pour retrouver le N° auto

Dim cettebase As Database
Dim enreg As Recordset
Dim table As TableDef

Set cettebase = Application.CurrentDb
Set table = cettebase.TableDefs("tbl Commandes") 'Défini
la table de la base de données
Set enreg = cettebase.OpenRecordset("tbl Commandes",
dbOpenDynaset)

enreg.MoveFirst

DoCmd.SetWarnings False
Do
If (enreg.Fields(0).Value = num_enr) Then
enreg.Edit
enreg.Fields("Adresse de Livraison").Value = ""
'Remplace le contenu du champ Adresse de Livraison par une valeur vide
DoCmd.Save acForm, "frm Commandes"
enreg.Update
DoCmd.Save acForm, "frm Commandes"
enreg.Close

Set enreg = Nothing
Set table = Nothing

'DoCmd.Close acForm, "_classementFormulaire",
acSaveYes
DoCmd.Save acForm, "frm Commandes" 'Enregistre
le formulaire
Exit Do
End If
enreg.MoveNext 'Enregistrement suivant pour scanner
toute la table
Loop Until enreg.EOF

liste_adresses.Visible = False 'Rend Invisible la liste
déroulante liste_adresses
End If
End Sub

Merci


tu sauvegardes ton enregistrement et ensuite tu supprimes la valeur d'un
champ.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"the viper" <the a écrit dans le message de
news:
Bonjour
Oui c'est mon formulaire qui entre en concurrence avec le code vba. Mais
n'y
a t-il pas un moyen de supprimer le contenue d'un champ à partir d'une
liste
déroulante sans avoir ce message d'erreur.
Merci









Avatar
Raymond [mvp]
avant d'ouvrir ton recordset en vba tu fais:
DoCmd.RunCommand acCmdSaveRecord


--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"the viper" a écrit dans le message de
news:
Voici mon code
Si tu peux m'aider à trouver la solution

Private Sub Dispo_nos_locaux_AfterUpdate()
'On Error Resume Next
If Dispo_nos_locaux = "Adresse de Livraison" Then
liste_adresses.Visible = True 'Rend visible la liste
déroulante liste_adresses
liste_adresses.RowSource = "SELECT [Adresses de Livraison],[N°
Client] FROM [tbl Adresses de Livraison]" & _
"WHERE [N° Client]=" & liste_clients & ";" 'Synchronise la
liste déroulante liste_adresses
liste_adresses.Requery 'Actualise la liste déroulante
liste_adresses
ElseIf Dispo_nos_locaux = "A Votre Disposition en Nos Locaux" Then
[N° Commande].SetFocus

Dim num_enr As Long

num_enr = (Mid([N° Commande].Value, 5)) 'Décompose le N°
Commande pour retrouver le N° auto

Dim cettebase As Database
Dim enreg As Recordset
Dim table As TableDef

Set cettebase = Application.CurrentDb
Set table = cettebase.TableDefs("tbl Commandes") 'Défini
la table de la base de données
Set enreg = cettebase.OpenRecordset("tbl Commandes",
dbOpenDynaset)

enreg.MoveFirst

DoCmd.SetWarnings False
Do
If (enreg.Fields(0).Value = num_enr) Then
enreg.Edit
enreg.Fields("Adresse de Livraison").Value = ""
'Remplace le contenu du champ Adresse de Livraison par une valeur vide
DoCmd.Save acForm, "frm Commandes"
enreg.Update
DoCmd.Save acForm, "frm Commandes"
enreg.Close

Set enreg = Nothing
Set table = Nothing

'DoCmd.Close acForm, "_classementFormulaire",
acSaveYes
DoCmd.Save acForm, "frm Commandes" 'Enregistre
le formulaire
Exit Do
End If
enreg.MoveNext 'Enregistrement suivant pour scanner
toute la table
Loop Until enreg.EOF

liste_adresses.Visible = False 'Rend Invisible la liste
déroulante liste_adresses
End If
End Sub

Merci


tu sauvegardes ton enregistrement et ensuite tu supprimes la valeur d'un
champ.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"the viper" <the a écrit dans le message
de
news:
Bonjour
Oui c'est mon formulaire qui entre en concurrence avec le code vba.
Mais
n'y
a t-il pas un moyen de supprimer le contenue d'un champ à partir d'une
liste
déroulante sans avoir ce message d'erreur.
Merci











Avatar
the viper
Merci pour ta réponse, elle m'a bien aidé. Maintenant mon formulaire
fonctionne correctement.
J'ai débuté Access et le vba fin de l'année dernière. Ton site m'a bien aidé
aussi, il est assez complet. Je trouve que j'ai fais beaucoup de progrès
depuis.

Encore merci pour tout.