Imprimir página | Cerrar ventana

Problema acceso a carpeta compartida en servidor

Impreso de: Foro de Access y VBA
Categoría: Access y VBA
Nombre del foro: Access y VBA
Descripción del foro: Foro de programacion en Access (Con código y sin código)
URL: http://www.mvp-access.com/foro/forum_posts.asp?TID=84851
Fecha de impresión: 20/Abril/2024 a las 02:07


Tema: Problema acceso a carpeta compartida en servidor
Publicado por: manolochantada
Asunto: Problema acceso a carpeta compartida en servidor
Fecha de publicación: 24/Noviembre/2019 a las 17:57
Saludos a todos.
Estoy intentando desde vba para access establecer una conexión a una carpeta compartida de un servidor Linux. Brujuleando por la red he encontrado algo que funciona parcialmente. Os pongo el código:
Option Compare Database
Function Establecer_Conexion()
 Dim NomeLocal As String
 Dim NomeRed As String
 Dim usuario As Variant
 Dim Password As Variant
 NomeLocal = "" 'Mapeamos sin asignar letra. Si quixeramos poder?amos por por ex. Z:
 NomeRed = "\\servidor\carpeta"
 usuario = "prueba"
 Password = "1234"
 If Mapear_Unidad_De_Red(NomeLocal, NomeRed, usuario, Password) Then
    Aviso = MsgBox("CONEXION A SERVIDOR CORRECTA", vbOKCancel, "ATENCI?N")
 Else
    Aviso = MsgBox("ERROR DE CONEXION A SERVIDOR", vbOKCancel, "ERROR")
 End If
End Function
Function Mapear_Unidad_De_Red(LocalName As String, RemoteName As String, Optional UserName As Variant, Optional Password As Variant) As Boolean
'MANEJADOR DE ERRORES PARA LA FUNCI?N
On Error GoTo ErrFunction
Dim obj_Wsh As WshNetwork
On Local Error Resume Next
'NUEVO OBJETO WshNetwork
Set obj_Wsh = New WshNetwork
'VERIFICAR LOS PARAMETROS DE USUARIO Y CONTRASE?A
If Not (IsMissing(UserName) And _
             IsMissing(Password)) And _
            txtUsuario <> vbNullString And _
             txtPassword <> vbNullString Then
    obj_Wsh.MapNetworkDrive LocalName, RemoteName, , UserName, Password
Else
    obj_Wsh.MapNetworkDrive LocalName, RemoteName
End If
Select Case Err.Number
    Case 0 'NO HUBO ERROR
    Mapear_Unidad_De_Red = True
    'ELIMINA LA REFERENCIA
    Set obj_Wsh = Nothing
    Exit Function
    Case -2147024829
        MsgBox " El recurso de red no existe ", vbCritical
    Case -2147024811
        MsgBox " El recurso de red ya est? mapeado ", vbCritical
    Case -2147022646
        MsgBox " error: Verifique si el nombre de " & "la unidad es correcto ", vbCritical
    Case Else
       'MsgBox "Nombre de usuario o password incorrecto", vbCritical
    End Select
    Mapear_Unidad_De_Red = False
    'ELIMINA LA REFERENCIA
    Set obj_Wsh = Nothing
Exit Function
ErrFunction:
    MsgBox Err.Description
    'ELIMINA LA REFERENCIA
    Set obj_Wsh = Nothing
End Function

El problema que me plantea, es que si pongo las credenciales manualmente a través de Windows, luego puedo conectarme y me valida, pero si intento hacerlo desde la rutina, no me valida las credenciales. Alguna sugerencia?

Mil gracias y un saludo:
Manolo.




Imprimir página | Cerrar ventana