IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Access Discussion :

Conflit d'ecriture apres un update


Sujet :

Access

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2004
    Messages : 8
    Points : 5
    Points
    5
    Par défaut Conflit d'ecriture apres un update
    bonjour, dans un formulaire access, j'entre des données et je clique sur un bouton qui execute un update pour enregistrer les nouvelles données dans la seule table que j'ai. Tout cela s'effectue tres bien.


    Le probleme est que par la suite, lorsque jessaie de faire autre chose dans le formulaire, j'ai une erreur de conflit d'ecriture " cet enregistrement a ete modifier par un autre utilisateur depuis que vous avez commencé a le mofifier.

    Je suis le seul utilisateur de cette base de données et je n'ai qu'une table et 3 formulaires.

    A noter, que jai fait un update car j'ai des champs qui affiche le resultat d'un calcul et je les ajoutes dans un champ de matable pour les récuperer dans d'autres formulaires


    Quelqun peut m'aider stp

  2. #2
    Faw
    Faw est déconnecté
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    1 169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 169
    Points : 1 383
    Points
    1 383
    Par défaut
    Salut, montre la partie concernée de ton code, ça sera plus parlant

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2004
    Messages : 8
    Points : 5
    Points
    5
    Par défaut Code
    CEci est le code d'execution de mon bouton et il fonctionne bien , le probleme, est qu'apres, lorsque je change de champs dans mon formulaire, il m'affiche une erreur de conflit d'ecriture.

    Je remplace les , par des . pour l'insertion des champs ds SQL pour les champs numeriques

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    Private Sub cmdOk_Click()
    Dim SQL As String
    Dim STR As String
    Dim Main_Total As String
    Dim Total_piece As String
    Dim Grand_Total As String
    Dim Total_Autres1 As String
    Dim total_autres2 As String
    Dim Total_autres3 As String
    StrPoint = "."
    StrVirg = ","
    Main_Total = Replace(Me.txtMainTotal, StrVirg, StrPoint)
    Grand_Total = Replace(Me.txtGrandTotal, StrVirg, StrPoint)
    Total_piece = Replace(Me.txtTotalPiece, StrVirg, StrPoint)
    Total_Autres1 = Replace(Me.txtAutresPrix1, StrVirg, StrPoint)
    total_autres2 = Replace(Me.txtAutresPrix2, StrVirg, StrPoint)
    Total_autres3 = Replace(Me.txtAutresPrix3, StrVirg, StrPoint)
    SQL = "UPDATE  Plaintes SET Tot_main = " & Main_Total & " , Total_Piece = " & Total_piece & " , Total_Autres = " & Total_Autres1 & " , Grand_total = " & Grand_Total & " , Total_autres2 = " & total_autres2 & " , Total_autres3 = " & Total_autres3 & "  WHERE Plaintes.[No] = " & Me.txtNo & " "
    DoCmd.RunSQL SQL
    End Sub
    Merci de penser aux balises code à l'avenir | cafeine

  4. #4
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 342
    Points : 19 581
    Points
    19 581
    Billets dans le blog
    65
    Par défaut
    Excuses moi , mais Je ne vois pas pourquoi tu n'agis pas uniquement au niveau des champs de ton form pour 1 Me.txtNo donné:

    exemple:
    pour 1 Me.txtNo donnée sur ton form:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    StrPoint = "." 
    StrVirg = "," 
    Me.txtMainTotal = Replace(Me.txtMainTotal, StrVirg, StrPoint)

    @+

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2004
    Messages : 8
    Points : 5
    Points
    5
    Par défaut ouais
    Tout a fait raison copain,

    Mais ca ne regle pas mon probleme. En tout cas je vais essayer.

    Merci

  6. #6
    Faw
    Faw est déconnecté
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    1 169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 169
    Points : 1 383
    Points
    1 383
    Par défaut
    Essaye avant le RunSQL
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.RunCommand acCmdSelectRecord
    je suis étonné que ça ne se produise pas au moment du Update...

    Autre piste à explorer, la propriété Type de Recordset
    Et en dernier, merci d'utiliser les balises de code pour la lisibilité

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2004
    Messages : 8
    Points : 5
    Points
    5
    Par défaut Cooll
    EN insérant ta parti de code dans mon code, je n'ai plus d'erreur qui s'affiche. Que'est ce que fait cette commande au juste et desolé pour les balises je ne savais pas. Je vais faire un test

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SQL = "UPDATE  Plaintes SET Tot_main = " & Main_Total & " , Total_Piece = " & Total_piece & " , Total_Autres = " & Total_Autres1 & " , Grand_total = " & Grand_Total & " , Total_autres2 = " & total_autres2 & " , Total_autres3 = " & Total_autres3 & "  WHERE Plaintes.[No] = " & Me.txtNo & " "
    DoCmd.RunCommand acCmdSelectRecord
    DoCmd.RunSQL SQL

  8. #8
    Faw
    Faw est déconnecté
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    1 169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 169
    Points : 1 383
    Points
    1 383
    Par défaut
    Normalement elle vérouille l'enregistrement en mise à jour.
    Le fait de faire un Update sur plusieurs champs a l'air d'être interprété
    par le moteur comme des accès simultanés en Màj sur un même enregistrement.
    Ce n'est qu'une interprétation de ma part. Mais le problème s'est posé
    à d'autres adhérents du forum...

    Si un pro a un avis, il est le bienvenu

    Tague si c'est ok pour toi. @+

  9. #9
    Membre émérite

    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 751
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 751
    Points : 2 368
    Points
    2 368
    Par défaut Re: Conflit d'ecriture apres un update
    Bonjour,

    Je crois que tu t'embrouilles avec ces histoires de virgules transformées en points.

    Citation Envoyé par ouellet5
    dans un formulaire access, j'entre des données et je clique sur un bouton qui execute un update pour enregistrer les nouvelles données dans la seule table que j'ai.
    S'il s'agit d'un formulaire dépendant d'une source de données, il n'est pas utile d'exécuter une requête SQL UPDATE.

    Sans rien programmer, tu peux forcer l'enregistrement des données modifiées en appuyant sur les touches Maj+Entrée.

    Et avec VBA, le code qui suit fait l'affaire (à insérer dans le module de code du formulaire).
    Pour revenir à ton souci initial...
    Citation Envoyé par ouellet5
    A noter, que jai fait un update car j'ai des champs qui affiche le resultat d'un calcul et je les ajoutes dans un champ de matable pour les récuperer dans d'autres formulaires
    Une manière "classique" de réaliser une telle mise à jour consisterait à:
    1. ajouter dans le Form un contrôle caché, lié au champ dont il faut calculer la valeur.
    2. dans le module de code du Form, créer la procédure événementielle Form_BeforeUpdate dans laquelle on effectue le calcul et on assigne le résultat au champ ciblé (via le contrôle caché).

    =JBO=

  10. #10
    Faw
    Faw est déconnecté
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    1 169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 169
    Points : 1 383
    Points
    1 383
    Par défaut
    A mon niveau je me permets quelques réserves:
    Sans rien programmer, tu peux forcer l'enregistrement des données modifiées en appuyant sur les touches Maj+Entrée.
    Pas sympa pour l'utilisateur...
    Me.Dirty = False
    Pas très clair...
    1. ajouter dans le Form un contrôle caché, lié au champ dont il faut calculer la valeur.
    Pas très élégant, en plus si on s'amuse à disséminer des contrôles cachés
    à travers la base, la maintenance pourrait s'avérer un peu délicate...
    S'il s'agit d'un formulaire dépendant d'une source de données, il n'est pas utile d'exécuter une requête SQL UPDATE.
    Tout à fait d'accord.

Discussions similaires

  1. conflit d'ecriture bizarre
    Par lemo dans le forum Access
    Réponses: 1
    Dernier message: 18/09/2006, 22h01
  2. [IB6] : Faire la mise à jour de tout les pc après un update
    Par tipiweb dans le forum Bases de données
    Réponses: 4
    Dernier message: 23/03/2006, 18h42
  3. Notification de redémarrage après windows Update.
    Par genialk2000 dans le forum Sécurité
    Réponses: 2
    Dernier message: 22/02/2006, 15h12
  4. Conflit d'ecriture via MyOdbc
    Par Homegrown dans le forum Access
    Réponses: 1
    Dernier message: 22/01/2006, 20h24
  5. Conflit d'ecriture...
    Par sentenza dans le forum Access
    Réponses: 1
    Dernier message: 19/01/2006, 15h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo