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

Fermé
Alexandre - 1 juin 2007 à 14:24
 Alexandre - 11 juin 2007 à 09:51
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?
A voir également:

8 réponses

Utilisateur anonyme
1 juin 2007 à 18:49
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
0
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 ^^''
0
Repondez moi svp Mr Lupin vous etes le seul à pouvoir m'aider actuellement...

Cordialement

Alex
0
Utilisateur anonyme
5 juin 2007 à 23:56
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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
0
Utilisateur anonyme
6 juin 2007 à 13:36
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
0
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
0
Lupin sais tu comment faire pour importer ces données textes dans access mais de manière automatiques stp?

Alex
0