Problema con la función DLast

Esta pregunta no me la supo responder otro experto.
Tengo un formulario en el que con frecuencia se repiten los mismos datos de un registro a otro, para ello estoy utilizando la función "dlast", cuya utilidad he encontrado en este mismo foro. El problema es que no termino de aprender como utilizarla.
Estas son mis lineas:
Private Sub RefMuestra_LostFocus()
TipoAnalisis = DLast("TipoAnalisis", "ANALISIS")
FechaAnalisis = DLast("FechaAnalisis", "ANALISIS")
FechaRecogida = DLast("FechaRecogida", "ANALISIS")
End Sub
Tengo dos problemas:
1. Si tengo que cambiar refmuestra, me vuelve a cambiar los datos del campo. Sería bueno que lo hiciese solo si los campos están vacíos. Tiene que haber alguna forma de que chequee que esté vacío.
2. No me copia los datos del registro anterior si estos han sido modificados. Me copia los primeros datos que fueron asignados.
¿Cómo puedo hacer para evitar esto?

1 respuesta

Respuesta
1
No había usado esta función nunca y a mi tampoco me da el resultado esperado.
He creado unas líneas que en el evento Después de actualizar del campo RefMuestra te da el resultado que quieres.
Lo que hace es sacar el máximo valos del autonumérico u después busca el valos del campo que queramos de ese registro.
A mayores he situado una condición que sería que los campos de fech sean nulos y que el campo de Tipo Análisis sea cero, para que no te monte datos ya escritos.
Dim Reg As Double
Reg = DMax("[NumAnalisis]", "ANALISIS")
If TipoAnalisis = 0 Then Me.TipoAnalisis = DLookup("TipoAnalisis", "ANALISIS", "NumAnalisis=" & Reg)
If IsNull(FechaAnalisis) = True Then Me.FechaAnalisis = DLookup("FechaAnalisis", "ANALISIS", "NumAnalisis=" & Reg)
If IsNull(FechaRecogida) = True Then Me.FechaRecogida = DLookup("FechaRecogida", "ANALISIS", "NumAnalisis=" & Reg)
Una aperta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas