PROGRAMA VISUAL BASIC EN RED

13/04/2011 - 02:05 por Ironpony | Informe spam
Programa usando Visual Basic 6 contra BBDD ACCESS 2003. La BBDD cuando
la creé, en la pestaña "AVANZADAS" de las opciones en Access 2003,
tengo seleccionado en "modo predeterminado de apertura" la opción de
COMPARTIDO y en "bloqueo predeterminado de registros" la opción sin
BLOQUEAR

Bien, dentro del código Visual Basic, uso DAO (Recordset), y
datacontrol para cargar DBCOMBO.

Entonces para usar este programa luego en red, aparte de crear unidad
de red desde el servidor donde se instalará este programa, y
engancharla en los demás clientes (el programa también lo tengo que
instalar en los clientes para tema de librerias,...) que cambios debe
de sufrir el código. Os indico como lo uso para ver cual es el cambio

'* MODULO PRINCIPAL DONDE CREAR EL WORKSPACE Y LA BBDD
set ws=dbengine.workspaces(0)
set db=ws.opendatabase("unidaddered\bbdd")

'* APERTURA DE DATACONTROL
datacontrol.databasename("unidaddered\bbdd")

'* APERTURA DE RECORDSET
set recordset=db.openrecordset("Select * from tabla")

¿Basta con los cambios dentro del programa Access en su bbdd para que
pueda trabajar en red con este programa?
¿Necesito cambiar las órdenes de apertura de tablas o bbdd que os he
indicado anteriormente?

DE NUEVO MUCHAS GRACIAS
 

Leer las respuestas

#1 Ariel M.
14/04/2011 - 23:07 | Informe spam
Hola Ironpony. Las opciones de Access se relacionan con la forma en que
Access abre las bases de datos JET, pero no quiere decir que en tu
programa esto vaya a ser asi.
Respecto de DAO no deberías tener problemas cuando trabajas con una BBDD
Access en red (habría que ver bien como abris los recordset y otras cosas).
El problema que tenés que solucionar es (por ejemplo) si alguien decide
editar un registro y otro persona decide eliminarlo al mismo tiempo,
etc, pero es solucionable.
El tema se va a complicar con el uso del bendito Datacontrol, ya que
solamente él sabe como administra los bloqueos y no te permite hacer
mucho al respecto.
Yo te recomiendo el uso de ADO, y las inserciones, modificaciones y
eliminaciones de registros las hagas mediante el método Execute del
objeto ADODB.Connection (ya que se puede revertir todo el proceso si
tenés algún inconveniente mediante el método RollBackTrans), para las
demás consultas te manejes con Recordsets (aprovechando la ventaja de
utilizar recordsets desconectados de ADO, entre otras ventajas), y por
sobre todo eliminar todos los datacontrol y reemplazarlos por código,
así sabés bien como se están manejando los bloqueos.

Suerte!. Saludos. Ariel

El 12/04/2011 21:05, Ironpony escribió:
Programa usando Visual Basic 6 contra BBDD ACCESS 2003. La BBDD cuando
la creé, en la pestaña "AVANZADAS" de las opciones en Access 2003,
tengo seleccionado en "modo predeterminado de apertura" la opción de
COMPARTIDO y en "bloqueo predeterminado de registros" la opción sin
BLOQUEAR

Bien, dentro del código Visual Basic, uso DAO (Recordset), y
datacontrol para cargar DBCOMBO.

Entonces para usar este programa luego en red, aparte de crear unidad
de red desde el servidor donde se instalará este programa, y
engancharla en los demás clientes (el programa también lo tengo que
instalar en los clientes para tema de librerias,...) que cambios debe
de sufrir el código. Os indico como lo uso para ver cual es el cambio

'* MODULO PRINCIPAL DONDE CREAR EL WORKSPACE Y LA BBDD
set ws=dbengine.workspaces(0)
set db=ws.opendatabase("unidaddered\bbdd")

'* APERTURA DE DATACONTROL
datacontrol.databasename("unidaddered\bbdd")

'* APERTURA DE RECORDSET
set recordset=db.openrecordset("Select * from tabla")

¿Basta con los cambios dentro del programa Access en su bbdd para que
pueda trabajar en red con este programa?
¿Necesito cambiar las órdenes de apertura de tablas o bbdd que os he
indicado anteriormente?

DE NUEVO MUCHAS GRACIAS






Entorno: VB6 - ADO - Jet4
Saludos. Ariel M.
Mendoza (ARG)

Preguntas similares