Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1671 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Manipuler une BdD (Access ou SQL) en VBS

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Manipuler une BdD (Access ou SQL) en VBS

n°1782594
madmartiga​n
Desperate Houseman
Posté le 04-09-2008 à 14:55:41  profilanswer
 

Salut,
 
 
je suis en train d'écrire un script qui recense tous les PC de mon réseau et inscrit les infos dans une DB.
 
Le script doit pouvoir être lancé plusieurs fois successivement sans créer de doublons.
 
Comme je découvre en ce moment même les joies (et surtout les doutes) de la manipulation d'une DB, j'aurais besoin que vous m'aidiez un peu.
 
Donc, voici comment je procède :
 

Dim obj_ConnectADODB
Set obj_ConnectADODB = CreateObject("ADODB.Connection" )


Je commence bien sur par créer mon objet "Connexion ADODB" pour disposer des outils de connexion.

fsFichierAccess = CurrentPath & "ComputerList.mdb"


Cette ligne me permet de selectionner le fichier MDB qui va bien grace à une fonction à moi "CurrentPath" qui renvoie le chemin d'où le VBS est lancé.

str_ACCESSConnectCmd = "driver={Microsoft Access Driver (*.mdb)};DBQ=" & fsFichierAccess


Cette ligne crée la commande de connexion

obj_ConnectADODB.Open str_ACCESSConnectCmd,"",""


Ca y est, je suis connecté.

Set obj_DBACCESS_tbl_ComputerList = CreateObject("ADODB.Recordset" )


Je crée un RecordSet, autrement dit, un objet capable de contenir tout ou partie de ma DB.

obj_DBACCESS_tbl_ComputerList.Open "SELECT * FROM tbl_ComputerList", obj_ConnectADODB, DBOpenStatic, DBLockOptimistic


Je remplis mon RecordSet via la commande SQL : SELECT * FROM tbl_ComputerList, donc tous les éléments de la table tbl_ComputerList
 
...
 
La table tbl_ComputerList se décompose en plusieurs colones :
ComputerName | IPAddress | OU | OSVersion | LastSeen
 
Pour l'instant, je sais ajouter une nouvelle ligne :  

obj_DBACCESS_tbl_ComputerList.AddNew


Ensuite, sur cette ligne déposer les valeurs  

obj_DBACCESS_tbl_ComputerList("ComputerName" ) = str_ComputerName
obj_DBACCESS_tbl_ComputerList("LastSeen" )     = Date


 
MAIS,
 
Je ne comprend pas comment  
1 - Retrouver rapidement les valeurs IPAddress, OSVersion, etc etc en connaissant seulement le ComputerName (qui est (en principe) unique)
2 - Modifier l'une de ces valeurs
 
Sans me parser toute la DB à chaque fois.
 
Je pressent qu'il faut utiliser de la commande SQL du genre (pour la deuxième question)
 

SQLCmd = "UPDATE ... SET ... = ..."
obj_DBACCESS_tbl_ComputerList.Execute SQLCmd


 
Mais je ne comprend pas comment se définissent les paramètres :
- sélection de la colone "ComputerName"
- Quel Nom rechercher
 =
- sélection de la colone du champ à modifier
- Nouvelle valeur.
 
Alors, quelqu'un peut m'expliquer ça ???


---------------
Mieux vaut fermer sa gueule et passer pour un con, plutot que de l'ouvrir, et montrer qu'on l'est...
mood
Publicité
Posté le 04-09-2008 à 14:55:41  profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Manipuler une BdD (Access ou SQL) en VBS

 

Sujets relatifs
SQL reporting services, exporter rapport => XLSImport Access fichier 'txt' à modifier via macro ...
[VBS] Script AD, ne pas afficher les erreursChanger des propriétés d'un graphique Access en VBA
[VBA / ACCESS] ajouter à une liste multi-valuée[Resolu][C#, ASP.net / access] problème requete update
[SQL Server]Concaténation des résultats d'une requête SQL[SQL] Créer une base/une table
applet&html&access[VBS]Indentation d'un fichier XML
Plus de sujets relatifs à : Manipuler une BdD (Access ou SQL) en VBS


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR