Intégration de fichier (ou chemin) dans SqlServer-Access

Asiany

Best Member
Qu'entend tu par intégré des fichiers doc. dans une base Sql Server? Ce que tu peux mettre dans ta base sont les chemins de ces fichiers présent sur un serveur pour pouvoir les télécharge..
Dans ce cas, il faut alors demander à l'utilisateur d'uploader ces fichiers ( et donc ajout dans la base du fichier uploadé).
 

The_tiger85

New Member
Oui, c'est bien ça que je veux faire. Mais comment fait-on pour uploader des fichiers dans une base Access ??
 

Asiany

Best Member
Là faut aller le faire en VBA.. En créant tout d'abord un bouton qui va te permettre d'aller sélectionné ton fichier présent sur le disque dur. Puis effectuer des manipulations sur ce fichier en récupérant son nom, son type, son chemin etc..
 

The_tiger85

New Member
Asiany link=topic=60090.msg621401#msg621401 date=1181123054 a dit:
J'ai pris le code proposé mais j'ai une erreur au niveau de : "RepParDefaut = CurrentDb.Name" dans "Configuration de la boîte de dialogue", il me dis qu'il y a une erreur d'éxécution '91' => Variable objet ou variable de bloc With non définie.

Et dans mon formulaire, j'ai mis :

Private Sub CheminFichier_Click()
'MsgBox OuvrirUnFichier(Me.hwnd, "Parcourir", 1, "Fichier Word", "doc")
MsgBox OuvrirUnFichier(Me.hwnd, "Parcourir", 2, "", "") // Code modifié
End Sub


Auriez-vous une explication à me donnée ?
Merci !
 

The_tiger85

New Member
Bonjour,
Voici le code (j'ai mis en rouge la ligne qui donne l'erreur) :

'Configuration de la boîte de dialogue
With StructFile
.lStructSize = Len(StructFile) 'Initialisation de la grosseur de la structure
.hwndOwner = Handle 'Identification du handle de la fenêtre
.lpstrFilter = sFiltre 'Application du filtre
.lpstrFile = String$(254, vbNullChar) 'Initialisation du fichier '0' x 254
.nMaxFile = 254 'Taille maximale du fichier
.lpstrFileTitle = String$(254, vbNullChar) 'Initialisation du nom du fichier '0' x 254
.nMaxFileTitle = 254 'Taille maximale du nom du fichier
.lpstrTitle = Titre 'Titre de la boîte de dialogue
.flags = OFN_HIDEREADONLY 'Option de la boite de dialogue
If ((IsNull(RepParDefaut)) Or (RepParDefaut = "")) Then
RepParDefaut = CurrentDb.Name
PathStripPath (RepParDefaut)
.lpstrInitialDir = Left(CurrentDb.Name, Len(CurrentDb.Name) - Len(Mid$(RepParDefaut, 1, _
InStr(1, RepParDefaut, vbNullChar) - 1)))
Else: .lpstrInitialDir = RepParDefaut
End If
End With

If (GetOpenFileName(StructFile)) Then 'Si un fichier est sélectionné
Select Case TypeRetour
Case 1: OuvrirUnFichier = Trim$(Left(StructFile.lpstrFile, InStr(1, StructFile.lpstrFile, vbNullChar)-1))
Case 2: OuvrirUnFichier = Trim$(Left(StructFile.lpstrFileTitle, InStr(1, StructFile.lpstrFileTitle, vbNullChar)-1))
End Select
End If


Merci !
 

Asiany

Best Member
Bon bah chez moi ça marche.. As tu rien oublié ? en prenant le code.. déclaration de l'api, structure du fichier etc.
 

The_tiger85

New Member
Non, je viens de reprendre tout et ça me met toujours la même erreur...
Est-ce qu'il faut mettre tout le code dans la formulaire ou dans un module ?
J'ai mis le code dans un module à côté, c'est peut-être pour ça que ça ne marche pas ?
 

Asiany

Best Member
Je vais te décrire la manipulation que j'ai fais.. peut-être que cela t'aidera.
:fleche: Bon j'ai ouvert access, créer un projet etc..
:fleche: J'ai ensuite créer un un bouton, puis j'y ai créer un code évennementiel.
:fleche: Visual basic s'est alors ouvert pour que j'y tape mon code vba
:fleche: J'ai ensuite copié collé le code au dessus de la procédure évenementiel du bouton sans rien changer
:fleche: J'ai ensuite écris dans la procédure click du bouton la ligne suivante : MsgBox OuvrirUnFichier(Me.hwnd, "Parcourir", 1, "Fichier Word", "doc")

et ça a marché. As tu un antivirus sur ton poste?
 

The_tiger85

New Member
J'ai essayé de mettre le code sur un bouton mais j'ai toujours la même erreur. :blink:
J'ai "Symantec Antivirus Corporate Edition" (je suis en stage et donc ce n'est pas mon ordi)
Pourquoi ? L'antivirus peut jouer sur du VBA ?
 

The_tiger85

New Member
J'ai désactivé l'antivirus mais j'ai toujours le même problème. :wacko:

EDIT : Il n'y a pas quelque chose à changer dans Access ? J'ai essayé de changé le niveau de sécurité mais ça na rien changé.
 

leblond12

New Member
BONJOUR A TOUS?

TOUT D'ABORD BON COURAGE ET BONNE CHANCE A TOUS.

QUELQU'UN POURRAIT ME DONNER LA DATE ET LIEU DES RESULTATS.
 
Auteur Ca peut vous intéresser Forum Réponses Date
BTS SIO - Spécialité développeur d'application 1

Ca peut vous intéresser