Boquear rgistros de una tabla

22/02/2006 - 11:56 por Jordi | Informe spam
Hola,
Tengo una tabla de encabezados de facturas y otra del detalle.
Como puedo bloquear un registro de la tabla encabezados de facturas para
asegurar que mientras yo estoy trabajando en esta factura nadie más puede
hacerlo, aunque si pueda modificar otras facturas.

Lo que quiero hace es mirar si en la tabla encabezado, una determinada
factura está bloqueada, y si lo está entonces no hacer nada, pero si no está
bloquada, la boqueo y empiezo a modifcar esta factura, cuando termino
desbloqueo este registro.

Gracias

Preguntas similare

Leer las respuestas

#1 Carlos Sacristán
22/02/2006 - 12:52 | Informe spam
No lo puedes implementar directamente en la base de datos a base de los
bloqueos de ésta. Si lo que quieres es que mientras un usuario tiene en la
pantalla de su aplicación los datos de una factura, tendrás que grabar esa
acción en una tabla específica del servidor, pero lo que no puedes hacer es
mantener un bloqueo de registros tal y como lo estás pensando en la base de
datos.

Lo que quieres hacer lo detallas perfectamente en el segundo párrafo,
sólo que cuando dices "[...]la bloqueo[...]" lo que deberás hacer es
almacenar esa acción en una tabla


Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

"Jordi" escribió en el mensaje
news:dthfsn$fa6$
Hola,
Tengo una tabla de encabezados de facturas y otra del detalle.
Como puedo bloquear un registro de la tabla encabezados de facturas para
asegurar que mientras yo estoy trabajando en esta factura nadie más puede
hacerlo, aunque si pueda modificar otras facturas.

Lo que quiero hace es mirar si en la tabla encabezado, una determinada
factura está bloqueada, y si lo está entonces no hacer nada, pero si no


está
bloquada, la boqueo y empiezo a modifcar esta factura, cuando termino
desbloqueo este registro.

Gracias


Respuesta Responder a este mensaje
#2 Jordi
22/02/2006 - 17:45 | Informe spam
Hola,
Pero como evito que otra persona edite el mismo registro


"Carlos Sacristán" <csacristanARROBAmvpsPUNTOorg> escribió en el mensaje
news:u8Gi%
No lo puedes implementar directamente en la base de datos a base de los
bloqueos de ésta. Si lo que quieres es que mientras un usuario tiene en la
pantalla de su aplicación los datos de una factura, tendrás que grabar esa
acción en una tabla específica del servidor, pero lo que no puedes hacer
es
mantener un bloqueo de registros tal y como lo estás pensando en la base
de
datos.

Lo que quieres hacer lo detallas perfectamente en el segundo párrafo,
sólo que cuando dices "[...]la bloqueo[...]" lo que deberás hacer es
almacenar esa acción en una tabla


Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

"Jordi" escribió en el mensaje
news:dthfsn$fa6$
Hola,
Tengo una tabla de encabezados de facturas y otra del detalle.
Como puedo bloquear un registro de la tabla encabezados de facturas para
asegurar que mientras yo estoy trabajando en esta factura nadie más puede
hacerlo, aunque si pueda modificar otras facturas.

Lo que quiero hace es mirar si en la tabla encabezado, una determinada
factura está bloqueada, y si lo está entonces no hacer nada, pero si no


está
bloquada, la boqueo y empiezo a modifcar esta factura, cuando termino
desbloqueo este registro.

Gracias






Respuesta Responder a este mensaje
#3 Developers
22/02/2006 - 18:17 | Informe spam
Jordi:

Definitivamente llevar los bloqueos en SqlServer x Registro seria un suicidio porque
cuando se habla de un Motor de Datos ya se piensa en Conjunto de Datos.
Una posible Solucion a Tu problema seria que tengas un campo en tu tabla de comprobantes
que indicara si el documento esta siendo visto por otro usuario. es Decir:

en el metodo de llamado de documento tendrias esto:
Select campo1,campo2,Modo_edicion, etc... from mitabla where campo1=mivalor1
If Modo_edicion='S'
Messagebox("Registro esta en proceso de modificacion")
Else
Update mitabla set Modo_Edicion='S' where campo1=mivalor1
Endif

y cuando cierres el formulario o cuando grabes liberes el documento de nuevo.
Update mitabla set Modo_Edicion=' ' where campo1=mivalor1

Nota:
Tendrias que adaptarlo a tus necesidades con Sqlconnect,SqlExec,etc.. y probar
No es recomendable hacer la misma pregunta en varios foros (VFP,SQLserver)

Suerte

Developers - Dany Acosta
Jordi escribió:
Hola,
Pero como evito que otra persona edite el mismo registro


"Carlos Sacristán" <csacristanARROBAmvpsPUNTOorg> escribió en el mensaje
news:u8Gi%

No lo puedes implementar directamente en la base de datos a base de los
bloqueos de ésta. Si lo que quieres es que mientras un usuario tiene en la
pantalla de su aplicación los datos de una factura, tendrás que grabar esa
acción en una tabla específica del servidor, pero lo que no puedes hacer
es
mantener un bloqueo de registros tal y como lo estás pensando en la base
de
datos.

Lo que quieres hacer lo detallas perfectamente en el segundo párrafo,
sólo que cuando dices "[...]la bloqueo[...]" lo que deberás hacer es
almacenar esa acción en una tabla


Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

"Jordi" escribió en el mensaje
news:dthfsn$fa6$

Hola,
Tengo una tabla de encabezados de facturas y otra del detalle.
Como puedo bloquear un registro de la tabla encabezados de facturas para
asegurar que mientras yo estoy trabajando en esta factura nadie más puede
hacerlo, aunque si pueda modificar otras facturas.

Lo que quiero hace es mirar si en la tabla encabezado, una determinada
factura está bloqueada, y si lo está entonces no hacer nada, pero si no



está

bloquada, la boqueo y empiezo a modifcar esta factura, cuando termino
desbloqueo este registro.

Gracias










Respuesta Responder a este mensaje
#4 Maxi [MVP]
23/02/2006 - 02:15 | Informe spam
Hola, implementa un flag en esa tabla cabecera


Salu2
-
[MVP] SQL Server
Orador para Culminis Latam
www.sqlgurus.org

MSN:

"Jordi" escribió en el mensaje
news:dthfsn$fa6$
Hola,
Tengo una tabla de encabezados de facturas y otra del detalle.
Como puedo bloquear un registro de la tabla encabezados de facturas para
asegurar que mientras yo estoy trabajando en esta factura nadie más puede
hacerlo, aunque si pueda modificar otras facturas.

Lo que quiero hace es mirar si en la tabla encabezado, una determinada
factura está bloqueada, y si lo está entonces no hacer nada, pero si no
está bloquada, la boqueo y empiezo a modifcar esta factura, cuando termino
desbloqueo este registro.

Gracias

Respuesta Responder a este mensaje
#5 Carlos Sacristán
23/02/2006 - 09:00 | Informe spam
Antes de mostrar la pantalla de edición de esos datos tu aplicación
tendrá que preguntar si ese mismo registro tiene el campo 'visualizandose'
activado (1 ó 0, 'S' o 'N', lo que tú prefieras) y si es así, mostrar un
mensaje indicándolo.


Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

"Jordi" escribió en el mensaje
news:dti4ap$qp8$
Hola,
Pero como evito que otra persona edite el mismo registro


"Carlos Sacristán" <csacristanARROBAmvpsPUNTOorg> escribió en el mensaje
news:u8Gi%
> No lo puedes implementar directamente en la base de datos a base de


los
> bloqueos de ésta. Si lo que quieres es que mientras un usuario tiene en


la
> pantalla de su aplicación los datos de una factura, tendrás que grabar


esa
> acción en una tabla específica del servidor, pero lo que no puedes hacer
> es
> mantener un bloqueo de registros tal y como lo estás pensando en la base
> de
> datos.
>
> Lo que quieres hacer lo detallas perfectamente en el segundo párrafo,
> sólo que cuando dices "[...]la bloqueo[...]" lo que deberás hacer es
> almacenar esa acción en una tabla
>
>
> Un saludo
>
> -
> "Sólo sé que no sé nada. " (Sócrates)
>
> "Jordi" escribió en el mensaje
> news:dthfsn$fa6$
>> Hola,
>> Tengo una tabla de encabezados de facturas y otra del detalle.
>> Como puedo bloquear un registro de la tabla encabezados de facturas


para
>> asegurar que mientras yo estoy trabajando en esta factura nadie más


puede
>> hacerlo, aunque si pueda modificar otras facturas.
>>
>> Lo que quiero hace es mirar si en la tabla encabezado, una determinada
>> factura está bloqueada, y si lo está entonces no hacer nada, pero si no
> está
>> bloquada, la boqueo y empiezo a modifcar esta factura, cuando termino
>> desbloqueo este registro.
>>
>> Gracias
>>
>>
>
>


Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida