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 :

[Access 2003]- erreur 3027 : base ou objet en lecture seule


Sujet :

Access

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Octobre 2006
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 3
    Points : 1
    Points
    1
    Par défaut [Access 2003]- erreur 3027 : base ou objet en lecture seule
    Bonjour,

    Je fais un acces en MAJ à ma base par le biais d'un bouton et lorsque ça passe sur mon .edit ca me met une erreure 3027...

    mon code :
    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
    Set db = OpenDatabase(Application.CurrentProject.Path & "\" & "Base_Compta.mdb")
     
    '===== Calcul du reste_eng sur frm_ENG =====
     
    Set rs = db.OpenRecordset _
      ("SELECT * FROM Commande, tranche, engagement " & _
       "Where xcde_id = cde_id and xtra_id = tra_id and cde_id =" & cde_ID, dbOpenDynaset)
     
    Do While Not rs.EOF
      Set rs1 = db.OpenRecordset _
          ("SELECT * FROM facture WHERE xeng_id =" & rs!Eng_ID, dbOpenDynaset)
     
      VarRest_Eng = 0
     
      Do While Not rs1.EOF
        VarRest_Eng = VarRest_Eng + rs1!fct_rgmt
        rs1.MoveNext
      Loop
     
      Set rs3 = db.OpenRecordset _
        ("SELECT * FROM Commande, tranche, engagement " & _
        "Where xcde_id = cde_id and xtra_id = tra_id and eng_id = " & rs!Eng_ID, dbOpenDynaset)
      rs3.Edit
        rs3!Eng_Reste = rs!Eng_Mtt - VarRest_Eng
      rs3.Update
     
      rs.MoveNext
    Loop
    '===== Fin calcul du reste_eng sur frm_ENG =====
     
    db.Close
    si quelqu'un pouvait me donner un tit coup de main ce serait sympa !

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 41
    Points : 40
    Points
    40
    Par défaut
    Questions:

    la base "Base_Compta.mdb" de ta première ligne, c'est la base dans laquelle il y a le code ou une autre? (si tu réouvre la même ca pose ptre problème)

    De plus rs et rs3 se resemblent beaucoup, le problème ne viens pas de là?

    si tu ajoute ",0,dbOptimistic" après dbOpenDynaset ça fait la même chose?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 41
    Points : 40
    Points
    40
    Par défaut
    J'allais oublier surement le plus important:
    est-ce que tes sources "Commande, tranche, engagement" sont des tables ou des requetes? avec des requetes ca risque de poser problème si ce sont des jointures.

    Et en changeant ta requete en
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT * FROM Commande INNER JOIN 
    (tranche INNER JOIN engagement ON xtra_id = tra_id) 
    ON xcde_id = cde_id
    WHERE eng_id = " & rs!Eng_ID

    Ca aide un peu?
    Je pense que ca peut venir du fait que rs3!Eng_Reste peut être dupliqué à cause de jointure et le moteur ne sait pas quelle ligne à la priorité.

  4. #4
    Nouveau Candidat au Club
    Inscrit en
    Octobre 2006
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    salut,

    - la base_compta est effectivement celle qui contient le code

    - au début j'ai essayé l'update sur rs justement avec la même erreur j'ai donc essayé à partir d'une autre requete mais sans résultat toujours un probleme sur le .edit

    - j'ai essayé de rajouté ",0,dboptimistic" mais même erreur

    je comprend vraiment pas là

  5. #5
    Nouveau Candidat au Club
    Inscrit en
    Octobre 2006
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    personne ?

  6. #6
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Strontium a vu juste. C'est la requête qui a priori interdit la mise à jour. Utilise INNER JOIN

Discussions similaires

  1. [AC-2010] Erreur '3027' : mise à jour impossible, base ou objet en lecture seule
    Par sangoke dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 13/07/2013, 12h38
  2. [AC-2003] Erreur 3027 : Objet ou base de données en lecture seule
    Par cocols59 dans le forum VBA Access
    Réponses: 4
    Dernier message: 21/06/2011, 15h19
  3. [Access 2003]Erreur à l'ouverture d'access
    Par jeralex dans le forum Access
    Réponses: 3
    Dernier message: 14/09/2006, 11h31
  4. [Access 2003]Erreur modification données dans base distante
    Par Julio_del_pueblo dans le forum Access
    Réponses: 2
    Dernier message: 22/06/2006, 14h22
  5. [Access 2003] Erreur "Dépassement de capacité"
    Par Bapt.ice dans le forum Access
    Réponses: 2
    Dernier message: 08/06/2006, 12h15

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