Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 15/08/2011, 19h59   #1
Modérateur
 
Homme René MAROT
Inscription : octobre 2005
Messages : 5 470
Détails du profil
Informations personnelles :
Nom : Homme René MAROT
Localisation : Canada

Informations forums :
Inscription : octobre 2005
Messages : 5 470
Points : 7 552
Points : 7 552
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 :
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.
marot_r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/08/2011, 06h02   #2
Membre actif
 
Avatar de robyseb
 
Homme Sébastien
Développeur indépendant
Inscription : juillet 2011
Messages : 176
Détails du profil
Informations personnelles :
Nom : Homme Sébastien
Localisation : Canada

Informations professionnelles :
Activité : Développeur indépendant

Informations forums :
Inscription : juillet 2011
Messages : 176
Points : 192
Points : 192
Salut marot_r essai d'écrire ton code de cette façon :

Code :
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
robyseb est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/08/2011, 15h05   #3
Modérateur
 
Homme René MAROT
Inscription : octobre 2005
Messages : 5 470
Détails du profil
Informations personnelles :
Nom : Homme René MAROT
Localisation : Canada

Informations forums :
Inscription : octobre 2005
Messages : 5 470
Points : 7 552
Points : 7 552
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.
marot_r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/08/2011, 15h17   #4
Expert Confirmé
 
Avatar de Godzestla
 
Homme
Chercheur de bonheur
Inscription : août 2007
Messages : 2 255
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 47
Localisation : Belgique

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

Informations forums :
Inscription : août 2007
Messages : 2 255
Points : 2 979
Points : 2 979
Citation:
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.
Godzestla est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/08/2011, 16h22   #5
Membre actif
 
Avatar de robyseb
 
Homme Sébastien
Développeur indépendant
Inscription : juillet 2011
Messages : 176
Détails du profil
Informations personnelles :
Nom : Homme Sébastien
Localisation : Canada

Informations professionnelles :
Activité : Développeur indépendant

Informations forums :
Inscription : juillet 2011
Messages : 176
Points : 192
Points : 192
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
robyseb est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/08/2011, 16h42   #6
Modérateur
 
Homme René MAROT
Inscription : octobre 2005
Messages : 5 470
Détails du profil
Informations personnelles :
Nom : Homme René MAROT
Localisation : Canada

Informations forums :
Inscription : octobre 2005
Messages : 5 470
Points : 7 552
Points : 7 552
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.
marot_r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/08/2011, 17h22   #7
Modérateur
 
Homme René MAROT
Inscription : octobre 2005
Messages : 5 470
Détails du profil
Informations personnelles :
Nom : Homme René MAROT
Localisation : Canada

Informations forums :
Inscription : octobre 2005
Messages : 5 470
Points : 7 552
Points : 7 552
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.
marot_r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/08/2011, 18h04   #8
Membre actif
 
Avatar de robyseb
 
Homme Sébastien
Développeur indépendant
Inscription : juillet 2011
Messages : 176
Détails du profil
Informations personnelles :
Nom : Homme Sébastien
Localisation : Canada

Informations professionnelles :
Activité : Développeur indépendant

Informations forums :
Inscription : juillet 2011
Messages : 176
Points : 192
Points : 192
De rien j'ai essayer ca s'explique donc les différente version entre en conflit ..
robyseb est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/08/2011, 21h47   #9
Modérateur
 
Homme René MAROT
Inscription : octobre 2005
Messages : 5 470
Détails du profil
Informations personnelles :
Nom : Homme René MAROT
Localisation : Canada

Informations forums :
Inscription : octobre 2005
Messages : 5 470
Points : 7 552
Points : 7 552
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.
marot_r est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h10.


 
 
 
 
Partenaires

Hébergement Web