IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP Discussion :

Utilisation de Scripting.FileSystemObject pour la récupération des données access


Sujet :

ASP

  1. #1
    Membre régulier
    Inscrit en
    Juillet 2008
    Messages
    230
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Juillet 2008
    Messages : 230
    Points : 96
    Points
    96
    Par défaut 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 : 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

  2. #2
    Expert confirmé
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Points : 4 045
    Points
    4 045
    Par défaut
    Salut,

    1. Pour un upload d e fichier la technique diffère d'un formulaire traditionnel: la balise form doit etre ainsi:
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      <form method="POST" enctype="multipart/form-data">
    2. On ne récupère pas ainsi le fichier. Je te conseille de regarder du côté de ASP SmartUpload ou d'un autre qui vont te fournir sur un plateau le fichier uploadé


    ERE
    Quand une tête pense seule, elle devient folle.

  3. #3
    Membre régulier
    Inscrit en
    Juillet 2008
    Messages
    230
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Juillet 2008
    Messages : 230
    Points : 96
    Points
    96
    Par défaut
    Salut,
    Bravo Emmanuel pour ta réponse
    Oui exactement, en fait, j'ai trouvé l'information chez l'hébergeur qui m'a guidé pour l'utilisation du composant SmartUpload pour le chargement d'un fichier et ça a marché bien enfiiiiiin
    Mais, avant de mettre résolu sur cette discussion je voudrais comprendre un point concernant l'objet Scripting.FileSystemObject. Est ce que les méthodes copyfile et movefile ne s'executent que sur des fichiers déjà sauvegardés sur le serveur?
    Merci pour tous ceux qui ont participé à cette discussion

  4. #4
    Expert confirmé
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Points : 4 045
    Points
    4 045
    Par défaut
    Salut,

    Scripting.FileSystemObject te permet de gérer les fichiers de la machine sur lequel il est appelé, donc dans ton cas le server (sauf à avoir un lecteur réseau mappé, etc...). En fait ces classes COM ont été créées pour VBA afin de donner un coup de jeune aux fonctions VB kill, name, et plus généralement à la gestion des fichiers sous VB. Et c'est ainsi devenu une référence dans le monde COM, d'où l'emploi régulier notamment en ASP quand on doit manipuler un fichier ou parcourir une arborescence.

    ERE
    Quand une tête pense seule, elle devient folle.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 17
    Dernier message: 05/06/2010, 21h30
  2. script calendrier pour la saisie des champs dates
    Par s.mustapha86 dans le forum Struts 1
    Réponses: 12
    Dernier message: 16/07/2008, 15h18
  3. Réponses: 1
    Dernier message: 26/06/2008, 16h16
  4. Utilisation d'un DBGrid pour la saisie des données
    Par amtdev dans le forum Bases de données
    Réponses: 2
    Dernier message: 16/02/2008, 09h17
  5. [MySQL] Utilisation des fonctions des récupérations des données
    Par Konrad Florczak dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 27/10/2006, 15h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo