konto usunięte

Temat: konwersja adresu na UNC

Witam,

potrzebuję ustawić funkcję dodawania plików do rekordów w Accessie. Aby nie obciążać bazy pomyślałem, że lepiej zamiast robienia załączników, wklejać hiperłącza do folderów na dyskach sieciowych, do których będą wrzucane pliki- jeden rekord, jeden folder.

Procedura jest taka:
1. Użytkownik wkleja w InputBox adres do folderu, który kopiuje z paska adresu explorera.
2. Klika OK, Access konwertuje adres na UNC i wstawia go w polu hiperłącza.

Sprawdziłem kod ze strony microsoft, ale jest to tylko półprodukt- zwraca adres dysku, ale nie da nim skonwertować adresu folderu. Ma ktoś pomysł, jak to przerobić?

   ' 32-bit Function version.
' Enter this declaration on a single line.
Declare Function WNetGetConnection32 Lib "MPR.DLL" Alias _
"WNetGetConnectionA" (ByVal lpszLocalName As String, ByVal _
lpszRemoteName As String, lSize As Long) As Long

' 32-bit declarations:
Dim lpszRemoteName As String
Dim lSize As Long

' Use for the return value of WNetGetConnection() API.
Const NO_ERROR As Long = 0

' The size used for the string buffer. Adjust this if you
' need a larger buffer.
Const lBUFFER_SIZE As Long = 255

Sub GetNetPath()

' Prompt the user to type the mapped drive letter.
DriveLetter = UCase(InputBox("Enter Drive Letter of Your Network" & _
"Connection." & Chr(10) & "i.e. F (do not enter a colon)"))

' Add a colon to the drive letter entered.
DriveLetter = DriveLetter & ":"

' Specifies the size in characters of the buffer.
cbRemoteName = lBUFFER_SIZE

' Prepare a string variable by padding spaces.
lpszRemoteName = lpszRemoteName & Space(lBUFFER_SIZE)

' Return the UNC path (\\Server\Share).
lStatus& = WNetGetConnection32(DriveLetter, lpszRemoteName, _
cbRemoteName)

' Verify that the WNetGetConnection() succeeded. WNetGetConnection()
' returns 0 (NO_ERROR) if it successfully retrieves the UNC path.
If lStatus& = NO_ERROR Then

' Display the UNC path.
MsgBox lpszRemoteName, vbInformation

Else
' Unable to obtain the UNC path.
MsgBox "Unable to obtain the UNC path.", vbInformation
End If

End Sub