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 :

Erreur d'exécution 3211


Sujet :

Access

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 35
    Points : 29
    Points
    29
    Par défaut Erreur d'exécution 3211
    Bonjour

    Je débute en Access et je rencontre une erreur 3211

    Dès que j'appelle mon formulaire de base (Modifier), j'initialise une table Copie et je la referme.

    [code]
    DoCmd.RunSQL " SELECT * INTO [Copie] FROM [Initialisation] WHERE ((([Initialisation].[Code])=[Formulaires]![Début]![code].[Valeur]))"
    DoCmd.Close acTable, "Copie"
    [/code]

    Ensuite dans le formulaire, j'ai un bouton qui ouvre un sous-formulaire pour pouvoir modifier cette table Copie. Je peux soit valider, auquel cas je ne touche pas à la table Copie. Soit annuler, et dans ce cas là, je veux réinitialiser ma table Copie.

    [code]
    DoCmd.RunSQL " DELETE FROM [Copie] WHERE ((([Copie].[Code])=[Formulaires]![Modifier]![Code].[Valeur]))"

    DoCmd.RunSQL " SELECT * INTO [Copie] FROM [Initialisation] WHERE ((([Initialisation].[Code])=[Formulaires]![Modifier]![code].[Valeur]))"
    [/code]

    Malheureusement, à ce moment là j'ai l'erreur d'exécution 3211 : Le moteur de base de données n'a pas pu verrouiller la table 'Copie' car elle est déjà utilisée par une autre personne ou un autre processus.

    Est ce que quelqu'un aurait une solution :

    D'avance merci !
    Dlfine

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 35
    Points : 29
    Points
    29
    Par défaut
    Malheureusement, personne n'a de solution

    Bonne journée.
    Dlfine

  3. #3
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    Salut Dlfine

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    DoCmd.RunSQL " DELETE FROM [Copie] WHERE ((([Copie].[ Code])=[Formulaires]![Modifier]![ Code].[Valeur]))"
    DoCmd.RunSQL " SELECT * INTO [Copie] FROM [Initialisation] WHERE ((([Initialisation].[ Code])=[Formulaires]![Modifier]![ code].[Valeur]))"
    ces deux lignes apparaissent telles quelles dans le code ???
    si oui, le problème vient peut être de là. Tu effectues un DELETE puis un SELECT.
    C'est là que ça dois coincer à mon avis..

    PS : j'ai vu qu'un membre a posté pour le même problème mais n'a pas mis la solution lorsque c'était . C'est bien dommage. car cela aurait pu t'éviter de trop chercher l'origine de l'erreur.

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 35
    Points : 29
    Points
    29
    Par défaut
    Bonjour,

    Merci pour ton message.

    Oui, je fais un Delete suivi d'un Select INTO -> Je vide la table et je la reremplie via une sélection dans une autre table. C'est quoi qui cloche dans ça ?

    J'ai cherché (et continue de chercher) dans les forums, mais je n'arrive pas à trouver une solution qui résolve mon problème.

    Bonne journée.
    Dlfine

  5. #5
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    A mon avis,
    il faut que tu fermes la table entre DELETE et SELECT comme tu l'as fait plus haut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.Close acTable, "Copie"

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 35
    Points : 29
    Points
    29
    Par défaut
    Merci beaucoup pour ton aide. Mais malheureusement ça ne marche toujours pas
    Si j'envèle le Delete, pour ne faire qu'une insertion, c'est toujours la même erreur. Il plante toujours au niveau de l'insertion. Et pourtant, si j'exécute cette requête toute seule, il me sort le bon résultat !

    @+
    Dlfine

  7. #7
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    As tu essayé (au risque de paraitre lourd ) de mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.Close acTable, "Copie"
    entre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.RunSQL "DELETE ........"
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.RunSQL "SELECT ........"
    Entre le 1er RunSQL "SELECT" et le 2ème RunSQL "DELETE", tu n'as pas de problème vu que tu fais entre les deux
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.Close acTable, "Copie"
    Parce que là....

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 35
    Points : 29
    Points
    29
    Par défaut
    J'avais bien compris ton précédent message et ça ne marche pas

    Bon, c'est un cas désespéré

    Encore merci de ton aide.

    Bonne soirée.
    Dlfine

  9. #9
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 526
    Points
    14 526
    Par défaut
    salut,

    La commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.Close acTable, "Copie"
    ferme l'objet table, donc rien à voir et inutile sauf au tout début pour fermer la table au cas où quelqu'un l'ait ouverte ce qui ne devrait pas être le cas...

    Ensuite si je ne me trompe pas :
    est une requête de création de table, donc tu ne peux pas l'utiliser dans ce cas, la table existe déjà et est en cours d'utilisation par le formulaire si j'ai bien saisi.

    Pour insérer des lignes il faut faire une requête insertion :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO [Copie] SELECT * FROM [Initialisation]

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 35
    Points : 29
    Points
    29
    Par défaut
    Je dois t'avouer que je n'y croyais plus !

    En modifiant la requête, effectivement ça marche !!

    Un grand merci à Arkham46 et Kikof pour leur aide !!

    Bonne soirée !
    Dlfine

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [JVM][8.1.7] Erreur d'exécution de initjvm.sql
    Par Escuzze dans le forum Oracle
    Réponses: 4
    Dernier message: 01/07/2005, 15h39
  2. Message d'erreur à l'exécution d'une install
    Par titof dans le forum Autres Logiciels
    Réponses: 2
    Dernier message: 22/03/2005, 11h20
  3. [CR8][VB6] Erreur d'exécution 20533
    Par pvava dans le forum SDK
    Réponses: 1
    Dernier message: 01/02/2005, 10h27
  4. Erreurs d'exécution sous delphi 5
    Par nkd dans le forum Langage
    Réponses: 3
    Dernier message: 06/11/2004, 17h25
  5. [Apache Perl] Erreur à l'exécution de mes cgi
    Par GLDavid dans le forum Apache
    Réponses: 4
    Dernier message: 28/08/2004, 20h23

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