Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
874 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [ACCESS]problème d'ouverture d'application

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[ACCESS]problème d'ouverture d'application

n°1594886
La poisse1
Posté le 02-08-2007 à 12:49:28  profilanswer
 

bonjour tout le monde!
 
j'ai besoin, dans ma base de données, d'ouvrir un fichier PDF. j'ai donc défini mon champ "LienDocTechnique", dans lequel je compte rentrer le chemin d'accès a mon fichier. mon fichier, pour ce test, se trouve là: "C:\Documents and Settings\areitz\Bureau\cata"
 
a terme, tous mes documents seront sur un DD du réseau et l'endroit ne devrait plus bouger...  
 
en fait, je souhaiterai ouvrir mon fichier via un bouton. je viens d'essayer avec l'assistant access mais cela ne fonctionne pas ... j'ai ce code derrière le bouton:
 
Private Sub Commande18_Click()
On Error GoTo Err_Commande18_Click
 
    Dim stAppName As String
 
    stAppName = "C:\Documents and Settings\areitz\Bureau\cata"
 
    Call Shell(stAppName, 1)
 
Exit_Commande18_Click:
    Exit Sub
 
Err_Commande18_Click:
    MsgBox Err.Description
    Resume Exit_Commande18_Click
     
End Sub
 
pour l'istant le chemin est fixe, a terme il devra ouvrir le fichier contenu dans le chemin défini dans mon champ "LienDocTech"...  mais on n'en est pas encore là... pour l'instant j'ai juste besoin d'ouvrir ce fichier comme indiqué...  
 
j'ai éssayé de mettre cata.pdf dans le chemin, mais rien n'y fait...
 
silvouplé...

mood
Publicité
Posté le 02-08-2007 à 12:49:28  profilanswer
 

n°1595027
seniorpapo​u
Posté le 02-08-2007 à 16:01:53  profilanswer
 

Bonjour,
stAppName = "C:\Program Files\Adobe\Reader 8.0\Reader\AcroRd32.exe C:\Documents and Settings\ENFANTS_2\Mes documents\essaimergeTAM136.pdf"
    Call Shell(stAppName, 1)
Fonctionne très bien
Codialement

n°1595076
La poisse1
Posté le 02-08-2007 à 16:38:19  profilanswer
 

donc dans mon stappname je met d'abord le chemin d'accès de mon programme, et ensuite celui de mon fichier... merci beaucoup! comme ca j'ai pu voir que je n'avais pas adobe... pas facile d'ouvrir un progamme que l'on a pas...
 
et penses tu que cela puisse etre dinamique: en l'état, il faut aller dans menu, insertion, objet, chercher l'objet... c'est pénible si la base a besoin de ces manips tout le temps... j'aimerai directement arriver a la fenetre d'exploration, sans passer par le menu...  
 
merci pour tout

n°1595205
seniorpapo​u
Posté le 02-08-2007 à 20:56:00  profilanswer
 

Re,
je n'ai pas bien compris ta question, mais voici une séquence d'ouverture de la boite de dialogue:
 
Dim fd As FileDialog
Set fd = Application.FileDialog(msoFileDialogFilePicker)
fd.InitialFileName = "C:\Documents and Settings\areitz\Bureau\"
fd.Filters.Clear
fd.Filters.Add "Adobe", "*.pdf"
fd.Show
If fd.SelectedItems.Count > 0 Then MsgBox fd.SelectedItems(1)
Cordialement

n°1595301
La poisse1
Posté le 03-08-2007 à 09:59:39  profilanswer
 

en fait, ces lignes de codes apparaitront derrière mon instruction Double click de la zone de lien OLE. en fait, j'aimerai faciliter la procédure de liaison d'un rapport, à savoir ne pas contraindre l'utilisateur a passer par le menu de Access pour lier un rapport de maintenance a un appareil. l'objectif est d'enregistrer le chemin d'accès au fichier PDF dans un champ, et qu'a chaque nouvel enregistrement il soit possible de réitérer la meme manipulation. (on est toujours avec les appareils et les controles qualité... je fais une sorte d'agenda/Inventaire/boite mail apartir d'access... pour la partie boite mail j'ai abandonné... je voulais envoyer par mail aux utilisateurs le nombre de jour restant avant le prochain controle de tel ou tel appareil...

n°1595311
seniorpapo​u
Posté le 03-08-2007 à 10:19:05  profilanswer
 

Re,
que contient ton lien ole?
tu veux sur chaque fenètre concernant un appareil disposer d'un moyen d'afficher le pdf sur un simple clic?
 

n°1595317
La poisse1
Posté le 03-08-2007 à 10:26:56  profilanswer
 

oui... je pensais pouvoir enregistrer un lien OLE différent pour chaque enregistrement...
 
dans ma table "controle qualité niveau B" j'ai un champ de type LienOLE appelé "LienCQNivB", et ma table est lié a la table Installation_Appareil.

n°1595330
seniorpapo​u
Posté le 03-08-2007 à 10:44:16  profilanswer
 

re,
peux-tu nous envoyer un mdb?  (Access 2002 )

n°1595366
La poisse1
Posté le 03-08-2007 à 11:28:41  profilanswer
 

je suis sous access 2000... je peux envoyer tout ce que vous voulez, il suffit de me dire quoi faire...

n°1595369
jpcheck
Pioupiou
Posté le 03-08-2007 à 11:30:06  profilanswer
 

dans ce sens là il y aura pas trop de soucis  :whistle:

mood
Publicité
Posté le 03-08-2007 à 11:30:06  profilanswer
 

n°1595381
La poisse1
Posté le 03-08-2007 à 11:39:47  profilanswer
 

qu'est-ce qu'un MDB? modèle de Base? un shéma?  


Message édité par La poisse1 le 03-08-2007 à 11:41:20
n°1595394
jpcheck
Pioupiou
Posté le 03-08-2007 à 11:59:33  profilanswer
 

le fichier mdb c'est la bdd, donc tu peux lui envoyer ca oui

n°1595405
La poisse1
Posté le 03-08-2007 à 12:13:00  profilanswer
 

elle fait déjà 7Mo... avec seulement 4 formulaires 2 requetes et 2 enregistrements dans la base! si ca c'est pas une usine a gaz de dingue...

n°1595408
jpcheck
Pioupiou
Posté le 03-08-2007 à 12:14:48  profilanswer
 

fais tools> options de la bdd>compacter la base, ca gagnera de la place :)

n°1595424
La poisse1
Posté le 03-08-2007 à 12:33:09  profilanswer
 

ah ben tout de suite... 657Ko... ca va mieux... a quelle adresse j'envoie la base? j'atend vos adresses en message privé...

n°1595433
seniorpapo​u
Posté le 03-08-2007 à 12:50:54  profilanswer
 

re,
http://www.cjoint.com/
pratique, mais un inconvenient, le fichier joint n'est conservé qu'un certain temps
Cordialement

n°1595434
La poisse1
Posté le 03-08-2007 à 12:57:51  profilanswer
 

et bien c'est fait... http://cjoint.com/?idnRMaEnOl
éclatez vous avec tout ca... mois ca fait un mois et demi déjà... en meme temps, et pour ca je dois remercier tres sincerement jpcheck, les progrès effectués sont énormes!!!


Message édité par La poisse1 le 03-08-2007 à 13:44:12
n°1595436
La poisse1
Posté le 03-08-2007 à 12:59:56  profilanswer
 

précision: jpcheck, la partie qui concerne l'etablissement, hopital, service etc... je l'ai laissé de coté, j'y reviendrai plus tard, je me suis fait casser les desnt quand ils ont vu que j'avais toujours pas le système d'alerte lors de la dernière réunion... :)

n°1595462
seniorpapo​u
Posté le 03-08-2007 à 13:35:19  profilanswer
 

Bonjour,
Le lien donne ton mail pas la bdd lol
@+

n°1595467
La poisse1
Posté le 03-08-2007 à 13:42:48  profilanswer
 

c'est c... je recommence et je modifie le post laissé précédement

n°1595468
La poisse1
Posté le 03-08-2007 à 13:44:31  profilanswer
 

voila qui est fait

