Newsgroup: it.comp.appl.access
Titolo: Path del Database

Ciao a tutti,
c'è un modo per sapere il percorso completo del file del database tramite
VB di Access?
Grazie mille
Lupin
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 Lupin
Ti posto la funzione che uso io, anche se non l'ho fatta io presumo che
utilizzi le API di windows tramite il loro ALIAS.
Dacci un occhio.
Altre a restituire il percorso del file ti da anche il numero seriale del
HDD e relativa ettichetta di volume.
************************inizio************
Private Declare Function GetVolumeInformation Lib "kernel32" _
   Alias "GetVolumeInformationA" _
  (ByVal lpRootPathName As String, _
   ByVal lpVolumeNameBuffer As String, _
   ByVal nVolumeNameSize As Long, _
   lpVolumeSerialNumber As Long, _
   lpMaximumComponentLength As Long, _
   lpFileSystemFlags As Long, _
   ByVal lpFileSystemNameBuffer As String, _
   ByVal nFileSystemNameSize As Long) As Long
Private Sub rgbGetVolume(PathName As String, _
                         DrvVolumeName As String, _
                         DrvSerialNo As String)
  'create working variables
  'to keep it simple, use dummy variables for info
  'we're not interested in right now
   Dim r As Long
   Dim pos As Integer
   Dim hword As Long
   Dim HiHexStr As String
   Dim lword As Long
   Dim LoHexStr As String
   Dim VolumeSN As Long
   Dim MaxFNLen As Long
   Dim UnusedStr As String
   Dim UnusedVal1 As Long
   Dim UnusedVal2 As Long
  'pad the strings
   DrvVolumeName = Space$(14)
   UnusedStr = Space$(32)
  'do what it says
   r = GetVolumeInformation(PathName, _
                            DrvVolumeName, _
                            Len(DrvVolumeName), _
                            VolumeSN&, _
                            UnusedVal1, UnusedVal2, _
                            UnusedStr, Len(UnusedStr))
  'error check
   If r = 0 Then Exit Sub
  'determine the volume label
   pos = InStr(DrvVolumeName, Chr$(0))
   If pos Then DrvVolumeName = Left$(DrvVolumeName, pos - 1)
   If Len(Trim$(DrvVolumeName)) = 0 Then DrvVolumeName = "(no label)"
  'determine the drive volume id
   hword = HiWord(VolumeSN)
   lword = LoWord(VolumeSN)
   HiHexStr = Format$(Hex(hword), "0000")
   LoHexStr = Format$(Hex(lword), "0000")
   DrvSerialNo = HiHexStr & "-" & LoHexStr
End Sub
Private Function HiWord(dw As Long) As Integer
    HiWord = (dw And &HFFFF0000) \ &H10000
End Function
Private Function LoWord(dw As Long) As Integer
    If dw And &H8000& Then
        LoWord = dw Or &HFFFF0000
    Else
        LoWord = dw And &HFFFF&
    End If
End Function
'--end block--
********************fine**************************
Con simpatia.
Marco.

 
  Questa è la funzione che compare da qualche parte nel sito 
comune (
http://www.sitocomune.com/
):
Public Function PathCorrente() As String
Dim sTmp As String, iI As Integer, iP As Integer
    PathCorrente = Left$(CurrentDb.name, _
    	    	    	    	    	Len(CurrentDb.name) - 4)
    ' Oppure Left(CurrentDb.name, Len(CurrentDb.name) - _
                                  Len(Dir(CurrentDb.name)))
    iI = InStr(1, PathCorrente, "\")
    Do Until iI = 0
        iP = iI
        iI = InStr(iI + 1, PathCorrente, "\")
    Loop
    PathCorrente = Left$(PathCorrente, iP - 1)
End Function
  Ciao.
-- 
http://digilander.libero.it/SimonenomiS/

 Marco.
Aiuto......
grazie davvero per l'aiuto, ma fortunatamente ho trovato questa:
CurrentProject.FullName
scusate se č poco....


Richiami il tutto poi tramite una procedura simile a questa,
Dim PathName As String
Dim DrvVolumeName As String
Dim DrvSerialNo As String
PathName$ = "c:\"
rgbGetVolume PathName, DrvVolumeName, DrvSerialNo
Ciao di nuovo.
Marco.   :-)

Lupin
Application.CurrentProject.Path
Saluti.
Emanuele.

 c'č un modo per sapere il percorso completo del file del database tramite

E' fantastico leggere i post e vedere che si danno consigli cosě
esageratamente
diversi senza nemmeno che chi ha bisogno spieghi cosa sta usando...????
USI A2K, A97 AXP o cosa...???
Mah.........................................................................
!!
@Alex

 ha scritto nel messaggio
news:atiy9.110$Zn2....@twister1.libero.it...

Marco, un Kilometro di API per ricavare la PATH del CurrentProject.....?????
Dai..............................
Ciao.
@Alex.

Dai..............................
Alex, 124 righe di post per dire questo?????
Dai..............................
;-P
--
lorenzo coronati
---

 lorenzo coronati
Sigh.. Sigh... Sigh....!!
Accuso e faccio tesoro...!
Ciao @Alex.
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 Private Declare Function GetVolumeInformation Lib "kernel32" _
cut
seguono centinaia di righe di codice
scusa ma currentproject.path non tu piaceva (adp)?
(o     = Left(Currentdb.Name, Len(Currentdb.Name) -
Len(Dir(Currentdb.Name))) nel caso di un mdb)
Sib


scusa, ma le risposte di Emyr e @Alex (a parte il "Kilometro" di quoting), non
ti piacevano? :-)
Ciao. Claudio.


Scusate , ma cxredevo di dare una mano.
Non avrei mai e poi mai pensato si ironizzasse sul fatto di 124 righe di
codice che ho postato per ottenere un qualcosa che si otteneva con una riga.
Il fatto sta' che non conoscevo la funzione e in più cercavo di dare una
mano.
Oltretutto, il codice da me postato permetteva di ricavare lavel e volume
dell'HDD.
Sicuramente mi direte che lo fate con 3 righe , ma io conoscevo questa
soluzione e credendo di fare un gesto buono e umile ho postato la mia
soluzione !!
L'ho sempre detto che qui' ci sono espertoni di ACCESS !!!
Con simpatia,
Marco.

 mano.
... cut
E perché rispondi a me? Io rispondevo al buon Sib che nonostante le due
risposte già date ribadiva nuovamente il concetto...
Forse ti sei perso nella sequenza del thread.
Ciao. Claudio.

 ---
inutile e perche'?
io leggo solo quello che scrive @Alex e' il caso di riproporlo

--
a.cara

 Ciao. Claudio.
Spiritoso :-)
Comunque, come saprai, talvolta le risposte degli altri non compaiono subito
e de me ancora non spuntavano.
Sib

 e de me ancora non spuntavano.
Ok, ok...
chiedo venia e ti perdono :-)
Ciao. Claudio.