Access - Problema con formularios

 
Vista:

Problema con formularios

Publicado por Fernando (1 intervención) el 23/02/2007 19:21:52
Hola, cómo están? Tengo problemas tratando de hacer un fomulario para ingresar información en el cual, en uno de los campos, los registros automáticmante tomen el valor del último registro ingresado. O sea, tengo un campo que tomaría el mismo valor para algunos registros sucesivos (alrededor de 10) y no quiero tener que escribirlo todas las veces que estoy ingresando información.
Muchas gracias por cualquier ayuda. Saludos,

Fernando
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:Problema con formularios

Publicado por Enrique (1299 intervenciones) el 24/02/2007 15:28:31
Hola Fernando, te indico dos formas de hacerlo. El usar una u otra dependerá de tus necesidades:

Con esta, un campo tomará el mismo valor del campo del registro anterior pero según el órden de introducción en el Formulario, no del órden que ese registro tomará después en la tabla. Me explico: Si en la Tabla tienes establecido un Indice que ordene los campos alfabéticamente en Ascendente, tu creas un nuevo registro y al grabarse en la Tabla no se queda el ultimo sino que puede pasar a otra posición. DLast coge el valor del campo del último registro introducido aunque en la tabla visualmente ya no sea el último.

Private Sub Text1_Exit(Cancel As Integer)
If IsNull(Text1) And Me.NewRecord Then
Text1 = DLast("NombreCampoTabla", "NombreTabla")
End If
End Sub

Con esta otra, siempre cogeremos el valor del campo del registro que se encuentre físicamente en la posición final de la Tabla, sea o no sea el último introducido; en este caso se necesita que la tabla tenga un campo Autonumérico tipo "Id":

Private Sub Text1_Exit(Cancel As Integer)
If IsNull(Text1) And Me.NewRecord Then
Text1 = DLookup("NombreCampoTabla", "NombreTabla", "Id=" & DMax("Id", "NombreTabla"))
End If
End Sub

En ambos casos, pulsando Intro sin poner nada en el Campo, éste tomará el valor del campo del registro anterior, pero permite escribir un nuevo valor cuando ya no necesitemos que se repita. Posiblemente en tu caso sea la primera opción la que te valga.

Espero que esto se sirva para resolver tu problema. Un saludo
Enrique
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