Visual Basic - Numero de Factura desde 2 PCs.

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil

Numero de Factura desde 2 PCs.

Publicado por Adolfo (117 intervenciones) el 08/01/2005 19:54:47
Hola amigos:

Tengo un programa de facturación que funciona en un supermercado, el programa esta instalado en 2 computadoras conectadas en red, (Estación 1 y Estación 2), la Estación 1 comparte la base de datos con la Estación 2.
La base de datos tiene una tabla donde se almacena le número de factura consecutivo.

El problema que tengo es que, si ambas computadoras están facturando al mismo tiempo y por accidente los usuarios de cada computadora presionan la tecla “Enter” para imprimir la factura, exactamente en el mismo segundo, las dos computadoras leerán el mismo número de factura (por ejemplo la factura # 500), esto significa que se imprimirán 2 facturas con el # 500. Y esto no puede suceder, además una de las computadoras me presenta un mensaje de error al tratar de editar el # de factura, para almacenar el # 501, pues las dos computadoras no pueden editar el mismo registro en el mismo segundo.

¿Como puedo hacer para que las dos computadoras verifiquen si la otra esta leyendo el mismo registro al mismo tiempo?, para evitar que lean el mismo # de factura. Lo que necesito es que ambas computadoras lean el registro con al menos un segundo de diferencia.

Agradezco de antemano cualquier sugerencia.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Numero de Factura desde 2 PCs.

Publicado por Cecilia Colalongo (3116 intervenciones) el 08/01/2005 20:03:30
No se si estás trabajando con campos autonuméricos o no, pero lo que puedes hacer es asignar el número de factura recién cuando la confirman y no al principio de la operación.

Luego el número asignado lo puedes obtener con SELECT @@IDENTITY AS NumeroAsignado luego de hacer el INSERT.

Las lecturas de BD no trabajan en segundos sino en unidades menores.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Numero de Factura desde 2 PCs.

Publicado por Benjo (679 intervenciones) el 08/01/2005 23:15:00
Adolfo, Si es que estás trabajando con ADO, puedes tener en cuenta que se permite bloquear el registro mediante la propiedad LockType establecida a adLockPessimistic
En la propiedad LockType se indica el tipo de bloqueo que se pone en los registros durante el proceso de edición.
En el Bloqueo pesimista, registro a registro: el proveedor hace lo necesario para asegurar la modificación correcta de los registros, generalmente bloqueando registros en el origen de datos durante el proceso de modificación
Igual.ciertamente Cecilia tiene razón en cuanto a tomar el número de Factura recién cuando el Usuario confirma la venta presionando la tecla Enter , de esa manera, te asegurarías de no acceder al registro en una misma unidad de tiempo y más aún, que aguarde cada aplicación su tiempo para acceder a la base.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar