Utiliser le shell dans access [Résolu]

alias666 308 Messages postés mardi 1 juin 2004Date d'inscription 23 mars 2010 Dernière intervention - 25 avril 2006 à 09:32 - Dernière réponse : alias666 308 Messages postés mardi 1 juin 2004Date d'inscription 23 mars 2010 Dernière intervention
- 25 avril 2006 à 11:39
Bonjour à tous,

Apparement pas beaucoup de personne n'a répondu a mon message peut était il mal exprimé donc je m'y reprend :p

Je voudrais ouvrir un fichier .dot (modèle Word) à partir de code VBA sous Access 97. Le chemin du fichier .dot est stocké dans une table nommée "t_chemin_fichier_dot" sous le champ nommé "CheminRelance".
Pour cela j'utilise un bouton (btnEdition) et je veux utiliser un shell derriere ce bouton.
Vous avez compris ?
Merci

_______________________ <<<< :-: 4L!@$ :-: >>>>
Afficher la suite 

14 réponses

cs_thephil 189 Messages postés mercredi 21 août 2002Date d'inscription 19 janvier 2011 Dernière intervention - 25 avril 2006 à 11:05
+3
Utile
... quand on est pas dedans ... ;-)
je pensais que tu écrirais le chemin word en dur ... mais bon s'il est dans ta table c'est plutot ça! !!!

Set Tbl = BDD.OpenRecordset("select CheminRelance,CheminWord from T_Chemin_fichier_dot ")
Fic_a_ouvrir=Tbl!CheminWord & " " & Tbl!CheminRelance
Shell Fic_a_ouvrir
Cette réponse vous a-t-elle aidé ?  
cs_thephil 189 Messages postés mercredi 21 août 2002Date d'inscription 19 janvier 2011 Dernière intervention - 25 avril 2006 à 10:28
0
Utile
dans le code de ton bouton :
dim BDD as database
dim Tbl as recordset
set BDD=opendatabase("chemin de la base")
set Tbl=BDD.openrecordset("select CheminRelance from
t_chemin_fichier_dot")
shell tbl!CheminRelance
Tbl.close
BDD.close

de tête, ça doit etre à peu près ça ...
après il y'a peut etre des conditions à rajouter das le select si tu as plusieurs enreg et un controle avant le shell pour s'assurer qu'il y'a bien un enreg (Tbl.recordcount <> 0)

à essayer !
cs_thephil 189 Messages postés mercredi 21 août 2002Date d'inscription 19 janvier 2011 Dernière intervention - 25 avril 2006 à 10:33
0
Utile
j'ai oubilé un truc ...
dans ton shell il ne faut pas oublier de lancer l'appli avec laquelle tu veux ouvrir le .dot, word je pense .. et tu passes en paramètre le chemin du fichier
shell chemin_word & " " & tbl!CheminRelance
alias666 308 Messages postés mardi 1 juin 2004Date d'inscription 23 mars 2010 Dernière intervention - 25 avril 2006 à 10:49
0
Utile
J'ai donc rajouté chemin_word dans la base avec le chemin correspondant au .exe sinon pour ce qui est du shell pour le passage en paramètre j'ai cela

Private Sub edition_Click()
Dim BDD As Database
Dim Tbl As Recordset
Dim CheminWord As String
Set BDD = OpenDatabase("cheminbase...")
Set Tbl = BDD.OpenRecordset("select CheminRelance from T_Chemin_fichier_dot ")
Shell CheminWord & " " & Tbl!CheminRelance
Tbl.Close
BDD.Close
End Sub

Quel est le problème malgré que j'ai déclaré le chemin en tant que string?

_______________________ <<<< :-: 4L!@$ :-: >>>>
cs_thephil 189 Messages postés mercredi 21 août 2002Date d'inscription 19 janvier 2011 Dernière intervention - 25 avril 2006 à 10:54
0
Utile
tu as bien un seul enregistrement dans ta table T_Chemin_fichier_dot ??? avec 2 champs CheminRelance et chemin_word.
ce code me semble correct, où est ce que ça plante ? enfin ça plante où c'est le fichier qui ne s'ouvre pas ?
alias666 308 Messages postés mardi 1 juin 2004Date d'inscription 23 mars 2010 Dernière intervention - 25 avril 2006 à 10:58
0
Utile
J'ai bien une ligne d'engistrement mais j'ai 4 champs :
-IdChemin
-CheminRelance
-CheminWord

Sinon ca plante la

Shell CheminWord & " " & Tbl!CheminRelance

_______________________ <<<< :-: 4L!@$ :-: >>>>
alias666 308 Messages postés mardi 1 juin 2004Date d'inscription 23 mars 2010 Dernière intervention - 25 avril 2006 à 10:59
0
Utile
pardon

-IdChemin
-CheminRelance
-CheminRetour
-CheminWord

_______________________ <<<< :-: 4L!@$ :-: >>>>
cs_thephil 189 Messages postés mercredi 21 août 2002Date d'inscription 19 janvier 2011 Dernière intervention - 25 avril 2006 à 11:02
0
Utile
essaie ça mais bon ... ça change rien normalement
dim Fic_a_ouvrir as string

Fic_a_ouvrir = CheminWord & " " & Tbl!CheminRelance
shell Fic_a_ouvrir

c'est quoi l'erreur exacte ... parceque normalement c'est bon ce code !
et regarde ce que tu as dans la variable Fic_a_ouvrir
alias666 308 Messages postés mardi 1 juin 2004Date d'inscription 23 mars 2010 Dernière intervention - 25 avril 2006 à 11:07
0
Utile
donc fic_a_ouvrir je recupere bien le chemin de mon fichier .dot
Sinon l'erreur est "Erreur d'exécution - fichier introuvable" Erreur 53.

_______________________ <<<< :-: 4L!@$ :-: >>>>
cs_thephil 189 Messages postés mercredi 21 août 2002Date d'inscription 19 janvier 2011 Dernière intervention - 25 avril 2006 à 11:11
0
Utile
ok, mais dans fic_a_ouvrir, il faut que tu aies (exemple) : "c:\program files\...\word.exe c:\dossier\fic.dot")

tu as essayé ça : ?
Set Tbl = BDD.OpenRecordset("select CheminRelance,CheminWord from T_Chemin_fichier_dot ")
Fic_a_ouvrir=Tbl!CheminWord & " " & Tbl!CheminRelance
Shell Fic_a_ouvrir
alias666 308 Messages postés mardi 1 juin 2004Date d'inscription 23 mars 2010 Dernière intervention - 25 avril 2006 à 11:21
0
Utile
Cela viendrait-il du fait que mon fichier .dot soit sur un server malgré que j'ai tous les droits d'accès ?

_______________________ <<<< :-: 4L!@$ :-: >>>>
alias666 308 Messages postés mardi 1 juin 2004Date d'inscription 23 mars 2010 Dernière intervention - 25 avril 2006 à 11:24
0
Utile
Bah oui chui con moi mdr ^^ Bien joué

_______________________ <<<< :-: 4L!@$ :-: >>>>
cs_thephil 189 Messages postés mercredi 21 août 2002Date d'inscription 19 janvier 2011 Dernière intervention - 25 avril 2006 à 11:26
0
Utile
je te suis plus trop avec tous tes mess ... c'est bon alors ?

non je pense pas que ça vienne du fait que ton fichier soit sur un serveur, du moment que ton chemin est bien de la forme X:\ ... .dot
alias666 308 Messages postés mardi 1 juin 2004Date d'inscription 23 mars 2010 Dernière intervention - 25 avril 2006 à 11:39
0
Utile
Ouai c'est bon le code mais je me rend compte qu'en fait ca m'ouvre le fichier .dot comme si je faisas un clic droit "ouvrir" et donc du coup il ne s'execute pas j'ai trouve la piste suivante apparement. Ce n'est qu'un début

Dim objword
Set objword = CreateObject("Word.Application") 'manque qqchose avant create object
objword.Documents.Add nom_du_fichier

_______________________ <<<< :-: 4L!@$ :-: >>>>

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.