Newsgroup: it.comp.appl.access
Titolo: Utenti... Gestione da .ldb

Ciao a tutti,
ho notato che il file .ldb registra tutte le 'presenze' nell'applicazione..
Mi chiedevo, posso in qualche modo 'estrarre' questi dati per potermeli
gestire??
Mi spiego meglio, ho creato un programma di cui sono l'amministratore,
talvolta mi capita di dover sospendere l'esecuzione di tale programma sul pc
'X'.
Attualmente il programma stesso contiene un modulo che mi chiude
l'applicativo sui pc che voglio (facendo un controllo sul nome del PC), però
devo ogni volta andare manualmente ad aprire il file .ldb, spulciare il nome
della macchina su cui voglio chiudere l'applicativo, e poi inserire il dato
in un form specifico del programma.
Posso in qualche altro modo estrarre questi dati direttamente da access???
(magari una volta estratti gestirli tramite una combo)
Grazie
Marco

 ha scritto nel messaggio
news:N1FL9.23874$TC5.7...@twister1.libero.it...

Beh, è un file Testo a tutti gli effetti, quindi creati una ROUTINETTA
che legge il file e separa nome utente e nome macchina........!
Sembra facile, ma in realtà il File.Ldb può non essere corretto, in quanto
viene generato dal primo utente che apre l'applicativo, aggiornato da ogni
ulteriore accesso, ma prova a vedere la sconnessione delgi utenti cosa
provoca, ovviamente non il primo che lo elimina......!!
Non viene aggiornato sul LOGOUT......!!!
Quindi se il tuo scopo è di sapere chi è collegato per fare il LOGOUT
credo devi usare un'altra strada.....!(Es una Tabella Accessi in un DB
accessi)
@Alex.

 accessi)
Un altro motivo per cui preferisco questa strada è il fatto che non serve un
identificativo per accedere all'applicazione, cosi chiunque potrà averne
accesso senza dover digitare una password o un nome utente, almeno in questa
fase dell'applicativo..
Ciao
Pardon, credo di avertelo inviato per mail prima....  excuse me
Marco

 ha scritto nel messaggio
news:T%KL9.25520$Ou4.7...@twister2.libero.it...

Ciao Marco se vuoi un esempiosu come estrarre i nomi utenti dal file LDB
cerca il Thread di Tony Bragagnolo del   27 Nov 2002  con Soggetto:
Controllare chi è Loggato.
Ciao Giorgio.


Ciao, grazie
Marco

 ha scritto nel messaggio
news:I43M9.29080$Ou4.8...@twister2.libero.it...

Ciao Marco ti posto l'esempio che avevo suggerito a Tony.
---------------------------------------------
Ciao Tony, ti posto un esempio di codice per ottenere una stringa con il
nome dei computer name che accedono al DB.
Dim stringa As Variant
Dim Utenti As Variant
Dim Utente As Variant
Dim i As Integer
Dim fs As Object
Dim f As Object
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.OpenTextFile("c:\database.ldb", 1, 0)
stringa = f.Read(640)  'Poniamo di leggere max 640 byte pari a 10 utenti
f.Close
'eseguo un loop per la lettura dei record da 64 Byte
For i = 0 To Len(stringa) / 64 - 1
      Utente = Trim(Mid(stringa, i * 64 + 1, 30))   'nei primi 30 caratteri
del record c'e il computer_name
      Utente = Left(Utente, InStr(Utente, Chr(0)) - 1) 'Filtro il carattere
di fine stringa
      Utenti = Utenti + Utente + vbCrLf  'Lo accodo a Utenti
Next
MsgBox Utenti     'Stampo l'elenco
Set f = Nothing
Set fs = Nothing
Lo svantaggio di questa tecnica č che se tre utenti aprono il database e
successivamente due utenti lo chiudono, la lista č sempre composta da tre
utenti perché il file LDB viene azzerato all'uscita dell'ultimo utente.
Ciao Giorgio

 Ciao Giorgio
Ciao
Marco

 Set f = fs.OpenTextFile("c:\database.ldb", 1, 0)
con
Set f = fs.OpenTextFile(GetAppDir, 1, 0)
Dove GetAppDir č:
Public Function GetAppDir()
    GetAppDir = Left(CurrentDb.Name, Len(CurrentDb.Name) -
Len(Dir(CurrentDb.Name)))
End Function
GetAppDir restituisce la path esatta, ma perche continua perņ a darmi
errore??
Ho anche provato ad inserire un
Dim dir
dir = GetAppDir
e chiaramente
Set f = fs.OpenTextFile(dir, 1, 0)
Tutto con esito negativo!!!
Esiste soluzione???
Grazie, ciao
Marco


Ciao Marco, vista l'ora del tuo post posso comprendere la svista
(naturalmente scherzo).
La tua funzione GetAppDir() restituisce solo il path dell'applicazione (Non
puoi aprire il path per leggerne il contenuto),  devi aprire il file LDB del
database in esame che nel tuo caso è l'applicazione stessa.
Visto che GetAppDir può esserti utile in futuro crea una nuova finzione tipo
.....
Public Function GetAppLDB() as String
    GetAppLDB = Left(CurrentDb.Name, Len(CurrentDb.Name) - 4) + ".LDB"
End Function
In questo modo otterrai il nome del file LDB da aprire.
Ciao Giorgio.

 Ciao Giorgio.
Effettivamente ero un po' andato..
ma che dico andato....     PO'   ;)))))))
Ora gira a meraviglia!!!!!
Grazie e buone feste
Ciao, Marco