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 : Sélectionner tout - Visualiser dans une fenêtre à part
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>&nbsp;</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 : Sélectionner tout - Visualiser dans une fenêtre à part
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