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

VBScript Discussion :

Création dynamique tableau html


Sujet :

VBScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné
    Avatar de Petogaz
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    479
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 479
    Par défaut Création dynamique tableau html
    Bonjour,

    je n'arriva pas à afficher dynamiquement mon tableau qui doit être constitué par un recordset. voici le code :

    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <title>Sélection Impression Perso</title>
    <style>
    .tabcentr{
           text-align:left;
           width:100%;
    }
    .tabcentr th{
           text-align:center;
           padding:5px;
           font-size:11px;
           font-weight:bold;
           font-family:Arial;
           color:#FFFFFF;
           background-color:#2E2E2E;
    }
    .tabcentr tr:nth-child(even) {
           background-color: #F9F9F9;
    }
    .tabcentr td {
       color:#333333;
       font-weight:normal;
       font-family:Arial;
       font-size:12px;
       padding:5px;
       padding-left:10px;
       border-left: solid 1px #ccc; 
    }
    .tabcentr td a{
           color:#333333;
           text-decoration:underline;
    }
    .tabcentr td:first-child {
           border-left: none;
    }
    .tabcentr td a:hover
    {
           color:#ed8600;
           text-decoration:underline;
    }
    .titrtab{
           color:#cd7600; 
           font-weight:bold;
    }
    </style>
    </head>
    <body style="font-family: Calibri" onload="Rechercher()">
        <!-- Fin du nouveau code --> 
        <script type="text/vbscript" language="vbscript">
            'Sub SelectImprim()
     
              ' If (selectionBareme.checked) Then
                  ' window.External.DocLigne.InfoLibValeur(7) = selBareme.checked.value
                  ' Window.External.DocLigne.ValidLigne()
                  ' MsgBox("Impression ajoutée")
                  ' window.close()
              ' End If
           ' end sub
     
            sub Rechercher()
                Dim varTableau
    			Dim sCnx, oRst, sConstr, e, i
                varTableau = ""
    		Set sCnx = CreateObject("ADODB.Connection")
            Set oRst = CreateObject("ADODB.Recordset")
            sConstr ="DSN=MONDSNr;UID=<Administrateur>;PWD=;"
     
            sCnx.connectionstring = sConstr
            sCnx.open
     
    		oRst.Open "Select * From TRACE_ACHATS",sCnx
    		varTableau = "<table>" 
    		If Not oRst.EOF then
    			oRst.MoveFirst
    		While not oRst.EOF
     
    			varTableau = varTableau & "<tr><td>"
                'varTableau = varTableau + "<input type='radio'" & checked & " name='selectionImpr' value='" & oRst("Impression_perso") & "' />"
    			vartableau = vartableau & oRst("Impression_perso") &
                varTableau = varTableau & "</td></tr>"
    			oRst.MoveNext
    		Wend
    		End If
     
            varTableau = varTableau & "</table>"
            document.getElementById("result").innerHTML = varTableau
     
            end sub
     
           </script>
     
        <table border="1" class="tabcentr" cellspacing="0" width="100%">
            <tr>
                <th valign="top" colspan="2" align="center"><strong>SELECTION DES IMPRESSIONS</strong> </th>
            </tr>    
        </table>
     
        <table border="1" class="tabcentr" cellspacing='0' width='100%'> 
            <tr>
     
                   <th width='15%' valign='top' align='left'><strong>ImpressionPerso</strong></th>
            </tr>
        </table>
        <div id="result"></div>
     
    </body>
    </html>
    A savoir que ma connexion marche bien. je l'ai testé dans un vbs. pourquoi mon tableau ne s'affiche pas ?
    test sous Internet explorer ou firefox.

    merci de votre aide.

  2. #2
    Membre Expert Avatar de tsuji
    Inscrit en
    Octobre 2011
    Messages
    1 558
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 558
    Par défaut
    Celà dépend beaucoup de comment on entend à servir et à consommer la "page".

    [1] Si on veut faire "executer" la page tout à fait dedans un système de fichiers locaux, il faut nommer l'extension de la page de htm (ou html ou semblable) à hta. Comme ça, on signale que la page est servie par quelqu'un qu'on fait pleinement confiance et qu'elle est consommé par le même confiance. Donc, les mesures sécuritaires ne font pas de barrage.

    [2] Si on entends par ce que la page soit servie d'un serveur et qu'elle soit consommée par un navigateur comme ie/ff/etc, elle ne devrait pas marcher : les mesures sécuritaires y font barrage que la page ne puisse pas accès aux résources locales. Et bien entendu, le navigateur doit être IE a priori sinon il est hors de question pour travailler fonctionalité portée par vbs côté-client.

    [2.1] Pour qu'elle marche, il faut transporter la partie accédant la base de données côté serveur. Une page asp est une candidate la plus simple. Si on veut garder la nature hybride intervenant l'événement onload(), on peut l'écrire comme ça et c'est un peu bête, c'est vrai.
    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
    34
    35
    36
        <script type="text/vbscript" language="vbscript">
     
            sub Rechercher()
                Dim varTableau
                <%
                Dim varTableau
                Dim sCnx, oRst, sConstr, e, i
                varTableau = ""
                Set sCnx = CreateObject("ADODB.Connection")
                Set oRst = CreateObject("ADODB.Recordset")
                sConstr ="DSN=MONDSNr;UID=<Administrateur>;PWD=;"
     
                sCnx.connectionstring = sConstr
                sCnx.open
     
                oRst.Open "Select * From TRACE_ACHATS",sCnx
                varTableau = "<table>" 
                If Not oRst.EOF then
                    oRst.MoveFirst
                    While not oRst.EOF
     
                        varTableau = varTableau & "<tr><td>"
                        vartableau = vartableau & oRst("Impression_perso")
                        varTableau = varTableau & "</td></tr>"
                        oRst.MoveNext
     
                    Wend
                End If
     
                varTableau = varTableau & "</table>"
                %>
                varTableau="<%= varTableau %>"
                document.getElementById("result").innerHTML = varTableau
     
            end sub
        </script>
    Il peut s'en dans les autres événements de ne pas onload, mais comme toutes les infos sont passées au côté client, on ne peut pas éviter d'être critiqué pour ça. D'ailleurs, on peut avec un éffort minimal de transcrire la fonction (sub) en vbs à javascript pourqu'on s'en serve avec firefox ou autres. Voilà !

Discussions similaires

  1. Création d'un tableau croisé dynamique en HTML
    Par elisoranne dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 02/02/2015, 11h04
  2. Réponses: 2
    Dernier message: 13/02/2014, 20h04
  3. Création de tableau HTML
    Par darcos dans le forum Langage
    Réponses: 1
    Dernier message: 14/03/2013, 17h13
  4. création dynamique d'un textbox dans un tableau html
    Par zer_hich dans le forum ASP.NET
    Réponses: 2
    Dernier message: 20/04/2010, 11h43
  5. Création dynamique de tableau.
    Par Yux dans le forum C
    Réponses: 6
    Dernier message: 05/11/2005, 16h24

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