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

IHM Discussion :

Ouverture d'état depuis formulaire et table vérouillée [AC-2010]


Sujet :

IHM

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2011
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2011
    Messages : 29
    Points : 23
    Points
    23
    Par défaut Ouverture d'état depuis formulaire et table vérouillée
    Bonjour à tous et bon courage pour tout ceux qui reprennent en ce lundi matin

    Je (re)viens vous voir car j'ai un nouveau petit soucis que voici :


    J'ai un formulaire de consultation de données. Il est indépendant et tous les champs sont remplis en VBA sur diverses requêtes.

    Depuis ce formulaire, je peux imprimer une "fiche résumé". C'est un état, basé sur une requête unique.

    Le formulaire seul fonctionne bien, l'état seul également.
    Mais lorsque je me sers du bouton de mon formulaire pour ouvrir mon état, j'ai une erreur "Le moteur de la base de donnée n'a pas pu verrouiller la table car elle est déjà utilisée(...)"


    J'imagine qu'il y a un conflit entre les requêtes du formulaire et celle de l'état ?
    Comment puis-je y remédier ?

    Merci d'avance de votre aide, toujours précieuse

  2. #2
    Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Juillet 2012
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2012
    Messages : 54
    Points : 69
    Points
    69
    Par défaut
    Bonjour,
    Ceci m'est déjà arrivé aussi...pas de panique rien de grave.
    Il est fort probable que la table en question soit déjà ouverte (en mode création par exemple) où en cours d'utilisation sur d'autre formulaire.
    Le truc simple à vérifier, c'est que tu ouvres uniquement le formulaire avec lequel ou affiche l'état pour tu ouvres l'état.
    Si pas de soucis => voit si tu peux fermer les autre formulaires AVANT d'ouvrir ton état
    si problème, Pourrais-tu nous faire passer le code du bouton qui permet d'ouvrir l'état.
    Boncourage ----- @+ -----
    Baloo84

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2011
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2011
    Messages : 29
    Points : 23
    Points
    23
    Par défaut
    Bonjour et merci de ton aide

    J'ai essayé de fermer la base, de la réouvrir et de ne lancer que le formulaire qui appelle mon état : le problème est inchangé.

    Voilà le code de mon bouton qui ouvre l'état en question. C'est le code de base proposé par Access à un chouilla près il me semble.
    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
    Private Sub Impr_fiche_Btn_Click()
    On Error GoTo Err_Impr_fiche_Btn_Click
     
        Dim stDocName As String
        Dim stLinkCriteria As String
     
        stDocName = "Fiche_plante"
        stLinkCriteria = "P.IdPlante=" & Me.cbo_plante.Column(0)
        If CurrentProject.AllReports(stDocName).IsLoaded Then
            DoCmd.Close acReport, stDocName, acSaveNo
        End If
        DoCmd.OpenReport stDocName, acViewPreview, , stLinkCriteria
        DoCmd.RunCommand acCmdPrint
     
    Exit_Impr_fiche_Btn_Click:
        Exit Sub
     
    Err_Impr_fiche_Btn_Click:
        If Err.Number = 2501 Then
            DoCmd.Close acReport, stDocName, acSaveNo
            Resume Exit_Impr_fiche_Btn_Click
        End If
        MsgBox Err.Description
        Resume Exit_Impr_fiche_Btn_Click
    End Sub

  4. #4
    Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Juillet 2012
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2012
    Messages : 54
    Points : 69
    Points
    69
    Par défaut
    bonjour,
    A mon avis Y'a bien plus simple pour imprimer un Etat :
    tu utilises le code suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    docmd.openreport "MonEtat", acviewnormal,,"P.IdPlante=" & Me.cbo_plante.Column(0)
    De cette manière, access lance directement l'impresszion sur l'imprimante par défaut...
    bone journée -----@+ -----
    Baloo84

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2011
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2011
    Messages : 29
    Points : 23
    Points
    23
    Par défaut
    J'ai essayé mais sans succès.
    Le message d'erreur apparait sur l'instruction "docmd.openreport", comme dans mon code.

    Je ne suis pas sûr que ça soit la bonne piste.

  6. #6
    Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Juillet 2012
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2012
    Messages : 54
    Points : 69
    Points
    69
    Par défaut
    Bonjour,
    bon a priori coté code, ca m'a l'air pas mal....
    Pourrais-tu me donner plus de précision sur le formulaire (Champs, sous-formulaire, boutons, sources,....bref tout ce qui peux nous être utilile pour comprendre sa construction) svp?
    Baloo84

  7. #7
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2011
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2011
    Messages : 29
    Points : 23
    Points
    23
    Par défaut
    Bonjour,

    Je vais replonger la tête dans le code de la page de consultation est un peu une usine à gaz et que je dois pouvoir bien simplifier avec ce que j'ai appris depuis que j'ai commencé ce projet.

    Je reviendrais quand j'aurai fais le ménage pour redemander de l'aide ou, j'espère, expliquer comment j'ai fais pour que ça marche

    Merci Baloo

  8. #8
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2011
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2011
    Messages : 29
    Points : 23
    Points
    23
    Par défaut
    Rebonjour

    Voilà, j'ai pris quelques temps pour faire du ménage dans mon code, simplifier pas mal de trucs...

    Mon erreur n'a pas changé, malheureusement.
    J'ai testé les trucs qui me semblaient logiques :
    - vérifier qu'un objet Recordset ou Database n'était pas resté ouvert : non. Pour chacun je fais Set <objet> = Nothing.
    - Compilé, compacté, réparé, fermé et rouvert...


    D'autre part, impossible de poster le code de ce formulaire : il fait 600 lignes...


    A force de fouiller, il semble que cette erreur arrive parce qu'il existe une relation à la table qui n'est pas fermée.
    Mais tout mon formulaire est indépendant, rempli par des recordset qui sont tous mis à "Nothing" et aucun autre élément n'est ouvert !


    Edit : J'ai essayé de remplacer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set monRecorset = Nothing
    par
    Aucun changement.


    Edit 2 :
    Je viens d'essayer d'ouvrir le formulaire puis de lancer en parallèle la requête sur laquelle est basé mon état : ça marche...

  9. #9
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2011
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2011
    Messages : 29
    Points : 23
    Points
    23
    Par défaut
    Mon post a été supprimé ? Sympa...

    Je disais donc que je n'avais toujours pas trouvé de solution à mon problème.
    Donc si quelqu'un a une solution à me proposer, je suis preneur !

  10. #10
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2011
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2011
    Messages : 29
    Points : 23
    Points
    23
    Par défaut
    Bon, j'ai réussi.

    Après plusieurs tests (lancer le formulaire + la requête, formulaire + état vide...), j'en ai déduit que ça venait d'une propriété de mon état.

    J'ai simplement refais l'état en repartant d'un état vierge.

    Je ne sais pas quelle propriété bloquait...

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

Discussions similaires

  1. Réponses: 17
    Dernier message: 27/01/2011, 18h04
  2. Réponses: 3
    Dernier message: 14/10/2008, 09h22
  3. Réponses: 1
    Dernier message: 13/04/2008, 12h51
  4. Réponses: 2
    Dernier message: 19/06/2007, 12h05
  5. Imprimer un état depuis un formulaire
    Par Alex063 dans le forum Access
    Réponses: 21
    Dernier message: 03/02/2006, 19h08

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