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 :

Intégration d'un résultat d'une Requête SQL dans un fichier .HTA


Sujet :

VBScript

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Février 2012
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 13
    Points : 9
    Points
    9
    Par défaut Intégration d'un résultat d'une Requête SQL dans un fichier .HTA
    Bonjour à tous,
    étant débutant en Vbs ainsi qu'en Hta j'aurai besoin de vos lumières afin d'intégrer dans un programme en Hta le résultat d'une requête Sql.
    Voici ma requête :

    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
     
            Dim ChaineConnection
    	Dim NombreDeChamps 
    	Dim Colonne
    	Dim FichierResultat
     
     
    	Set Connect = CreateObject("ADODB.Connection")
    	Set Sqlresult = CreateObject("ADODB.Recordset")
     
    	ChaineConnection = "Provider=SQLOLEDB.1;Password=***;User ID=***;Data Source=SOURCE,1433"
    	Connect.ConnectionString = ChaineConnection
    	Connect.Open 
     
    	req = "select [NOM_IMPRIMANTE] from [" & Catalogue &"].[dbo].[PERSO_ORDI_IMP] WHERE [NOM_ORDINATEUR]='" & NomduPoste &"'"
     
    	Sqlresult.Open req, connect
    Voilà où j'en suis . Maintenant je ne sais pas comment afficher mon résultat dans mon Hta.

  2. #2
    Expert éminent sénior
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 092
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 092
    Points : 16 605
    Points
    16 605
    Par défaut
    Salut bienvenue sur DVP

    Pour une liste d'imprimante, l'objet SELECT qui ressemble à un ComboBox ou un ListBox me semble opportun.
    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
    <HTML>
    	<HEAD>
    	<TITLE> Un HTA </TITLE>
    		<HTA:APPLICATION
             ApplicationName = "Demo"
             Id="Demo"
    		>
       </HEAD>
    <SCRIPT language="VBScript" type="text/VBScript" >
    '------------------------------------------------------------------------------------------------------------------
    Sub Window_Onload()
    	Dim ChaineConnection
    	Dim NombreDeChamps 
    	Dim Colonne
    	Dim FichierResultat
     
     
    	Set Connect = CreateObject("ADODB.Connection")
    	Set Sqlresult = CreateObject("ADODB.Recordset")
     
    	ChaineConnection = "Provider=SQLOLEDB.1;Password=***;User ID=***;Data Source=SOURCE,1433"
    	Connect.ConnectionString = ChaineConnection
    	Connect.Open 
     
    	req = "select [NOM_IMPRIMANTE] from [" & Catalogue &"].[dbo].[PERSO_ORDI_IMP] WHERE [NOM_ORDINATEUR]='" & NomduPoste &"'"
     
    	Sqlresult.Open req, connect
     
        Dim oOption, V '<----------------
        'vide la liste
        For V = LstImpr.length To 0 Step -1: LstImpr.Remove (V): Next
        V=0
    	While Not Sqlresult.EOF
    		'ajoute les noms à la liste 
    		Set oOption = window.Document.createElement("OPTION")
    		oOption.Text = Sqlresult.fields("NOM_IMPRIMANTE")
    		oOption.Value = "Option " & V
    		LstImpr.Add (oOption)
            V = V + 1
    		Sqlresult.MoveNext
        Wend
    	Sqlresult.Close: Set Sqlresult = Nothing
    	Connect.Close: Set Connect = Nothing
        If V = 0 Then
            Set oOption = window.Document.createElement("OPTION")
            oOption.Text = "Auncune IMPRIMANTE disponnible"
            oOption.Value = V
            LstImpr.Add (oOption)
            LstImpr.disabled = "disabled"
            Else
            LstImpr.disabled = ""
    		MsgBox V & " imprimante(s) trouvée(s)"
    	End If
    End Sub
    '------------------------------------------------------------------------------------------------------------------
     </SCRIPT>
    	<body>
    		<SELECT name="LstImpr" Id="LstImpr" disabled="disabled"> </SELECT>
       </Body>
    </HTML>
    inspiré du tutoriel Donner une interface à vos script VBS , HTA : Html Application et de mes premières applications.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Février 2012
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 13
    Points : 9
    Points
    9
    Par défaut
    Merci pour ta réponse. Je vais tester immédiatement


    édit : Çà fonctionne parfaitement ! Merci

    Par contre si je peux abuser de ta gentillesse j'aurai plutot aimé afficher le resultat sans devoir utiliser le Select ( afficher le nombre d imprimante directement )

  4. #4
    Expert éminent sénior
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 092
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 092
    Points : 16 605
    Points
    16 605
    Par défaut
    Salut

    Pour le nombre, avant de fermer la connexion et le RecorSet, MsgBox Sqlresult.Fields.Count ou
    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
    <HTML>
    	<HEAD>
    	<TITLE> Un HTA </TITLE>
    		<HTA:APPLICATION
             ApplicationName = "essais"
             Id="essais"
    		 BorderStyle="normal"
    		>
    	</HEAD>
    	<SCRIPT language="VBScript" type="text/VBScript" >
    		Sub Window_Onload()
    			'Number.outerText="5" pour confirmer l'essais
    			Number.outerText=Sqlresult.Fields.Count
    		End Sub
    	</SCRIPT>
    	<Body>
    		<DIV Id="Number"> </DIV>
    	</Body>
    </HTML>

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Février 2012
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 13
    Points : 9
    Points
    9
    Par défaut
    Je me suis mal exprimé désolé

    En fait j'aimerai éviter d'utiliser l'ascenseur pour pouvoir voir le nom de mes imprimantes, si possible les afficher directement sans devoir les sélectionner.

    En tout cas encore merci pour ton aide

  6. #6
    Expert éminent sénior
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 092
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 092
    Points : 16 605
    Points
    16 605
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <SELECT name="LstImpr" Id="LstImpr" disabled="disabled" SIZE=4 > </SELECT>
    par contre je ne sais pas si ce paramétré peut être actualisé dynamiquement dans ta Sub VBScript
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
        If V = 0 Then
            Set oOption = window.Document.createElement("OPTION")
            oOption.Text = "Auncune IMPRIMANTE disponnible"
            oOption.Value = V
            LstImpr.Add (oOption)
            LstImpr.disabled = "disabled"
            Else
            LstImpr.disabled = ""
    		'MsgBox V & " imprimante(s) trouvée(s)"
            LstImpr.SIZE = V+1 ' <--------------------------- ICI ???
        End If

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Février 2012
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 13
    Points : 9
    Points
    9
    Par défaut
    Que dire de plus à part : Tu es un Chef Francis !
    Je tagg en Résolu car c'est exactement ce qu'il me fallait
    Merci à toi

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

Discussions similaires

  1. [MySQL-5.6] Exporter les résultats d'une requête SQL dans un fichier .sql ou .txt
    Par js8bleu dans le forum Requêtes
    Réponses: 1
    Dernier message: 17/09/2013, 10h13
  2. Réponses: 1
    Dernier message: 15/03/2012, 09h56
  3. Réponses: 5
    Dernier message: 20/03/2007, 17h55
  4. [SQL-VBA] récupérer le résultat d'une requète SQL dans un fichier txt
    Par djidanestribbal dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 13/02/2007, 15h25
  5. récupérer le résultat d'une requête sql dans un edit
    Par bertrand_declerck dans le forum Bases de données
    Réponses: 3
    Dernier message: 28/07/2005, 14h07

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