Bonjour
J'ai bien réussi à récupérer la liste des connectés à ma base réseau mais j'aimerai les récuperer dans une requete pour pouvoir "traduire" le nom de l'ordinateur (style H04AREA112) par son emplacement (Ordinateur de la salle 2). J'ai adapté le code de la FAQ qui me renvoie la liste concaténée et séparée de ";".
J'ai créé une requête "R_ListConnectes" avec la table T_Ordinateurs contenant le champ "Ordinateur" (Le vrai nom du PC) et "Site" (Localise le PC)
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
61 Option Compare Database Option Explicit Private Type EnrUsager ElemPC(1 To 32) As Byte ' Les octets 1 - 32 contiennent le nom du PC, remplissage par la valeur Null End Type Public Function ListConnecte() As String On Error GoTo Err_ListConnecte Dim intFichierLDB As Integer, intDébut As Integer, i As Integer Dim strChemin As String, strTest As String Dim sLogStr As String, strConnexions As String Dim strNomPC As String, strNomUsager As String strChemin = "\\Chu06nas1\n06ane2\CCV database_be.mdb" strTest = Dir(strChemin) intFichierLDB = FreeFile Open strChemin For Binary Access Read Shared As intFichierLDB Do While Not EOF(intFichierLDB) Get intFichierLDB, , rUsager With rUsager i = 1 strNomPC = "" While .ElemPC(i) <> 0 strNomPC = strNomPC & Chr(.ElemPC(i)) i = i + 1 Wend End With sLogStr = strNomPC If InStr(strConnexions, sLogStr) = 0 Then strConnexions = strConnexions & sLogStr & ";" End If Loop Close intFichierLDB ListConnecte = strConnexions Exit_ListConnecte: Exit Function Err_ListConnecte: If Err = 68 Then Msgbox "Le fichier " & strChemin & " n'existe pas", vbCritical, "Erreur chemin d'accès" Else Msgbox "Erreur: " & Err.Number & vbCrLf & Err.Description Close intFichierLDB End If Resume Exit_ListConnecte End Function
Je ne récupère que les nom séparés de ";"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 SELECT T_ordinateurs.Site, ListConnecte() AS liste_PC FROM T_ordinateurs;
Merci pour votre aide
Partager