Access 2003 ADO Multiusuario
Publicado por Angel (50 intervenciones) el 28/02/2010 20:55:18
Hola amigos foreros..les comento un poco mi situacion
Etoy haciendo un sistema en Visual Basic 6, conexiones con ADO a base de datos Access 2003
(dos archivos .mdb )..tengo que implementarlo en red.. todas las pc son XP sp2
Mi idea es en una PC (que funcione como servidor) con carpeta compartida poner los " .mdb ", y en las otras pcs usarlas como clientes y que accedan a los " .mdb " de la carpeta compartida.
Todas las maquinas pueden modificar los datos de las bases..
Lo que no puedo lograr es Bloquear al otro usuario si quiere acceder a datos que estan siendo utilizados por alguna pc.. les muestro un poco de codigo para dar una idea y que me ayuden.
De la forma que esta hecho cuando necesito el recordset lo abro y luego lo cierro una vez usado. Pero funcionando en red las otras maquinas pueden acceder por mas que tenga los bloqueos puestos.
Option Explicit
Public Cnx As ADODB.Connection
Public Conex As ADODB.Connection ' son dos conexiones, una a cada .mdb
Public BaseOper As ADODB.Recordset
Public BaseExp As ADODB.Recordset
Sub_Main()
on error goto x
Dim BaseDatos As String
BaseDatos = "\ \PC\Documentos compartidos\Expedientes.mdb" 'la otra cnx es igual
Set Conex = New ADODB.Connection
Conex.CommandTimeout = 30
Conex.ConnectionTimeout = 15
Conex.CursorLocation = adUseClient
Conex.Open "Provider=Microsoft.Jet.OLEDB.4.0; " & _
"Data Source=" & BaseDatos & ";" & _
"Jet OLEDB:Database"
Exit Sub
x:
msgbox
End sub
Private Sub Form_load()
on error goto x
Set BaseExp = New ADODB.Recordset
BaseExp.ActiveConnection = Conex
BaseExp.CursorType 'las estipulo segun si Mod, Del, Add pero
BaseExp.LockType 'estas propiedades pienso q es el problema
BaseExp.Open ("Select * From Expedientes")
Exit sub
x:
msgbox
End Sub
Private Sub Form_unload()
baseexp.close
set baseexp = nothing
conex.close
set conex = nothing
End Sub
Etoy haciendo un sistema en Visual Basic 6, conexiones con ADO a base de datos Access 2003
(dos archivos .mdb )..tengo que implementarlo en red.. todas las pc son XP sp2
Mi idea es en una PC (que funcione como servidor) con carpeta compartida poner los " .mdb ", y en las otras pcs usarlas como clientes y que accedan a los " .mdb " de la carpeta compartida.
Todas las maquinas pueden modificar los datos de las bases..
Lo que no puedo lograr es Bloquear al otro usuario si quiere acceder a datos que estan siendo utilizados por alguna pc.. les muestro un poco de codigo para dar una idea y que me ayuden.
De la forma que esta hecho cuando necesito el recordset lo abro y luego lo cierro una vez usado. Pero funcionando en red las otras maquinas pueden acceder por mas que tenga los bloqueos puestos.
Option Explicit
Public Cnx As ADODB.Connection
Public Conex As ADODB.Connection ' son dos conexiones, una a cada .mdb
Public BaseOper As ADODB.Recordset
Public BaseExp As ADODB.Recordset
Sub_Main()
on error goto x
Dim BaseDatos As String
BaseDatos = "\ \PC\Documentos compartidos\Expedientes.mdb" 'la otra cnx es igual
Set Conex = New ADODB.Connection
Conex.CommandTimeout = 30
Conex.ConnectionTimeout = 15
Conex.CursorLocation = adUseClient
Conex.Open "Provider=Microsoft.Jet.OLEDB.4.0; " & _
"Data Source=" & BaseDatos & ";" & _
"Jet OLEDB:Database"
Exit Sub
x:
msgbox
End sub
Private Sub Form_load()
on error goto x
Set BaseExp = New ADODB.Recordset
BaseExp.ActiveConnection = Conex
BaseExp.CursorType 'las estipulo segun si Mod, Del, Add pero
BaseExp.LockType 'estas propiedades pienso q es el problema
BaseExp.Open ("Select * From Expedientes")
Exit sub
x:
msgbox
End Sub
Private Sub Form_unload()
baseexp.close
set baseexp = nothing
conex.close
set conex = nothing
End Sub
Valora esta pregunta
0