Précédent   Forum des professionnels en informatique > Autres langages > Général Visual Basic 6 et VBScript > VBScript
VBScript Le forum d'entraide sur VBScript. Avant de poster -> La FAQ VBScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 24/01/2012, 09h57   #1
Invité de passage
 
Homme
etudiant en informatique
Inscription : avril 2011
Messages : 7
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : etudiant en informatique
Secteur : High Tech - Matériel informatique

Informations forums :
Inscription : avril 2011
Messages : 7
Points : 3
Points : 3
Par défaut mettre le résultat d'une requete dans une combobox

Bonjour, Voila j'ai un soucis pour récupéré les contacts que j'ai sur ma base de donnée. En faite je souhaiterai que tout mes contacts présent sur ma base de donnée puisse être récupéré dans une combobox.
Mais la je bloque cela me dit qu'une variable de ma boucle for n'est pas valide.


Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Sub Window_OnLoad
	Set objConnection = CreateObject("ADODB.Connection")
	Set objRecordset = CreateObject("ADODB.Recordset")
	objConnection.Open "DRIVER={MySql ODBC 5.1 Driver};SERVER=localhost;DATABASE=nom base;UID=*****;PASSWORD=password;"
	strSQLQuery = "SELECT nom FROM personne"
	objRecordset.Open strSQLQuery , objConnection
 
	For Each objRecordset.Fields(nom) In personne
		Set objOption = Document.createElement("OPTION")
        objOption.Text = objRecordset.Fields.Description
		personnel.Add(objOption)
	Next
 
	objRecordset.Close
	objConnection.Close
End Sub

que je fais correspondre dans mon hta à:

Code :
<select name="personnel" id="personnel"/></select>
je ne comprend pas ou est mon erreur donc si vous avez une idée

PS: je me suis basé sur le code suivant:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Sub NetName_OnSubLoad
	strComputer = "."
 
	Set objWMIService = GetObject("winmgmts:" _
    	& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
 
	Set colAdapters = objWMIService.ExecQuery _
    	("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True")
	For Each objAdapter in colAdapters
        Set objOption = Document.createElement("OPTION")
        objOption.Text = objAdapter.Description
        objOption.Value = objAdapter.Description
        NetName.Add(objOption)
	Next
 
    Name = NetName.Value
    Dim NCListing
    Set NCListing = New NetworkCardListing
	NCListing.NetGetIP(Name)
End Sub
benjamindu42 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2012, 11h05   #2
Membre expérimenté
 
Avatar de nsanabi
 
Homme nabil nayd
Inscription : septembre 2003
Messages : 566
Détails du profil
Informations personnelles :
Nom : Homme nabil nayd

Informations forums :
Inscription : septembre 2003
Messages : 566
Points : 596
Points : 596
Envoyer un message via MSN à nsanabi
je m'excuse si je sors du sujet : avec du vbscript on peut accéder à des DB?? (endehors du vbscript sur une page asp )
nsanabi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2012, 11h33   #3
Membre confirmé
 
Inscription : octobre 2011
Messages : 188
Détails du profil
Informations forums :
Inscription : octobre 2011
Messages : 188
Points : 287
Points : 287
[0] D'abord, élément select-one dans html n'est pas tout à fait un combobox. Mais, brief...

[1] Pour identifier l'objet personnel, je prefèrerais beaucoup mieux d'une façon explicit. Je sais vous pouvez faire comme vous faite en IE, mais je ne regarde avec un bon oeil; plutôt le faire proprement à la façon html.
Code :
1
2
3
4
 
set personnel=document.getElementById("personnel")
'ou
'set personnel=document.forms(0).personnel
[2] Le code central devrait s'écrire comme ça.
Code :
1
2
3
4
5
6
7
8
 
            do while not objRecordset.eof
               Set objOption = Document.createElement("OPTION")
               objOption.Text = objRecordset.Fields("nom").value
               objOption.value = objRecordset.Fields("nom").value
               personnel.Add(objOption)
               objRecordset.movenext
            loop
tsuji est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2012, 11h38   #4
Invité de passage
 
Homme
etudiant en informatique
Inscription : avril 2011
Messages : 7
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : etudiant en informatique
Secteur : High Tech - Matériel informatique

Informations forums :
Inscription : avril 2011
Messages : 7
Points : 3
Points : 3
Citation:
Envoyé par nsanabi Voir le message
je m'excuse si je sors du sujet : avec du vbscript on peut accéder à des DB?? (endehors du vbscript sur une page asp )
oui il est possible d’accéder a une DB en VBScript.
Si tu as besoin d'aide n'hésite pas.
benjamindu42 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2012, 11h51   #5
Invité de passage
 
Homme
etudiant en informatique
Inscription : avril 2011
Messages : 7
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : etudiant en informatique
Secteur : High Tech - Matériel informatique

Informations forums :
Inscription : avril 2011
Messages : 7
Points : 3
Points : 3
Merci encore tsuji, cela faisai un paquet d'heure que je cherchais et la je ne voyais plus trop se qui n'allais pas.
Finalement je me compliquai vraiment la vie.

Je n'ai ps compris l'interet de ce code ci:
Citation:
Envoyé par tsuji Voir le message
Code :
1
2
3
4
 
set personnel=document.getElementById("personnel")
'ou
'set personnel=document.forms(0).personnel
C'est pourquoi je ne l'ai pas réutilisé.

Citation:
Envoyé par tsuji Voir le message
Code :
1
2
3
4
5
6
7
8
 
            do while not objRecordset.eof
               Set objOption = Document.createElement("OPTION")
               objOption.Text = objRecordset.Fields("nom").value
               objOption.value = objRecordset.Fields("nom").value
               personnel.Add(objOption)
               objRecordset.movenext
            loop
Par contre le code fonctionne niquel, je l'ai adapter à mes besoin puisque
objOption.value doit correspondre a un numero de fax.
En tout cas cela fonctionne a merveille.

Merci donc pour tout, mon developpement est donc fini pour la partie VBScript ( enfin jusqu'a ce que mon patron me demande plus de fonctionnalité).
Je vais donc maintenant m'attelé à la création d'un executable pour l'installation.

Merci tsuji
benjamindu42 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/01/2012, 11h08   #6
Membre expérimenté
 
Avatar de nsanabi
 
Homme nabil nayd
Inscription : septembre 2003
Messages : 566
Détails du profil
Informations personnelles :
Nom : Homme nabil nayd

Informations forums :
Inscription : septembre 2003
Messages : 566
Points : 596
Points : 596
Envoyer un message via MSN à nsanabi
Merci Benjamin
à mes connaissance le code vbscript est exécuté coté client, le seule vbscript qui pourra utiliser des ressources serveurs (comme une base de données) est celui qu'on met dans des pages asp (plus d'actualité maintenant avec asp.net).

Comment le code vbs d'une page html qu'on affiche sur le navigateur d'un client pourra t il accéder à un serveur de BD ..?? Je trouve cela juste incohérent
nsanabi est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h23.


 
 
 
 
Partenaires

Hébergement Web