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 :

Plantage systématique lors de l'ouverture d'une autre BD [AC-2003]


Sujet :

VBA Access

  1. #1
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut Plantage systématique lors de l'ouverture d'une autre BD
    Bonjour à tous et merci de votre temps et de votre aide.

    J'ai le code suivant dont le but est d'ouvrir une autre BD Acccess.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Option Compare Database
    Option Explicit
     
    Private Sub Test_CopierRepriseDePretCreaload()
        Call CopierRepriseDePretCreaload(Year(Date))
    End Sub
     
    Private Sub CopierRepriseDePretCreaload(prmAnnee As Long)
        Dim aa As Access.Application: Set aa = CreateObject("Access.Application")
        aa.UserControl = True
        Call aa.OpenCurrentDatabase("c:\MonChemin" & "\bd6.mdb", False)
        'Ici des choses que je veux faire
        aa.Quit
    End Sub
    La BD que j'utlise pour l'appel (bd5) est une BD vide (juste le module) et bd6 est simplement une copie de bd5.

    Chauqe fois que j'essaye d'exécuter (en mode pas-à-pas ou normal) ce code il plante sauvagement (pas de message d'erreur, demande réparation de la BD) sur le OpenCurrentDatabase.

    J'ai redemaré mon PC.

    Je ne comprend pas d'où cela peut venir.

    Quelqu'un aurait-il une idée ?

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  2. #2
    Membre averti Avatar de robyseb
    Homme Profil pro
    Programmeur-Analyste
    Inscrit en
    Juillet 2011
    Messages
    305
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Canada

    Informations professionnelles :
    Activité : Programmeur-Analyste
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2011
    Messages : 305
    Points : 423
    Points
    423
    Par défaut
    Salut marot_r essai d'écrire ton code de cette façon :

    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 Test_CopierRepriseDePretCreaload()
        Call CopierRepriseDePretCreaload(Year(Date))
    End Sub
     
       Private Sub CopierRepriseDePretCreaload(prmAnnee As Long)
        'essai si ca ne fonctionne pas de déclarer la prochaine ligne après 
        'ton option compare database et option explicit donc à l'extérieur du sub !!
        Dim aa As Access.Application  '<------
        Dim strDB as String
     
        ' Initialise le chemin de ta base à part !!
        Const strConPathTobase = "c:\MonChemin" 
     
        strDB = strConPathTobase & "bd6.mdb"
        ' Création de ta base Access 
        Set aa = _
            CreateObject("Access.Application")
     
        ' Ouverture de la base dans la fenêtre Access
        ' pas besoin d'écrire le false puisqu'il l'est d'office pour le mode "share"
        aa.OpenCurrentDatabase strDB
     
        'ici les choses que tu veut faire !!
       aa.quit
    End Sub
    voit ce que tu en pense !!
    cordialement
    Parfois il faut faire le tour d'une roche 10 fois avant de s'apercevoir quelle est ronde.
    • Si vous trouvé mon post intéressant, n'oubliez pas de voter coté inférieur droit du message. Merci
    • Si votre Post est indiquez le....
    • Celuil là je devait le mettre ici ....hihi -->

  3. #3
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Non, même résultat y compris en mettant la définition de aa au niveau du module.

    robyseb, as-tu pu le faire sur ta machine ?

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  4. #4
    Membre émérite Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 392
    Points : 2 985
    Points
    2 985
    Par défaut
    robyseb, as-tu pu le faire sur ta machine ?
    Salut Marot_R,

    au cas où cela peut te servir, j'ai testé ton code sur ma bécane, sans aucun problème, sur une DB appelante vide, juste un module pour le code, et une bd appelée totalement vide.
    (\ _ /) Cordialement G@dz
    (='.'=)

    (")-(") Vous avez des neurones. Sollicitez-les. . Si vous êtes aidé, pensez à Voter.

  5. #5
    Membre averti Avatar de robyseb
    Homme Profil pro
    Programmeur-Analyste
    Inscrit en
    Juillet 2011
    Messages
    305
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Canada

    Informations professionnelles :
    Activité : Programmeur-Analyste
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2011
    Messages : 305
    Points : 423
    Points
    423
    Par défaut
    Salut j'ai testé mais il y a une chose quand je lance le code j'ai voulu ouvrir une base remplie d'info .... rien ne se passait ... click et re-click rien ...je décide d'aller voir dans le gestionnaire de tâche ..j'avait plusieurs processus MSACCESS donc après coup j'ai cru remarqué que tous dépendant ce don tu désire faire ... si tu veut ouvrir une autre base tu te doit de fermer la premiere d'abord en utilisant
    Parfois il faut faire le tour d'une roche 10 fois avant de s'apercevoir quelle est ronde.
    • Si vous trouvé mon post intéressant, n'oubliez pas de voter coté inférieur droit du message. Merci
    • Si votre Post est indiquez le....
    • Celuil là je devait le mettre ici ....hihi -->

  6. #6
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Merci robyseb mais les 2 BD doivent être ouverte en même temps, bd5 pilote bd6.

    Merci Godzestla cela confirme que mon code est correct. Je vais essayer sur une machine où je n'ai qu'une seule version d'Access.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  7. #7
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Donc apparement le problème vient qu'il y a plusieurs versions d'Access sur ma machine. Un test sur une machine 'Pure 2003' a fonctuonné à la perfection.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  8. #8
    Membre averti Avatar de robyseb
    Homme Profil pro
    Programmeur-Analyste
    Inscrit en
    Juillet 2011
    Messages
    305
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Canada

    Informations professionnelles :
    Activité : Programmeur-Analyste
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2011
    Messages : 305
    Points : 423
    Points
    423
    Par défaut
    De rien j'ai essayer ca s'explique donc les différente version entre en conflit ..
    Parfois il faut faire le tour d'une roche 10 fois avant de s'apercevoir quelle est ronde.
    • Si vous trouvé mon post intéressant, n'oubliez pas de voter coté inférieur droit du message. Merci
    • Si votre Post est indiquez le....
    • Celuil là je devait le mettre ici ....hihi -->

  9. #9
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Oui, cela arrive parfois mais je n'y avais pas pensé. Comme c'est quelque chose que je fais rarement je pensais plus à un bug dans mon code.

    Merci encore de l'aide.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

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

Discussions similaires

  1. Réponses: 14
    Dernier message: 22/12/2008, 13h50
  2. Fermer les div déjà ouvertes lors de l'ouverture d'une autre
    Par JackBeauregard dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 17/05/2007, 00h43
  3. Réponses: 9
    Dernier message: 15/03/2007, 16h17
  4. Réponses: 12
    Dernier message: 06/06/2006, 12h13
  5. Appeler un script extérieur lors de l'ouverture d'une page.
    Par beegees dans le forum Général JavaScript
    Réponses: 17
    Dernier message: 06/03/2006, 16h40

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