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

VBA Access Discussion :

Erreur : la commande n'est pas disponible [AC-2007]


Sujet :

VBA Access

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 53
    Points : 33
    Points
    33
    Par défaut Erreur : la commande n'est pas disponible
    Bonjour,

    Au lancement de mon code VBA, j'ai une erreur : la commande ou l'action "" n'est pas disponible pour l'instant. J'aimerais trouver pourquoi elle n'est pas disponible pour pouvoir l’exécuter en la "rendant disponible".
    De plus si je place mes commandes en début de fonction, elles marchent sans problème. Le problème est donc lié aux traitements que je fait par la suite.

    Voici 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
    Private Sub Form_Load()
    Dim db As DAO.Database: Set db = CurrentDb
    Dim str As String
     
    DoCmd.Close acForm, "F_Stagiaire"
     
    heuresql = "SELECT Id_Tp FROM T_Tp WHERE Id_Tp = " & Me.Id_Tp_Stag.Caption
    'On Error GoTo nouvTp
    Set rst = db.OpenRecordset(heuresql)
     
        Me.Id_Tp.SetFocus
        str = Me.Id_Tp_Stag.Caption
        DoCmd.FindRecord str, acAnywhere, , acSearchAll, , acCurrent
        etat = False
        Exit Sub
     
    nouvTp:
        etat = True
        DoCmd.RunCommand acCmdRecordsGoToNew
    End Sub
    Ce sont les commandes : DoCmd.RunCommand acCmdRecordsGoToNew et DoCmd.FindRecord str, acAnywhere, , acSearchAll, , acCurrent qui posent problème.

    Merci d'avance

  2. #2
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 394
    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 394
    Points : 19 816
    Points
    19 816
    Billets dans le blog
    66
    Par défaut
    Salut,

    Tu as mis ton code sur chargement de ton formulaire, pourquoi ne pas le mettre sur le clic d'un bouton de commande par exemple ?

    A+

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 53
    Points : 33
    Points
    33
    Par défaut
    En fait je voudrais que au chargement du formulaire l'enregistrement soit placer directement au bon endroit, c'est à dire, si cet enregistrement existe : aller le chercher, si il n'existe pas , faire un nouvel enregistrement.

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 53
    Points : 33
    Points
    33
    Par défaut
    Est ce qu quelqu'un pourrait me dire pourquoi je ne peut pas exécuter ces commandes s'il vous plait.

  5. #5
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 394
    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 394
    Points : 19 816
    Points
    19 816
    Billets dans le blog
    66
    Par défaut
    Peux.-tu un peu préciser le contexte :

    Je vois que tu ferme un formulaire "F_Stagiaire" avant dans le code et que tu ouvre un recordset ???

    Quelle est l'utilité de cette partie de code ?

    Merci !

  6. #6
    Membre habitué
    Inscrit en
    Janvier 2005
    Messages
    152
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 152
    Points : 143
    Points
    143
    Par défaut
    Je dis peut-être une bêtise, mais "Caption" ce n'est pas un libellé?
    Faudrait pas mettre "Value", à la place?

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 53
    Points : 33
    Points
    33
    Par défaut
    Le recordset est la pour tester l'existence de l'enregistrement, si il renvoie une erreur il n'existe pas je fait une chose et si il existe j'en fait une autre.

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 53
    Points : 33
    Points
    33
    Par défaut
    Pour le Caption, c'est parce que je manipule des labels car j'ai eu des problèmes avec les zones de textes.

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 53
    Points : 33
    Points
    33
    Par défaut
    J'ai trouvé d'où venait le problème. C'est la fermeture du formulaire qui empêchait le code de s’exécuter. Par contre je ne comprend pas pourquoi.

  10. #10
    Membre habitué
    Inscrit en
    Janvier 2005
    Messages
    152
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 152
    Points : 143
    Points
    143
    Par défaut
    Je ne sais pas pourquoi non-plus, mais tu peux appeler la fonction de fermeture du formulaire depuis ce même formulaire, donc je te conseille de faire plutôt ça.

    En l'occurrence, depuis l'endroit où tu quittes le formulaire pour en ouvrir un autre (par exemple dans le code d'un bouton), tu peux mettre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    DoCmd.Close acForm, Me.Name, acSavePrompt
    DoCmd.OpenForm "FORMULAIRE_APPELÉ"

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

Discussions similaires

  1. la commande n'est pas disponible pour l'instant
    Par Ram34 dans le forum VBA Access
    Réponses: 3
    Dernier message: 26/06/2013, 12h28
  2. erreur Servlet action n'est pas disponible
    Par j_esti dans le forum Struts 1
    Réponses: 21
    Dernier message: 09/06/2008, 20h13
  3. Réponses: 18
    Dernier message: 07/02/2007, 14h33
  4. [VB6] Erreur : la ligne n'est pas disponible
    Par Asdorve dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 13/03/2006, 14h53
  5. erreur 1722 le serveur RPC n'est pas disponible
    Par StyleXP dans le forum Windows XP
    Réponses: 1
    Dernier message: 13/11/2005, 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