n°1595509
jpcheck
Pioupiou
Posté le 03-08-2007 à 14:45:27  profilanswer
 

de rien, je laisse senior achever le topic, sauf besoin express ;)

n°1595722
seniorpapo​u
Posté le 03-08-2007 à 18:06:01  profilanswer
 

Bonsoir,
Ce lien n'est pas ou n'est plus disponible!!!
on n'a pas de chance
tu me "mail " et je remettrai sur cjoint
Cordialement
 

n°1595726
La poisse1
Posté le 03-08-2007 à 18:15:07  profilanswer
 

décidement c'est de l'acharnement... vive la loi de murphy...  
j'envoi par mail pas de souci.  
merci

n°1595741
seniorpapo​u
Posté le 03-08-2007 à 19:37:08  profilanswer
 

Bonsoir,
j'ai reçu,  
 
pourquoi veux-tu passer par un OLE?
si tu mets le nom du rapport dans ta zone de texte, tu peux lancer le shell ..... de la façon suivante:
 
stAppName = "C:\Program Files\Adobe\Reader 8.0\Reader\AcroRd32.exe C:\Documents and Settings\ENFANTS_2\Mes documents\" & liendoctechnique & ".pdf"  
    Call Shell(stAppName, 1)  
 
 
tu adaptes , et pour tester ajoute un champ texte dans la table avec le nom du pdf de la doc technique
Cordialement
 
je mets sur cjoint le copie de.... ou le copie de copie....?


Message édité par seniorpapou le 03-08-2007 à 19:37:54
n°1595774
La poisse1
Posté le 03-08-2007 à 22:58:32  profilanswer
 

c'est vrai qu'en y réfléchissant y'a pas besoin d'OLE... je peux me servir d'un petit programme de recherche windows ou il fqut que les utilisateurs se tapent la recherche a la main?

n°1595776
La poisse1
Posté le 03-08-2007 à 22:59:34  profilanswer
 

pardon pour les q a la place des a et inversement, je jongle entre clavier azerty et qwertz...  

n°1595793
seniorpapo​u
Posté le 04-08-2007 à 07:20:29  profilanswer
 

Bonjour,
J'avais cru comprendre que tous tes pdf seraient au même endroit.
En normalisant  un peu tu dois pouvoir dire: tous les modes d'emploi sont dans le dossier "mondossier" (par exemple)  du disque S: et chaque mode d'emploi porte le nom de l'appareil.
(on suppose que Modèleinstall est unique, sinon on ajoute le nom du constructeur)
ainsi tu auras pour othophos :sachant que Modèleinstall="othophos"
 
 
PdfAouvrir= "S:\.......\mondossier\" & Modèleinstall
puis:
 
MonAppli="C:\Program Files\Adobe\Reader 8.0\Reader\AcroRd32.exe "
puis:
 
stAppName=MonAppli & PdfAouvrir
Call Shell(stAppName, 1)  
 
 
Les utilisateurs n'ont donc pas besoin d'aller chercher le pdf.
 
Cordialement


Message édité par seniorpapou le 04-08-2007 à 07:22:11
n°1595802
seniorpapo​u
Posté le 04-08-2007 à 10:13:35  profilanswer
 

Bonjour,
je sais porquoi ton .mdb ne va pas sur cjoint: il est trop gros, la limite de cjoint est 500ko
quelqu'un a-t-il un site moins restrictif?
Cordialement

n°1596271
La poisse1
Posté le 06-08-2007 à 17:00:41  profilanswer
 

merci beaucoup seniorpapou pour ta mise a jour, je peux maintenant afficher le nombre de jours restant dans ma zone de texte... chouette!
 
j'ai encore vadrouillé dans les bureaux de mes collègues et ils ne sentent pas trop bien le fait de devoir normaliser le nom des fichiers, car une petite erreur de frappe ou un espace de trop poserait vite problème, et ils ne sauraient pas forcément quoi faire vu que je ne serai plus avec eux fin aout... en plus, certaines personnes voudraient garder pour eux leurs rapport de controle qualité. (plus conservateur que ca...)  
 
j'ai donc farfouillé, cherché, et encore cherché. et j'ai finalement trouvé.
les rapports doivent donc pouvoir se trouver n'importe ou, que ce soit sur le C: ou sur le réseau, en fonction de la facon de travailler de chacun, ils pouront soit ne rien ranger du tout et la base doit le gérer, soit structurer leur PC au cas ou la base ne bug... donc je vais me servir du code de senior papou pour ouvrir mon PDF une fois qu'il est lié, et j'ai trouvé un code simpa pour importer mon fichier sans passer par le menu insertion, juste en lisant le chemin d'accès et en le recopiant dans une table... voila le code, récupéré sur CodeS-sourceS:
 
'Utilisation de la fonction :
'mettre une commande de type : Call OuvrirAvecCD("xls", "c:\", "TOTO fait du ski" )
'Puis ont peux récupérer le chemin du fichier sélectionné par l'utilisateur
'dans la variable "FichierSélectionné"
'c'est tout !
 
Public FichierSélectionné As String
 
Public Function OuvrirAvecCD(Extension As String, DOSSIER As String, TITRE As String)
    FichierSélectionné = ""
    Set CD = CreateObject("MSComDlg.CommonDialog" )
    On Error Resume Next
Debut:
    With CD
        .MaxFileSize = 260
        .InitDir = DOSSIER
        .CancelError = True
        .DialogTitle = TITRE
        .Filter = "Fichiers " & Extension & "(*." & Extension & " )|*." & Extension & "|"
        .FilterIndex = 1
        Err.Clear
        .ShowOpen
        If Err.Number <> 0 Then
            If MsgBox("Vous n'avez pas sélectionné de fichier." & Chr(10) & "Voulez-vous annuler la sélection ?", vbYesNo, TITRE) = vbYes Then
                Exit Function
            Else
                GoTo Debut
            End If
        End If
    End With
    FichierSélectionné = CD.FileName
    Set CD = Nothing
End Function
 
 
mon mini problème c'est de récuperer la valeur de CD.Filename: je voudrai l'afficher dans une zone de texte( donc en appelant NomDeLaFonction.FichierSélectionné) et le copier dans le champ "LienVersCQ" de l'enregistrement en cours... comment puis-je faire cela?
 
merci d'avance...

n°1596286
seniorpapo​u
Posté le 06-08-2007 à 17:19:55  profilanswer
 

Bonsoir,
pour appeler ta fonction tu peux ecrire:
 
LienVersCQ=OuvrirAvecCD(.........)
 
et tu places l'instruction:
OuvrirAvecCd=CD.filename
avant le Set CD=Nothing
 
Cordialement
 
 

n°1596296
La poisse1
Posté le 06-08-2007 à 17:30:21  profilanswer
 

nickel... eh bien il me semble que je touche au but...  
il ne me reste plus qu'a afficher mon alerte dans une zone de texte, et a faire le lien avec la partie administration...  
 
la partie administration est une sorte de gros entonnoir ou le bout le plus fin de l'entonnoir est l'appareil, le plus gros c'est l'établissement, et les etapes de l'entonnoir sont l'hopital, le service, la salle... le soucis c'est de gérer les redondances: au CHU il y a deux hopitaux au nom différent, mais dont le nom des services sont identiques... pour l'instant j'arrive pas a filtrer correctement... mais je vais deja faire fonctionner correctement ces deux parties avant, peut etre, de revenir poster par ici... merci a tous et je vous donne des nouvelles de l'avancement des choses...
 
a bientot

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [ACCESS]problème d'ouverture d'application

 

Sujets relatifs
Problème de mise en page sous EXCEL à conditions multiplesRequete SQL Access
Probleme avec une dll activeX[ACCESS] accès à distance à une bdd (noob inside)
VBA ACCESS ou ACCESS(tout cours) pb creer requete avec contenu de tabl[HTML] Internet explorer problème
[MySQL] probleme de clé etrangereProblème d'URL avec Lynx
Probleme Webservice serialisation AXIS --> Client .Net C#Probleme avec DISTINCT / MySQL
Plus de sujets relatifs à : [ACCESS]problème d'ouverture d'application


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR