[VBScript] données.de.NetworkView.base.Access

Bonjour ,
Je souhaite réaliser un script visant a automatiser le transfert des resultats d'un scan de NetworkView a ma base de registre Access.
Seulement je n'ai que la partie desauvegarde dans access mais je ne sais pas comment m'y prendre pour extraire les info de mon fichier NetworkView.

Quelqu'un ayant connu ce problème ou sachant comment résoudre le problème pourrait m'éclairer svp?
Configuration: Windows XP
Firefox 2.0.0.3

8 réponses

  1. Bonjour,

    Pour vous aider, il me faudrait certaines informations ...

    Quel est le type du fichier NetworkView ?

    Est-ce un fichier texte standard ?

    Avez-vous des notions de VBS ?

    Lupin
    1. Bonjour,

      C'est un fichier standard séparé avec des points virgule ( ; )
      Mes notions en VBS sont trés limités c'est pour cela que je souhaiterais des explications svp si le tps vous en donne l'occasion ;)
      Je suis actuellement en stage en entreprise j'ai 19ans et on m'a demandé de regarder pour faire le lien entre networkview et access.
      Mais le but est de comprendre...

      Merci d'avance^^''

      NB : J-C Bellamy est un artiste je suis d'accord avec vous mais je vais me renseigner régulièrement la bas depuis une bonne dizaines de mois mais je n'arrive encore pas a conclure avec ses informations ^^''
      1. Repondez moi svp Mr Lupin vous etes le seul à pouvoir m'aider actuellement...

        Cordialement

        Alex
        1. Bonjour,

          Alors, voici ...

          si tu veux piloter Access depuis le VBS pour importer le fichier ...

          le plus simple est de trouver quelque chose comme :

          Sub ImportInAccess()
          
            DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, _
                  "TableAccess", "C:\My Document\FichierExcel.xls", False
          
          End Sub
          '
          


          je n'ai pas testé, s'il accepte un type CSV, ce serait un bon
          début si tu pouvais testé cela.

          sinon, voici le code complet d'un script que j'ai écrit et qui
          lit l'arborescence d'un disque/répertoire en l'envoyant
          dans une BD access existante.

          '=========================================='
          ' Fichier Source VBScript
          '
          ' NOM DU FICHIER : <Access.vbs> 	ARBORESCENCE SOUS ACCESS
          '
          ' AUTEUR : Lupin
          ' DATE DE CRÉATION  : 2002-12-24
          '
          ' COMMENT: <Compiler dans un fichier ACCESS toutes les informations 
          '	    des fichiers d'un lecteur
          '=========================================='
          'Accèss au dossier d'un disque
          
          Const adOpenStatic = 3
          Const adLockOptimistic = 3
          Const adUseClient = 3
          
          Const MoteurDeRecherche = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
          
          '
          ' Déclaration des variables de la base de données ACCESS
          '
          Dim oFS
          
          Dim objConnection
          Dim objRecordset
          Dim AccesFichier
          
          Dim NumCD
          Dim NomCD
          Dim NomLog
          Dim NomApp
          
          
          '(37) Debut du programme
          
              On Error Resume Next
          
              Flag = False
          
              msgTexte = "Entrez le numéro du CDROM à lire : " & vbCrLf & "( ex.: CD1001 )"
              NumCD = InputBox(msgTexte, "Saisie du numéro du CDROM à lire", "CDR10010")
              msgTexte = "Entrez le nom du CDROM à lire : " & vbCrLf & "( ex.: WINDOWS XP PRO )"
              NomCD = InputBox(msgTexte, "Saisie du nom du CDROM à lire", "SOURCES #1")
              msgTexte = "Entrez le nom du logiciel : " & vbCrLf & "( ex.: Microsofrd )"
              NomLog = InputBox(msgTexte, "Saisie du fichier à créer", "DOCUMENTS")
              msgTexte = "Entrez le nom de l'application : " & vbCrLf & "(ex.: Microsoft Word)"
              NomApp = InputBox(msgTexte, "Saisie du fichier à créer", "DONNÉES")
              msgTexte = "Entrez le nom du fichier : " & vbCrLf & "(ex.: C:\CDROM.MDB)"
              Fichier = InputBox(msgTexte, "Saisie du fichier à créer", "K:\CDROM.MDB")
              Set objConnection = CreateObject("ADODB.Connection")
              Set objRecordset = CreateObject("ADODB.Recordset")
              Set oFS = CreateObject("Scripting.FileSystemObject")
              Disque = Mid(Fichier, 1, 2)
              Set oLecteur = oFS.GetDrive(Disque)
              If (oLecteur.IsReady) Then
                  AccesFichier = MoteurDeRecherche & Fichier
                  objConnection.Open AccesFichier
                  objRecordset.Open "SELECT * FROM LibrairieCDROM" , objConnection, adOpenStatic, adLockOptimistic
                  Lecteur = InputBox("Entrez la lettre du lecteur à lire :", "Saisie du lecteur à lire","H")
                  Set oLecteur = oFS.GetDrive(Lecteur)
                  If (oLecteur.IsReady) Then
                       Call Principal(Fichier)
                  Else
                      EnvoiMessage (0)
                  End If
              Else
                  EnvoiMessage (0)
              End If
          WScript.Quit(0)
          '
          '=========================================='
          Sub Principal(ByVal nomFichier)
          
          '    On Error Resume Next
          
          
              If (oLecteur.IsReady) Then
          
                  'Lecture des fichiers dans la racine du lecteur
                  If (oLecteur.RootFolder.Files.Count > 0) Then
                      For Each oFichier In oLecteur.RootFolder.Files
          	objRecordset.AddNew
          	objRecordset("Nom Fichier") = oFichier.Name
          	objRecordset("Grandeur") = oFichier.Size
          	objRecordset("Chemin d'accès") = oFichier.Path
          	objRecordset("Date Créé") = oFichier.DateCreated
          	objRecordset("Date Modifié") = oFichier.DateLastModified
          	objRecordset("Nom court") = oFichier.ShortName
          	objRecordset("Chemin court") = oFichier.ShortPath
          	Call ChercheAttributs (oFichier,CACHE,Reponse)
          	objRecordset("Attr CACHÉ") = Reponse
          	Call ChercheAttributs (oFichier,SYSTEME,Reponse)
          	objRecordset("Attr SYSTÈME") = Reponse
          	Call ChercheAttributs (oFichier,ARCHIVE,Reponse)
          	objRecordset("Attr ARCHIVE") = Reponse
          	Call ChercheAttributs (oFichier,LECTURE,Reponse)
          	objRecordset("Attr LECTURE SEULE") = Reponse
          	Call ChercheAttributs (oFichier,RACCOURCI,Reponse)
          	objRecordset("Attr RACCOURCI") = Reponse
          	Call ChercheAttributs (oFichier,COMPRESSE,Reponse)
          	objRecordset("Attr COMPRESSÉ") = Reponse
          	objRecordset("Numéro CDROM") = NumCD
          	objRecordset("Nom CDROM") = NomCD
          	objRecordset("Nom Logiciel") = NomLog
          	objRecordset("Nom Application") = NomApp
          	objRecordset.Update
                         Next
                  End If
                      	
                  'Lecture des sous-répertoires dans le lecteur
          
                  For Each oRepertoire In oLecteur.RootFolder.SubFolders
          	Call ListeFichier(oRepertoire)
                  Next
              End If
          
              objConnection.Close
          
          End Sub
          '
          '=========================================='
          Sub ListeFichier(ByVal oRepertoire)
          
              Dim oDossier
              Dim Reponse
          
              On Error Resume Next
          
              If (oRepertoire.Files.Count > 0) Then
                  For Each oFichier In oRepertoire.Files
                      objRecordset.AddNew
                      objRecordset("Nom Fichier") = oFichier.Name
                      objRecordset("Grandeur") = oFichier.Size
                      objRecordset("Chemin d'accès") = oFichier.Path
                      objRecordset("Date Créé") = oFichier.DateCreated
                      objRecordset("Date Modifié") = oFichier.DateLastModified
                      objRecordset("Nom court") = oFichier.ShortName
                      objRecordset("Chemin court") = oFichier.ShortPath
                     Call ChercheAttributs (oFichier,CACHE,Reponse)
                     objRecordset("Attr CACHÉ") = Reponse
                     Call ChercheAttributs (oFichier,SYSTEME,Reponse)
                     objRecordset("Attr SYSTÈME") = Reponse
                     Call ChercheAttributs (oFichier,ARCHIVE,Reponse)
                     objRecordset("Attr ARCHIVE") = Reponse
                     Call ChercheAttributs (oFichier,LECTURE,Reponse)
                     objRecordset("Attr LECTURE SEULE") = Reponse
                    Call ChercheAttributs (oFichier,RACCOURCI,Reponse)
                    objRecordset("Attr RACCOURCI") = Reponse
                    Call ChercheAttributs (oFichier,COMPRESSE,Reponse)
                    objRecordset("Attr COMPRESSÉ") = Reponse
                    objRecordset("Numéro CDROM") = NumCD
                    objRecordset("Nom CDROM") = NomCD
                    objRecordset("Nom Logiciel") = NomLog
                    objRecordset("Nom Application") = NomApp
                    objRecordset.Update
                 Next
              End If
          
              If (oRepertoire.SubFolders.Count > 0) Then
                  For Each oDossier In oRepertoire.SubFolders
                      Call ListeFichier(oDossier)
                  Next
              End If
                  
          End Sub
          '
          '=========================================='
          Function ChercheAttributs (ByVal oFichier,ByVal Validation, ByRef Reponse)
          
          
              On Error Resume Next
          
              Reponse = "Aucun"
          
              Select Case (Validation)
                  Case (LECTURE)
                       If (oFichier.Attributes AND 1) Then
          	   Reponse = "Activer" 	'Read-only = VRAI
                       Else
          	    Reponse = "Désactiver" 	'Read-only = FAUX
                       End If
          
                  Case (CACHE)
                       If (oFichier.Attributes AND 2) Then
                                   Reponse = "Activer"	'Hidden file = VRAI
                       Else
                                   Reponse = "Désactiver"	'Hidden file = FAUX
                       End If
          
                  Case (SYSTEME)
                       If (oFichier.Attributes AND 4) Then
                                  Reponse = "Activer"		'System file = VRAI
                       Else
                                  Reponse = "Désactiver"	'System file = FAUX
                       End If
          
                   Case (ARCHIVE)
                       If (oFichier.Attributes AND 32) Then
                                 Reponse = "Activer"		'Archive bit = VRAI
                       Else
                                 Reponse = "Désactiver"	'Archive bit = FAUX
                       End If
          
                   Case (RACCOURCI)
                        If (oFichier.Attributes AND 64) Then
                                 Reponse = "Activer"		'ShortCut = VRAI
                        Else
                                 Reponse = "Désactiver"	'ShortCut = FAUX
                        End If
          
                   Case (COMPRESSE)
                        If (oFichier.Attributes AND 2048) Then
                                Reponse = "Activer"	       'Compressed file = VRAI
                        Else
          	Reponse = "Désactiver"   'Compressed file = FAUX
                        End If
          
                    Case Else Reponse = "Aucun"
          	
                End Select
          
          End Function
          '
          '=========================================='
          


          allons y pas a pas, et que veux-tu savoir !

          Lupin
          1. Alors je vais essayer ceci en essayant de comprendre un peu ce language ;)
            Je vais voir ca et je vous redit une fois l'essai terminer ou plutot leS essaiS^^''

            Merci

            Alex
            1. Salut Alex,

              voici un exemple plus simple, d'une simple lecture
              d'un fichier texte localisé dans le même répertoire
              que le fichier vbs.

              '------------------------------------------------------------
              '
              ' Fichier LireFichier.vbs
              '
              ' Écrit par Lupin
              '
              ' Mercredi, le 6 Juin 2007
              '
              '------------------------------------------------------------
              '
                Const cte_Lecture = 1
                Const cte_Nom_Fichier = "Liste.txt"
              
                Dim objFSO, objFichier
                Dim var_Nom_Fichier, var_Texte, var_Compteur
              
                var_Compteur = 0
                var_Nom_Fichier = WScript.ScriptFullName
                var_Nom_Fichier = Left(var_Nom_Fichier, InStrRev(var_Nom_Fichier, "\"))
                var_Nom_Fichier = var_Nom_Fichier & cte_Nom_Fichier
              
                Set objFSO = CreateObject("Scripting.FileSystemObject")
                Set objFichier = objFSO.OpenTextFile(var_Nom_Fichier,cte_Lecture)
              
                While Not objFichier.AtEndOfStream
                  var_Texte = objFichier.ReadLine
                  var_Compteur = ( Var_Compteur + 1 )
                Wend
              
                objFichier.Close
              
                Set objFichier = Nothing
                Set objFSO = Nothing
              
                WScript.Echo var_Compteur & " ligne(s)."
              
              WScript.Quit(0)
              '
              '------------------------------------------------------------
              '
              


              Lupin
              1. Okay merci la lecture marche a ravir il ne me manque plus qu'à ajouter la partie pour transferer tous ca dans access mais c'est ca le plus compliqué;)

                Faudrait-il obligatoirement créer une nouvelle base de données ou je peux rajouter les éléments a ceux deja existants?

                Alex
                1. Lupin sais tu comment faire pour importer ces données textes dans access mais de manière automatiques stp?

                  Alex