Access - Nro. de identificación en Tabla

 
Vista:
Imágen de perfil de Angel

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.
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
sin imagen de perfil
Val: 756
Plata
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Nro. de identificación en Tabla

Publicado por Jesús Manuel (375 intervenciones) el 07/10/2016 12:40:45
En mi caso uso la función DMax para el falso autonumérico

En esta web https://msdn.microsoft.com/es-es/library/office/ff845086.aspx indican de DLast:
Puede usar la función DLast para devolver un registro aleatorio de un campo concreto de una tabla o consulta cuando necesite cualquier valor de ese campo.

Mira el ejemplo 1 de este post: http://www.accessyexcel.com/cinco-formas-de-generar-un-valor-unico-para-usarlo-como-campo-clave/
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