Bonjour à toutes et à tous.

Je dois modifier une application asp de gestion des congés. Cette modification consiste en la génération + ouverture d'un fichier des prévisions de congés.

La difficulté que je rencontre est que je veux que le fichier soit généré et ouvert seulement quand l'utilisateur clique sur le bouton.
J'ai donc mis la génération du fichier dans une fonction.

Mais j'ai peur qu'il essaye d'ouvrir le fichier avant que celui-ci ne soit créé.

Par ailleurs, je voudrais qu'il soit créé sur le client et non sur le serveur contrairement a ce que j'ai mis dans le code.

Voici l'appel du fichier
Code : Sélectionner tout - Visualiser dans une fenêtre à part
<a href="<%=VfichierCSV%>" style="cursor:hand" onclick="CreateFicPrev('<%=SsectionAct%>')">
Voici la fonction :

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
25
26
27
28
29
30
31
32
33
Function CreateFicPrev(SsectionAct) {
 
    Set Fso= CreateObject("scripting.filesystemobject")
 
    strFilePath = server.MapPath(GetParameter("UpdateDataPath")) & "/temp"
 
    VfichierCSV = strFilePath & "/Prev_" & SsectionAct & "_" & Cstr(Year(now)) & Cstr(month(now)) & Cstr(Day(now)) & "-" & Cstr(hour(now)) & Cstr(minute(now)) & ".csv"
 
    Set Fic=fso.Opentextfile(VfichierCSV,2,true)
 
    '----- Connexion à la base de données des Prévisions -----
    Set rsPrev = server.CreateObject("ADODB.Recordset")
    StrReqPrev = "SELECT * FROM previsions WHERE ssection = " & sSectionAct & " ORDER BY nom,depart DESC"
    rsPrev.Open StrReqPrev, Connexion_hqweb, 3, 3
 
    '---- Création des entetes de colonnes pour le fichier téchargeable CSV------
    titre = "Matricule;Nom;Prenom;Date Depart;Date Retour;Type de conge;Statut;Validé par;Saisi par;Date de saisie;Date de validation;Section"
    Fic.WhriteLine titre
 
    // Remplir le fichier avec les données de la table Prevision
    do While not rsPrev.EOF
        donnees = rsPrev("matricule") & ";" & rsPrev("nom") & ";" & rsPrev("prenom") & ";" & rsPrev("depart") & ";" & rsPrev("arrivee") & ";"
        donnees = donnees & rsPrev("typedeconges") & ";" & rsPrev("statut") & ";" & rsPrev("validepar") & ";" & rsPrev("saisipar") & ";"
        donnees = donnees & rsPrev("datesaisie") & ";" & rsPrev("datevalidation") & ";" & rsPrev("ssection") & ";"
 
        Fic.writeLine donnees
 
        rsPrev.movenext
    loop    
 
    Fic.close
 
End function
Je n'ai pas pu tester ce bout de code car beaucoup d'autres problèmes avec cette appli (les erreurs ne sont pas gérés + config IIS ,...)

Merci infiniment de votre aide en tout cas.