Bonjour Claude,
Très bon tuto, j'ai bien aimé la manière d'aborder la problématique des relations Word vs Access.
J'ai fait quelques modifications pour une application et je voulais partager.
Premièrement j'ai laissé la possibilité à l'administrateur de la bd de choisir l'emplacement où seront enregistrer les documents de manière très simple, une table avec le chemin réseau.
strF = DMax("CheminFichier", "P_Word")
J'ai modifié le code pour qu'il soit accessible à partir de plusieurs formulaires en créant dans un module une fonction qui reprend tes subs:
1 2 3 4 5
| Private Sub btnLettre_Click()
fuChercherDocType Me.hWnd, Eval(Me.ActiveControl.Tag), "R_Parametres", Me.Compagnie, Me.NUM_CLIENT
End Sub |
En plus comme mon application à plusieurs tables sans rapport direct la possibilité d'avoir plusieurs requêtes "création de table" passé en paramètre dans la fonction pour ainsi mieux définir la table destination finale.
J'ai aussi modifié le sub CreerDosPatient pour tenir compte du type de fichier sélectionné et de la méthode à appliquer selon le cas.
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 26
| Private Function fuCreerDosPatient(strDossier As String, loC As Long)
On Error GoTo GestionErreurs
'Créer le dossier Patient si nécessaire
Dim strType As String
DossierPat = strF & "\DossiersClients\" & strDossier & "_" & loC
MkDir DossierPat
'Quel type de fichier?
strType = Right(CheminDocType, Len(CheminDocType) - InStrRev(CheminDocType, "."))
Select Case strType
Case "docx", "doc"
fuCreerDoc strDossier
Case "xlsx", "xls"
fuCreerExc strDossier
Case Else
End Select
Exit Function
GestionErreurs:
Select Case Err.Number
Case 75 'le dossier existe déjà
Resume Next
Case Else
MsgBox "Erreur dans CreerDosPatient" & " " & Err.Number & " " & Err.Description
End Select
End Function |
Présentement je traite Word et Excell mais je vais traiter d'autres types de fichiers, j'en suis rendu là.
Encore un fois merci, ton tuto m'a amené a revoir une application qui fonctionnait bien, mais qui maintenant est beaucoup plus professionnelle.
Robert
Partager