Nro. de identificación en Tabla
Publicado por Angel (8 intervenciones) el 07/10/2016 10:22:57
Hola a todos los integrantes de la comunidad, soy nuevo en el tema de Access, gracias a sus consejos he podido avanzar considerablemente. En esta ocasión tengo que hacerles una consulta que no logro resolver y me está dando fuertes dolores de cabeza.
He diseñado una base de datos, donde registro resultados de examenes de laboratorio, en resumen la tabal tiene el siguiente esquema:
TABLA: DATOS
ID: Nro. de identificación de la orden
Nombres: Nombres
Examen: Examen solicitado
Resultados: Resultado de los examenes
El ID -gracias a muchas recomendaciones- no lo he dejado en autonumérico, sino que he adaptado un código en VBA para que cada vez que se guarde un nuevo ingreso (una nueva orden), busque el ultimo valor en la tabla y le sume 1. Este es el código completo:
If IsNull(Me!id) Then
id = 1 + DLast("id", "datos")
DoCmd.RunCommand acCmdSaveRecord
MsgBox "El registro se ha guardado correctamente, el ID generado es " & Me.id, vbInformation, "CORRECTO"
Else
DoCmd.RunCommand acCmdSaveRecord
MsgBox "El registro se ha guardado correctamente", vbInformation, "CORRECTO"
End If
End Sub
Este código está ligado aun botón Guardar. Sólo se ejecuta cuando el usuario termina de ingresar todos sus datos y da click en el botón)
La base de datos es compartida entre cinco PCs (que tienen Access 2007 SP3), la he puesto en una carpeta compartida (no he dividido aún la base de datos), el problema es que cada cierto tiempo cuando dos o más usuarios están ingresando órdenes (pacientes) les arroja un error (que el registro crearía valores duplicados), por más que he revisado el código no encuentro una causa aparente. Cuando eso ocurre tengo que cerrarlo de todas las PCs, darle a compactar y reparar y algunas veces depurar mi tabla. Mi pregunta es: Existe alguna solución definitiva?? Que alternativas me dan. Agradecería mucho su respuesta.
He diseñado una base de datos, donde registro resultados de examenes de laboratorio, en resumen la tabal tiene el siguiente esquema:
TABLA: DATOS
ID: Nro. de identificación de la orden
Nombres: Nombres
Examen: Examen solicitado
Resultados: Resultado de los examenes
El ID -gracias a muchas recomendaciones- no lo he dejado en autonumérico, sino que he adaptado un código en VBA para que cada vez que se guarde un nuevo ingreso (una nueva orden), busque el ultimo valor en la tabla y le sume 1. Este es el código completo:
If IsNull(Me!id) Then
id = 1 + DLast("id", "datos")
DoCmd.RunCommand acCmdSaveRecord
MsgBox "El registro se ha guardado correctamente, el ID generado es " & Me.id, vbInformation, "CORRECTO"
Else
DoCmd.RunCommand acCmdSaveRecord
MsgBox "El registro se ha guardado correctamente", vbInformation, "CORRECTO"
End If
End Sub
Este código está ligado aun botón Guardar. Sólo se ejecuta cuando el usuario termina de ingresar todos sus datos y da click en el botón)
La base de datos es compartida entre cinco PCs (que tienen Access 2007 SP3), la he puesto en una carpeta compartida (no he dividido aún la base de datos), el problema es que cada cierto tiempo cuando dos o más usuarios están ingresando órdenes (pacientes) les arroja un error (que el registro crearía valores duplicados), por más que he revisado el código no encuentro una causa aparente. Cuando eso ocurre tengo que cerrarlo de todas las PCs, darle a compactar y reparar y algunas veces depurar mi tabla. Mi pregunta es: Existe alguna solución definitiva?? Que alternativas me dan. Agradecería mucho su respuesta.
Valora esta pregunta
0