Repetir entrada con condición.

31/03/2011 - 05:04 por Alex | Informe spam
¿Cómo puedo hacer lo siguiente?

Tengo un formulario donde, entre otras cosas, ingreso un número de
vehículo en un cuadro de texto (ctMovil) y luego, en un cuadro
combinado (ccAcuda) escojo un chofer. Como el movil puede cambiar de
chofer varias veces en el día a ambos datos le doy ingreso directo en
el fomulario sin asociación alguna entre ambos. Eso está bien. Lo que
quiero evitarle al usuario es tener que escribir el nombre del chófer
cada vez que éste hace una salida por lo que intento (sin éxito)
lograr que, cuando dicho usuario digite en ctMovil el número del
vehículo, en ccAcuda, automaticamente aparezca el último chofer
asignado a ese vehículo. Si el vehículo cambiara de chofer, el usuario
ingresaría el nuevo funcionario mediante ccAcuda y éste debería
repetirse (para éste vehículo) en los siguientes registros hasta que
haya un nuevo cambio de chofer.

Aquí muestro el ejemplo:

ctMovil | ccAcuda

65 Chofer A (Primer ingreso de A. Manual mediante ccAcuda)

66 Chofer B (Primer ingreso de B. Manual mediante ccAcuda)

65 Chofer A (Segundo ingreso A. Sigue el mismo chofer p/65.
Entrada automática. Toma el chofer anterior de 65)

65 Chofer C (Primer ingreso de C. Manual mediante ccAcuda)

66 Chofer B (Segundo ingreso de B. Sigue el mismo chofer p/
66. Entrada automática. Toma el chofer anterior de 66)

65 Chofer C (Segundo ingreso de C. Sigue el mismo chofer p/
65. Entrada automática. Toma el chofer anterior de 65)


¿Se entiende? Supongo que debería escribir un procedimiento en el
evento After_Update() del control ctMovil pero no me sale.
A todos gracias.

Preguntas similare

Leer las respuestas

#1 José Mª Fueyo
31/03/2011 - 12:04 | Informe spam
Hola
¿Has probado a usar la función DLookUp y asignar su resultado (sí es
que es positivo) al control correspondiente? lo puedes hacer en el
evento antes de actualizar, por ejemplo.

Salu2
José Mª Fueyo
[MS MVP Access]
Respuesta Responder a este mensaje
#2 Alex
31/03/2011 - 13:50 | Informe spam
On 31 mar, 07:04, José Mª Fueyo wrote:
Hola
¿Has probado a usar la función DLookUp y asignar su resultado (sí es
que es positivo) al control correspondiente? lo puedes hacer en el
evento antes de actualizar, por ejemplo.

Salu2
José Mª Fueyo
[MS MVP Access]



Pero DLookUp me devuelve la primera aparición y yo necesito la última.
He intentado con DLookUp y con DLast pero... bueno, no se bien como se
usa en el módulo de VBA.
Respuesta Responder a este mensaje
#3 José Mª Fueyo
31/03/2011 - 14:12 | Informe spam
Hola
¿Y como identificas que es la última aparición?
Respecto a la forma de usar las funciones agregadas de dominio, en la
ayuda tienes ejemplos.

Salu2
José Mª Fueyo
[MS MVP Access]
Respuesta Responder a este mensaje
#4 José Mª Fueyo
31/03/2011 - 14:14 | Informe spam
También podrías guardar una consulta que te devuelva justo los datos
que quieres: el conductor y su última aparición. Y usar dicha consulta
en la función DLookUp

Salu2
José Mª Fueyo
[MS MVP Access]
Respuesta Responder a este mensaje
#5 jorge hector vega
02/04/2011 - 14:31 | Informe spam
En el evento después de actualizar agregas el siguiente código
Private Sub ctMovil_AfterUpdate()
Dim r As DAO.Recordset
Set r = Me.Recordset.Clone()

r.FindLast "ctMovil=" & Me.ctMovil.Value
If r.NoMatch = False Then 'si hubo coincidencia

Me.ccAcuda.Value = r.Fields("ccAcuda").Value
End If
End Sub
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida