Acceso exclusivo a la Tabla de la Base de Datos mediante código VBA

13/09/2004 - 03:33 por nadura | Informe spam
Con el siguiente Código mediante ADO puedo conseguir
bloquear un determinado registro de la base de Datos
cuando dos usuarios pretenden acceder a él de forma
simultánea:

Private Sub Command0_Click()
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim strText As String
Dim strConn As String
Dim iCliente As Integer
Dim iClienteValorCambiado As String

On Error GoTo err_ADO:

iCliente = InputBox("Introduzca el Código de Cliente a
buscar:" & vbNewLine & "Debe Introducir un valor
numerico.")
If Len(iCliente) = 0 Then
Exit Sub
End If

iClienteValorCambiado = InputBox("Introduzca el Valor
nuevo:")
If Len(iClienteValorCambiado) = 0 Then
Exit Sub
End If

strConn = "Provider=SQLOLEDB.1;Integrated
Security=SSPI;Persist Security Info=False;Initial
Catalog=Base de Datos SQL Server 2000;Data
Source=WINDOWSXP"
Set cn = New ADODB.Connection
Set rs = New ADODB.Recordset

cn.Open strConn
rs.Open "Select * from [Tabla de Clientes] WHERE
[C_CLIENTE]= " & iCliente, cn, adOpenStatic,
adLockPessimistic < Bloqueo del Registro con número
de cliente coincidente con el criterio de búsqueda.

MsgBox "Registro bloqueado: " & iCliente

Do Until rs.EOF
rs.Fields("N_CLIENTE").Value =
iClienteValorCambiado
MsgBox "Valor cambiado de " & iClienteValor & "
a " & iClienteValorCambiado
rs.MoveNext
Loop

rs.Close
cn.Close

Exit Sub

err_ADO:

MsgBox "Error: " & Err.Description
Resume Next

End Sub


Cuestión a Plantear: ¿Como debería modificar dicho código
para bloquear toda la Tabla, es decir, permitir a un
usuario concreto abrir la Tabla en modo exclusivo,
impidiendo a otros usuarios acceder a ésta, mientras el
primero esté realizando consultas ó modificaciones en la
misma?

¿Existe algún conversor para pasar código en DAO a ADO?

Preguntas similare

Leer las respuestas

#16 MAXI
17/09/2004 - 01:42 | Informe spam
sip, solo arma el Store Procedure y desde Access llama a el :-), es
indistinto luego de donde lo haces, pero eso si, arma el Store :-D




Maxi

Buenos Aires - Argentina
Desarrollador .NET 3 Estrellas
Microsoft User Group (MUG)
Mail: Maxi_accotto[arroba]speedy.com.ar

Msn Messager:

"" escribió en el
mensaje news:03b101c49c41$1ad599f0$
Contestación a Maximiliano D. Accotto:
He estado observado tu reporte, parece fácil, sencillo y
práctico..., pero debo implementarlo con ADO para acceder
desde una base de Datos mdb a la Base de datos SQL Server
(archivo adp), ¿esta alternativa la podría incluir
utilizando esta misma filosofía?...













Mostrar la cita
esto que esta
Mostrar la cita
ices/art187.asp
Mostrar la cita
-
Mostrar la cita
-
Mostrar la cita
en el mensaje
Mostrar la cita
codigos unicos que no
Mostrar la cita
las tablas de
Mostrar la cita
y erroneas que
Mostrar la cita
buena solución. En
Mostrar la cita
perfecto!!!
Mostrar la cita
código o lo que sea
Mostrar la cita
01/09/2004
Mostrar la cita
#17 nadura
17/09/2004 - 18:09 | Informe spam
Y esto del store, ¿Como se realiza? nunca he utilizado
este tipo de procedimiento en un proyecto adp. Podrías
indicarmelo, si no te hes mucha molestia, hay algún
reporte de microsoft que lo trate en profundidad.
Gracias por tu atención y paciencia.
Saludos.






Mostrar la cita
el :-), es
Mostrar la cita
Store :-D
Mostrar la cita
escribió en el
Mostrar la cita
vo
Mostrar la cita
como
Mostrar la cita
escribió
Mostrar la cita
habituales
Mostrar la cita
la
Mostrar la cita
(http://www.grisoft.com).
Mostrar la cita
#18 nadura
17/09/2004 - 18:18 | Informe spam
Hola a Todos.
os agradezco vuestra participación y paciencia. con
referencia a los expuesto por Miguel Egea en el primer
punto(Usa un valor identity), utilizando la tabla de
registros eliminados podría evitar la situación de que
queden saltos en la numeración de los registros de
clientes.

Claro que está por discutir la efectividad ya
mencionada...

en cuanto al segundo lo probaré en estos días, en cuanto
pueda os digo

Gracias por todo.
Buen fin de semana.








Mostrar la cita
pones la integridad
Mostrar la cita
duplicado, como mucho el
Mostrar la cita
como un Select max,
Mostrar la cita
inserciones bloqueen
Mostrar la cita
bloqueen tablas, es
Mostrar la cita
jefe de la empresa
Mostrar la cita
que la tabla de
Mostrar la cita
clientes, puede suponerte
Mostrar la cita
a proponer tres que
Mostrar la cita
(las que merece la
Mostrar la cita
mostrarselo a los clientes
Mostrar la cita
la estructura
Mostrar la cita
parecido a este..
Mostrar la cita
superiro si no no hay id
Mostrar la cita
tabla='tuttalbla'
Mostrar la cita
ningún código de
Mostrar la cita
clientes muestras un
Mostrar la cita
con código XXXX,.
Mostrar la cita
las inserciones
Mostrar la cita
clientes
Mostrar la cita
portalsql.com hay algún
Mostrar la cita
propósito.
Mostrar la cita
escribió en el
Mostrar la cita
es
Mostrar la cita
pero...
Mostrar la cita
Ads by Google
Search Busqueda sugerida