Utilisation de Scripting.FileSystemObject pour la récupération des données access
Bonjour ;
J'ai un problème avec le chargement d'un fichier access et sa lecture en asp.
En fait, j'ai un fichier access .mdb que je charge dans une page asp puis, dans une 2eme page, je lis le fichier pour récupérer les données qu'il contient. Je suis pas habitué à travailler avec l'objet Scripting.FileSystemObject. Le formulaire de la 1ere page :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
<form name="form1" method="post" action="page2.asp" >
<table >
<tr>
<td class="intitule">Fichier ".mdb" de la base Access</td>
<td>
<input class="controle" type="file" id="LeFichier" name="LeFichier">
</input>
</td>
</tr>
<tr>
<td> </td>
<td>
<div align="right">
<input class="controle" id="Valider" name="Valider" type="submit" value="Valider">
</input>
</div>
</td>
</tr>
</table>
</form> |
Dans la 2eme page, je mets :
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
|
<%
strDocsPath = "../../../upload/"
strDocsPhysicalPath = Server.MapPath(strDocsPath)
' creer l'objet pour le sys de fichier
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
' récupérer le nom de fichier access
FileName = objFSO.GetFileName(Request.Form("LeFichier"))
' create an object for the folder
Set objFolder = objFSO.GetFolder(strDocsPhysicalPath)
Set objFiles = objFolder.Files
For Each objFile in objFiles
strName = objFile.Name
strFile = Lcase(strName)
strType = objFile.Type
'i pour ne traiter qu'un seul fichier
i=0
if ( StrComp(Cstr(strType),"Fichier MDB")=0) and (StrComp(Cstr(strFile),Cstr(trim(FileName)))=0)and(i<=0) then
ConnectionString="DBQ="&strDocsPhysicalPath&"\"&strFile&";DefaultDir=C:\;Driver={Driver do Microsoft Access (*.mdb)};DriverId=25;FIL=MS Access;FILEDSN=C:\Program Files\Fichiers communs\ODBC\Data Sources\help.dsn;MaxBufferSize=2048;MaxScanRows=8;PageTimeout=5;SafeTransactions=0;Threads=3;UID=admin;UserCommitSync=Yes;"
Set conAccess=Server.CreateObject("ADODB.Connection")
conAccess.Open ConnectionString
'traitement à faire avec les données
Next
%> |
J'ai 2 problèmes :
Le premier : j'arrive pas à copier le fichier de données .mdb de mon poste vers le serveur (pour le moment je le fais manuellement ce qui n'est pas pratique :?)
Le second : Je fais une boucle sur tous les fichiers pour chercher le fichier dont j'ai besoin ce qui rends l'exécution de la page assez lente :( y'a t-il une possibilité de récupérer un fichier avec son nom?
Merci d'avance pour toute aide ou suggestion