Access - Falla el evento Al Cambiar

 
Vista:
Imágen de perfil de Gean
Val: 28
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Falla el evento Al Cambiar

Publicado por Gean (12 intervenciones) el 04/03/2023 05:34:28
Tengo una etiqueta llamada "lblNombreArticulo" y un cuadro de texto llamado "txtIngresaCodigo" con el evento Al Cambiar

1
2
3
4
5
Private Sub txtIngresaCodigo_Change()
 
Me.lblNombreArticulo.Caption = Me.txtIngresaCodigo
 
End Sub


La idea es que al ir escribiendo, se vaya actualizando la etiqueta mostrando lo que quiera (en est caso lo mismo que escribo en el cuadro de texto)

El problema esta en que al ir escribiendo no se va actualizando la etiqueta, solo se actualiza cuando quito el enfoque, se lo vuelvo a poner y presiono una tecla, pero ya despues, ya no se sigue actualizando.


En el ejemplo de la imagen escribí Hola (no se actualizó nada). Luego quite el enfoque, se lo volví a dar, precione una tecla (se actualizó con el Hola ya escrito), y despues ya no se actualizó el resto del mensaje

Captura
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

Falla el evento Al Cambiar

Publicado por Anonimo (3316 intervenciones) el 04/03/2023 10:48:14
Cuando se escribe algo en un cuadro de texto hay en juego tres propiedades del mismo objeto:

.- La propiedad Value (la que toma por defecto y es el valor real en el objeto)
.- La propiedad 'OldValue' que es una copia de Value tras la ultima actualización (al guardar el registro o actualizarlo se igualan).
.- La propiedad 'Text' que es la que recibe los caracteres y solo 'existe' en esas circunstancias y para el objeto activo (la que se tiene que utilizar en este caso).

Un objeto de nombre 'AAA'

.- Cuando se abre un formulario dependiente (con origen de datos) las propiedades de [AAA] 'Value y 'OldValue' son iguales y si el registro es nuevo: las que se le predeterminaron en diseño o NULL

.- Al modificar el contenido del objeto activo ([AAA]) aparece la propiedad 'Text' ([AAA].Text) en la que se almacena el 'futuro contenido' (Value y OldValue no se ven afectadas).

.- Al finalizar la modificación en [AAA], el contenido de ([AAA].Text) pasa a ([AAA].Value) y [AAA].Text = ¿? (es indiferente).

.- Al salr del objeto [AAA] en ([AAA].Value o simplificando: en [AAA]) esta el nuevo contenido, en ([AAA].OldValue) el anterior y cualquier referencia a ([AAA].Text) dará error ya que [.Text] solo existe para el objeto activo (cuando admite esa propiedad).

.- En cuanto se guarda el registro, el contenido de/en ([AAA].OldValue) se iguala a ([AAA].Value) y se inicia un nuevo ciclo desde cero.

Si antes de guardar el registro se aborta la edición, los objetos igualan sus propiedades Value y OldValue ( [AAA].Value = [AAA].OldValue] ) recuperando el contenido original no guardado (si esta guardado ya son iguales).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Joan
Val: 414
Bronce
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Falla el evento Al Cambiar

Publicado por Joan (90 intervenciones) el 04/03/2023 10:58:23
Hola,

Pon este código en el evento al cambiar:

1
2
3
4
5
6
7
8
9
10
11
12
13
Private Sub txtIngresaCodigo_Change()
 
Me.Refresh
lblNombreArticulo.Caption = Nz(Me.txtIngresaCodigo)
 
Me.txtIngresaCodigo.SetFocus
 
If Not IsNull(Me.txtIngresaCodigo) Then
Me.txtIngresaCodigo.SelStart = Len(Me.txtIngresaCodigo)
 
End If
 
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar