Probleme code before update lié à une table ODBC SQLSERVER
15 réponses
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)
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.
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.
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.
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é
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é
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é