Bueno estuve haciendo una serie de pruebas y estoy convencido que el conflicto esta con la base de access la carpeta compartida tiene permisos totales para todos los usuarios tanto en la solapa compartir como de seguridad de windows, aca les dejo el codigo de mi aplicacion aver si me pueden ayudar, en primer lugar tengo un modulo con el codigo para hacer la conexion a la base de access:
Modulo1:
Código vb:
Ver originalGlobal Conexion As New ADODB.Connection
Global Tabla As New ADODB.Recordset
Sub cerrar()
Conexion.Close
End Sub
Sub abrir()
Conexion.ConnectionString = App.Path + "\..\db\impresoras.mdb"
Conexion.Provider = "microsoft.jet.oledb.4.0"
Conexion.Open
End Sub
y el codigo que va por detras del formulario
Código vb:
Ver originalPrivate Sub Form_Load()
Call abrir
Tabla.Open "SELECT * FROM impresoras", Conexion, adOpenDynamic, adLockOptimistic
instrucciones.FontSize = 10
instrucciones.Text = "Haga doble click sobre la impresora que desee agregar."
Dim Item As ListItem
With printList
.ColumnHeaders.Add , , "Id", 550
.ColumnHeaders.Add , , "Impresora", 2900
.ColumnHeaders.Add , , "Usuario", 2900
.ColumnHeaders.Add , , "Ubicacion", 2900
.Width = 9300
.Height = 4050
.GridLines = True
.View = lvwReport
End With
Do Until Tabla.EOF
With printList
Set Item = .ListItems.Add(, , Tabla("Id"))
Item.SubItems(1) = Tabla("Impresora")
Item.SubItems(2) = Tabla("Usuario")
Item.SubItems(3) = Tabla("Lugar")
End With
Tabla.MoveNext
Loop
Tabla.Close
End Sub
Private Sub printList_DblClick()
addPrint (printList.SelectedItem.index)
End Sub
Private Sub addPrint(index As Integer)
Dim progress As Boolean
Dim count As Double
count = 1
Tabla.Open "Select imp_string, pc_string From impresoras WHERE id = " & index
Do Until Tabla.EOF
Dim str As String
str = "\\" & Tabla("pc_string") & "\" & Tabla("imp_string")
Tabla.MoveNext
Loop
Tabla.Close
Dim obj As WshNetwork
Set obj = New WshNetwork
progressBar.Value = 1
TiempoPausa = 3
Inicio = Timer
progressBar.Visible = True
Do While Timer < Inicio + TiempoPausa
DoEvents
count = count + 0.001
If count > 99 Then
count = 1
End If
progressBar.Value = count
Loop
On Error GoTo salida
obj.AddWindowsPrinterConnection (str)
If Err.Number = 0 Then
progressBar.Value = 99
MsgBox "La impresora se agrego correctamente", vbInformation, "Impresora Agregada"
End If
salida:
If Err.Number <> 0 Then
progressBar.Value = 99
MsgBox "Hubo un error al intentar conectarse a la impresora compruebe lo siguiente: " & vbCrLf & "- La Pc donde se encuentra la impresora esta encendida" & vbCrLf & "- Tanto la pc donde se encuentra la impresora como la suya estan conectadas a la red" & vbCrLf & "- La impresora que desea agregar ya existe como parte de sus impresoras", vbCritical, "Error!"
End If
End Sub
Los controles que utilizo son 2 image, 1 listView donde cargo los datos de la base, un textbox y una barra de progreso, desde ya gracias por su ayuda