Autor Tema: Conexión en red entre Access y Visual basic 6.0  (Leído 15698 veces)

0 Usuarios y 1 Visitante están viendo este tema.

FreddyJ

  • Kilobyte
  • **
  • Mensajes: 51
  • Reputación: +0/-2
    • Ver Perfil
Conexión en red entre Access y Visual basic 6.0
« en: Septiembre 01, 2009, 12:07:58 pm »
Hola. Espero que me puedan dar un ejemplo o una respuesta para salir de dudas y del problema. He creado un pequeño programa con visual basic y la base de datos es access de tanto preguntar e investigar para colocarlo en red llegue a la conclusión de que antes de empaquetarlo en el modulo solo le diera la dirección de donde estaria la base de datos, es decir; todo de forma manual y resulto pero no es lo que quiero. Alguien me auxilia con este tema.

coco

  • Administrador
  • Terabyte
  • *****
  • Mensajes: 548
  • Reputación: +63/-3
    • Ver Perfil
Re:Conexión en red entre Access y Visual basic 6.0
« Respuesta #1 en: Septiembre 01, 2009, 12:34:39 pm »
Hola. Espero que me puedan dar un ejemplo o una respuesta para salir de dudas y del problema. He creado un pequeño programa con visual basic y la base de datos es access de tanto preguntar e investigar para colocarlo en red llegue a la conclusión de que antes de empaquetarlo en el modulo solo le diera la dirección de donde estaria la base de datos, es decir; todo de forma manual y resulto pero no es lo que quiero. Alguien me auxilia con este tema.

no entendi bien que es lo que queres automatizar?, vos decis que no queres meter la ruta de la base de datos de forma manual, pero entonces, de que manera pensas conseguir la ruta?
si es estatica, solamente cambia en el string de conexion la ruta.

saludos
'-     coco
(No me cabe: Java, Python ni Pascal)
SQLite - PIC 16F y 18F - ARM STM32 - ESP32 - Linux Embebido - VB6 - Electronica - Sonido y Ambientacion

FreddyJ

  • Kilobyte
  • **
  • Mensajes: 51
  • Reputación: +0/-2
    • Ver Perfil
Re:Conexión en red entre Access y Visual basic 6.0
« Respuesta #2 en: Septiembre 01, 2009, 12:45:11 pm »
Lo que yo tengo es lo siguiente en el Modulo donde esta la ruta de mi base de datos alli tengo esto:
Private Sub Conectar_Basedatos()
    Dim sUbicacion As String
    ' para conexion en red
        ' sUbicacion = "\\Maq-01\documentos c\prueba\mydata.mdb"
    With nc
        .Provider = "Microsoft.Jet.OLEDB.4.0"
        .Properties("Data Source").Value = sUbicacion
        .Properties("Persist Security Info").Value = False
        .Open
    End With
    Exit Sub
Set nc = Nothing
    End
End Sub

Luego empaqueto el programa y lo instalo en cada maquina que quiero y funciona. La pregunta es que si llegaran a  cambiar el nombre de los grupos de trabajo y de las maquinas entonces el sistema no serviria. Como solucionar esto?

coco

  • Administrador
  • Terabyte
  • *****
  • Mensajes: 548
  • Reputación: +63/-3
    • Ver Perfil
Re:Conexión en red entre Access y Visual basic 6.0
« Respuesta #3 en: Septiembre 01, 2009, 07:42:45 pm »
Lo que yo tengo es lo siguiente en el Modulo donde esta la ruta de mi base de datos alli tengo esto:
Private Sub Conectar_Basedatos()
    Dim sUbicacion As String
    ' para conexion en red
        ' sUbicacion = "\\Maq-01\documentos c\prueba\mydata.mdb"
    With nc
        .Provider = "Microsoft.Jet.OLEDB.4.0"
        .Properties("Data Source").Value = sUbicacion
        .Properties("Persist Security Info").Value = False
        .Open
    End With
    Exit Sub
Set nc = Nothing
    End
End Sub

Luego empaqueto el programa y lo instalo en cada maquina que quiero y funciona. La pregunta es que si llegaran a  cambiar el nombre de los grupos de trabajo y de las maquinas entonces el sistema no serviria. Como solucionar esto?

podrias poner que lea esa ubicacion desde un registro. si no existe, cargar el default, que es el que provees vos. si lo cambian, es cuestion de editar el registro y cambiar la ruta.

tambien podes usar .ini, seria lo mismo.

saludos
'-     coco
(No me cabe: Java, Python ni Pascal)
SQLite - PIC 16F y 18F - ARM STM32 - ESP32 - Linux Embebido - VB6 - Electronica - Sonido y Ambientacion

ssccaann43

  • Terabyte
  • *****
  • Mensajes: 970
  • Reputación: +97/-58
    • Ver Perfil
    • Sistemas Nuñez, Consultores y Soporte, C.A.
Re:Conexión en red entre Access y Visual basic 6.0
« Respuesta #4 en: Septiembre 02, 2009, 11:06:07 am »
Lo mejor que puedes hacer es encriptar el string de conex en un archivo de texto plano. Es la manera que veo más viable, de hecho la que uso actualmente para mis softwares. Yo trabajo con SQL Server y cuando cambian el nombre del servidor u otra cosa, pues solo voy al archivo y cambio el string de conex. Saludos
Miguel Núñez.

FreddyJ

  • Kilobyte
  • **
  • Mensajes: 51
  • Reputación: +0/-2
    • Ver Perfil
Re:Conexión en red entre Access y Visual basic 6.0
« Respuesta #5 en: Septiembre 02, 2009, 12:58:48 pm »
Oks, Gracias por los aportes. Cualquier cosa escribo nuevamente. 

LeandroA

  • Administrador
  • Petabyte
  • *****
  • Mensajes: 1128
  • Reputación: +151/-8
    • Ver Perfil
Re:Conexión en red entre Access y Visual basic 6.0
« Respuesta #6 en: Septiembre 02, 2009, 03:40:41 pm »
Que registro ni archivo de texto plano, guardalo directamente en la base de datos  :D :D [Chiste malo] ::)

ssccaann43

  • Terabyte
  • *****
  • Mensajes: 970
  • Reputación: +97/-58
    • Ver Perfil
    • Sistemas Nuñez, Consultores y Soporte, C.A.
Re:Conexión en red entre Access y Visual basic 6.0
« Respuesta #7 en: Septiembre 02, 2009, 05:19:48 pm »
Que registro ni archivo de texto plano, guardalo directamente en la base de datos  :D :D [Chiste malo] ::)

Jajajaja... ta weno Leoandro.
Miguel Núñez.

NolO

  • Kilobyte
  • **
  • Mensajes: 73
  • Reputación: +6/-0
    • Ver Perfil
Re:Conexión en red entre Access y Visual basic 6.0
« Respuesta #8 en: Septiembre 03, 2009, 01:39:50 pm »
Oks, Gracias por los aportes. Cualquier cosa escribo nuevamente.

Hola en caso de que aun necesites ayuda te dejo un ejemplo muy sencillo de hacer lo que quieres.

en un modulo.
Código: [Seleccionar]
Public Con As Connection 'variable para la conexion a la base de datos
public PathDbase As String 'variable para la ruta de la base de datos

Public Sub ConectarDB()
Open App.Path + "\dbacceso.ini" For Input As #1
  Line Input #1, PathDbase
Close #1 
End Sub

y en el formulario de carga o splash

Código: [Seleccionar]
Call ConectarDB
Set Con = New Connection
Con.ConnectionString = PathDbase
Con.Open


Luego solo en el .ini pondrias una linea algo asi  \\Servidor\BaseDatos\MyData.mdb


Espero haber sido de ayuda.
Salu2,
« última modificación: Septiembre 03, 2009, 04:06:14 pm por NolO »

seba123neo

  • Terabyte
  • *****
  • Mensajes: 763
  • Reputación: +88/-5
    • Ver Perfil
Re:Conexión en red entre Access y Visual basic 6.0
« Respuesta #9 en: Septiembre 03, 2009, 08:38:40 pm »
seria mejor hacerlo todo en el Main de modulo, en el Load del formulario no deberia hacer nada, y hay que hcer unas series de validaciones, si existe el archivo y demas.

saludos.

FreddyJ

  • Kilobyte
  • **
  • Mensajes: 51
  • Reputación: +0/-2
    • Ver Perfil
Re:Conexión en red entre Access y Visual basic 6.0
« Respuesta #10 en: Septiembre 03, 2009, 08:45:49 pm »
ok. Bueno gracias por todos sus comentarios. la verdad es que todo esto del .ini es nuevo para mi y ya estoy investigando en algunas paginas sobre el tema. Recuerden que soy nuevo en esto y gracias a dios existen estos foros.. Saludos...

Kiek

  • Bit
  • Mensajes: 2
  • Reputación: +0/-0
    • Ver Perfil
Re:Conexión en red entre Access y Visual basic 6.0
« Respuesta #11 en: Enero 18, 2017, 09:15:32 pm »
Se que es un post muy viejo, pero si alguien como yo sigue buscando soluciones les dejo la solución con la ayuda de varios comentarios anteriores:
        Dim RutaDB As String
       
        Open App.Path + "\dbacceso.ini" For Input As #1
        Line Input #1, PathDbase
        Close #1
        RutaDB = PathDbase
    With Base
        .CursorLocation = adUseClient
        .Provider = "Microsoft.Jet.OLEDB.4.0"
        .Properties("Data Source").value = RutaDB
        .Properties("Jet OLEDB:Database Password") = "1234"
        .Open
    end with