Ver Mensaje Individual
  #4 (permalink)  
Antiguo 27/05/2011, 10:45
Avatar de djaevi
djaevi
 
Fecha de Ingreso: marzo-2007
Ubicación: Moreno, Buenos Aires
Mensajes: 400
Antigüedad: 17 años, 1 mes
Puntos: 47
Respuesta: Problema con ejecutable en Red

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 original
  1. Global Conexion As New ADODB.Connection
  2. Global Tabla As New ADODB.Recordset
  3. Sub cerrar()
  4. Conexion.Close
  5. End Sub
  6. Sub abrir()
  7. Conexion.ConnectionString = App.Path + "\..\db\impresoras.mdb"
  8. Conexion.Provider = "microsoft.jet.oledb.4.0"
  9. Conexion.Open
  10. End Sub

y el codigo que va por detras del formulario

Código vb:
Ver original
  1. Private Sub Form_Load()
  2. Call abrir
  3. Tabla.Open "SELECT * FROM impresoras", Conexion, adOpenDynamic, adLockOptimistic
  4. instrucciones.FontSize = 10
  5. instrucciones.Text = "Haga doble click sobre la impresora que desee agregar."
  6. Dim Item As ListItem
  7. With printList
  8.     .ColumnHeaders.Add , , "Id", 550
  9.     .ColumnHeaders.Add , , "Impresora", 2900
  10.     .ColumnHeaders.Add , , "Usuario", 2900
  11.     .ColumnHeaders.Add , , "Ubicacion", 2900
  12.     .Width = 9300
  13.     .Height = 4050
  14.     .GridLines = True
  15.     .View = lvwReport
  16. End With
  17. Do Until Tabla.EOF
  18.     With printList
  19.         Set Item = .ListItems.Add(, , Tabla("Id"))
  20.             Item.SubItems(1) = Tabla("Impresora")
  21.             Item.SubItems(2) = Tabla("Usuario")
  22.             Item.SubItems(3) = Tabla("Lugar")
  23.     End With
  24. Tabla.MoveNext
  25. Loop
  26. Tabla.Close
  27. End Sub
  28.  
  29. Private Sub printList_DblClick()
  30.     addPrint (printList.SelectedItem.index)
  31. End Sub
  32.  
  33. Private Sub addPrint(index As Integer)
  34.     Dim progress As Boolean
  35.     Dim count As Double
  36.     count = 1
  37.     Tabla.Open "Select imp_string, pc_string From impresoras WHERE id = " & index
  38.     Do Until Tabla.EOF
  39.         Dim str As String
  40.         str = "\\" & Tabla("pc_string") & "\" & Tabla("imp_string")
  41.     Tabla.MoveNext
  42.     Loop
  43. Tabla.Close
  44.     Dim obj As WshNetwork
  45.     Set obj = New WshNetwork
  46.     progressBar.Value = 1
  47.     TiempoPausa = 3
  48.     Inicio = Timer
  49.     progressBar.Visible = True
  50.     Do While Timer < Inicio + TiempoPausa
  51.         DoEvents
  52.         count = count + 0.001
  53.         If count > 99 Then
  54.             count = 1
  55.         End If
  56.         progressBar.Value = count
  57.     Loop
  58.     On Error GoTo salida
  59.     obj.AddWindowsPrinterConnection (str)
  60.     If Err.Number = 0 Then
  61.         progressBar.Value = 99
  62.         MsgBox "La impresora se agrego correctamente", vbInformation, "Impresora Agregada"
  63.     End If
  64. salida:
  65.     If Err.Number <> 0 Then
  66.         progressBar.Value = 99
  67.         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!"
  68.     End If
  69. 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