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

Probleme code before update lié à une table ODBC SQLSERVER

15 réponses
Avatar
jerome crevecoeur
Bonjour,

Je suis en train de r=E9aliser une application en Access XP li=E9 =E0 une=
base=20
de donn=E9es SQL SERVER 2000.
J'ai une table couleur dans cette base et j'ai un formulaire en continu=20
pour saisir une grille de couleurs.
J'ai un champ cach=E9 qui contient la date de derniere modification de ma=
=20
ligne.

Je le met =E0 jour gr=E2ce =E0 =E7e code:

Private Sub Form_BeforeUpdate(Cancel As Integer)
Me.pfc_datemodification =3D Now
End Sub


LA premi=E8re fois que je modifie ma ligne cela fonctionne mais quand je =

veux retourner dessus, j'ai ce message laconique:

"Les donn=E9es ont =E9t=E9 modifi=E9es par un autre utilisateur
Un autre utilisateur a modifi=E9...patati patata
Re-modifiez l'enregistrement"

Bien sur, je suis seul sur la base et si je mets mon code en=20
commentaire, il n'y a plus d'erreur.


Alors qui le prem's? Jessy, Tisane, Raymond, Pierre (qui doit =EAtre du=20
maine et loire je crois)

5 réponses

1 2
Avatar
jerome crevecoeur
j'ai crié victoire trop tot !
j'ai toujours ce message d'erreur:

http://www.acsinfo.fr/msg_err_access.JPG

Merci 3stone
J'ai failli me braquer et puis , je me suis dit non, je vais relire ave c
attention et patiemment ces instructions pour éviter que quelque chos e
m'échappe.

Et cela fonctionne.

Pour résumé, j'ai ce code:
-----------------
Private Sub Form_BeforeInsert(Cancel As Integer)
Me.prf_datecreation = Now()
End Sub

Private Sub Form_BeforeUpdate(Cancel As Integer)
Me.prf_datemodification = Now()
End Sub
------------------


je mettais des champs cachés car j'avais eu certains effets de bords sur
les versions antérieures d'access et c'était une (mauvaise) habitud e que
j'avais prise.

Par contre je confirme qu'il faut mettre à jour le champ sur le Befor e
car j'ai essayé sur L'after et il est impossible de sauvegarder
l'enregistrement ensuite.

Merci de ta patience
Cordialement



re,

tu dis :

"jerome crevecoeur"
J'ai un champ caché qui contient la date de derniere modification de ma
ligne.

Une zone de texte caché ? Pourquoi caché ?
Il suffit que le champ fasse partie de la source, sans être lié
à une zone de texte.



Private Sub Form_BeforeUpdate(Cancel As Integer)
Me.pfc_datemodification = Now
End Sub

Non, pas faire la mise à jour du textbox !

tu place le code dans l'après mise à jour...
pfc_datemodification = Now

essaies...

PS: Tu ne peux pas "modifier" le contenu d'une zone de texte,
même cachée, lors de l'événement "avant mise à jour"
puisque cela redéclenche... une mise à jour.
Mais une fois le formulaire passé, l'enregistrement peux
être modifié, lui.






Avatar
3stone
"jerome crevecoeur"
j'ai crié victoire trop tot !


Qu'est ce qu tu utilise comme verrouillage ?

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
Avatar
jerome crevecoeur
Mode du Verrouillage du formulaire = Aucun

"jerome crevecoeur"
j'ai crié victoire trop tot !


Qu'est ce qu tu utilise comme verrouillage ?



Avatar
3stone
Mode du Verrouillage du formulaire = Enregistrement modifié


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
Avatar
jerome crevecoeur
Merci pour ta réponse 3stone, je viens d'essayer et malheureusement,
j'ai toujours le message.

Cordialement



De plus dans l'aide, ils écrivent:
Lorsque les données d'un formulaire, d'un état ou d'une requête
proviennent d'une base de données ODBC (Open Database Connectivity),
seul le paramètre Aucun est pris en considération, et cela quelle que
soit la valeur de la propriété RecordLocks.

et je suis lié en ODBC à ma base SQL SERVER


Mode du Verrouillage du formulaire = Enregistrement modifié




1 2