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.
|