** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - Parpadeo en formulario
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoParpadeo en formulario

 Responder Responder Página  12>
Autor
Mensaje
ximo Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 03/Marzo/2006
Localización: España
Estado: Sin conexión
Puntos: 1925
Enlace directo a este mensaje Tema: Parpadeo en formulario
    Enviado: 12/Noviembre/2016 a las 22:14
Hola,

Tengo un formulario de inicio, donde tengo un control subform donde a su vez voy cargando los diferentes formularios que quiero mostrar.
El problema está en que en unos formularios que cargo son con un control de pestañas y cuando avanzo por los registros en él mostrados se produce un parpadeo como de flash, no es una transición límpia entre registros y queda muy feo, es normal o se puede evitar, en el current solo tengo esto, que no veo yo que pueda afectar:

Private Sub Form_Current()
    Me.lstSocio.RowSource = "SELECT TCobros.Socio, TCobros.Año, MonthName(TCobros.Mes) As Mes, TCobros.Importe, TCobros.Cobrado, TCobros.Fecha FROM TCobros WHERE TCobros.Socio=" & Me.NumSocio
    Me.lstActividadSocio.RowSource = "SELECT TClases.ID, TClases.Socio, TActividades.Actividad, TClases.FAltaClase, TClases.BajaClase, TClases.FBajaClase FROM TActividades INNER JOIN TClases ON TActividades.IDActividad = TClases.Actividad WHERE TClases.Socio=" & Me.NumSocio
    'mostrar foto en el form
    Dim strRuta As String
    strRuta = CurrentProject.Path & "\fotosGim\" & Nz(Me.txtRuta_Foto, "SinFoto.jpg")
    If Dir(strRuta) <> "" Then Me.imgSocio.Picture = strRuta

End Sub



Saludos, ximo
La incansable busqueda de información abre nuestras mentes

Saludos desde Burriana
Arriba
Mihura Ver desplegable
Administrador
Administrador
Avatar

Unido: 06/Mayo/2005
Localización: En la dehesa
Estado: Sin conexión
Puntos: 11055
Enlace directo a este mensaje Enviado: 13/Noviembre/2016 a las 09:30
Prueba con:

Application.Echo False
.
.
aquí tu código de carga
.
.
Application.Echo True


Jesús Mansilla Castells.
Saludos desde Móstoles.

Access Aplicaciones
Tecsys.es
Arriba
ximo Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 03/Marzo/2006
Localización: España
Estado: Sin conexión
Puntos: 1925
Enlace directo a este mensaje Enviado: 13/Noviembre/2016 a las 10:11
Hola Jesús,

Pués me sigue haciendo lo mismo, cuando cambio de registro es como si desapareciera y volviera a aparecer el formulario.


Saludos, ximo
La incansable busqueda de información abre nuestras mentes

Saludos desde Burriana
Arriba
Mihura Ver desplegable
Administrador
Administrador
Avatar

Unido: 06/Mayo/2005
Localización: En la dehesa
Estado: Sin conexión
Puntos: 11055
Enlace directo a este mensaje Enviado: 13/Noviembre/2016 a las 10:22
Es que casi, casi que lo vuelves a crear con el cambio de RowSource ..

¿Y con un DoEvents?

Application.Echo False
.
.
aquí tu código de carga
.
.
DoEvents
Application.Echo True
Jesús Mansilla Castells.
Saludos desde Móstoles.

Access Aplicaciones
Tecsys.es
Arriba
ximo Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 03/Marzo/2006
Localización: España
Estado: Sin conexión
Puntos: 1925
Enlace directo a este mensaje Enviado: 13/Noviembre/2016 a las 10:27
Pues lo mismo, se podría poner el codigo en otro evento aunque creo que no.


Saludos, ximo
La incansable busqueda de información abre nuestras mentes

Saludos desde Burriana
Arriba
ximo Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 03/Marzo/2006
Localización: España
Estado: Sin conexión
Puntos: 1925
Enlace directo a este mensaje Enviado: 13/Noviembre/2016 a las 11:02
He encontrado el causante pero no la solución.

    Dim strRuta As String
   ' strRuta = CurrentProject.Path & "\fotosGim\" & Nz(Me.txtRuta_Foto, "SinFoto.jpg")
   ' If Dir(strRuta) <> "" Then Me.imgSocio.Picture = strRuta

Este código es el causante del parpadeo, como lo soluciono.


Saludos, ximo
La incansable busqueda de información abre nuestras mentes

Saludos desde Burriana
Arriba
Mihura Ver desplegable
Administrador
Administrador
Avatar

Unido: 06/Mayo/2005
Localización: En la dehesa
Estado: Sin conexión
Puntos: 11055
Enlace directo a este mensaje Enviado: 13/Noviembre/2016 a las 11:24
Oculta el control, carga los datos y vuelve a mostrarlo
Jesús Mansilla Castells.
Saludos desde Móstoles.

Access Aplicaciones
Tecsys.es
Arriba
ximo Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 03/Marzo/2006
Localización: España
Estado: Sin conexión
Puntos: 1925
Enlace directo a este mensaje Enviado: 13/Noviembre/2016 a las 11:54
Lo he puesto así pero sin resultados.

    Forms!FMenu!ctlSubForm.Form!imgSocio.Visible = False
    strRuta = CurrentProject.Path & "\fotosGim\" & Nz(Me.txtRuta_Foto, "SinFoto.jpg")
    If Dir(strRuta) <> "" Then Me.imgSocio.Picture = strRuta
    DoEvents
    Forms!FMenu!ctlSubForm.Form!imgSocio.Visible = True
No se quita el parpadeo.

saludos, ximo
La incansable busqueda de información abre nuestras mentes

Saludos desde Burriana
Arriba
Mihura Ver desplegable
Administrador
Administrador
Avatar

Unido: 06/Mayo/2005
Localización: En la dehesa
Estado: Sin conexión
Puntos: 11055
Enlace directo a este mensaje Enviado: 13/Noviembre/2016 a las 12:00
Oño ... pues no sé que más decirte ... lo que tenía que haber dado resultados es el ECHO False, ya que literalmente detiene la actualización de la pantalla, y cuando se pone en True muestra la pantalla ya construida, yo lo he utilizado y me ha dado buenos resultados.

A ver si alguien sabe por dónde avanzar ...


Jesús Mansilla Castells.
Saludos desde Móstoles.

Access Aplicaciones
Tecsys.es
Arriba
prga Ver desplegable
Moderador
Moderador


Unido: 16/Noviembre/2004
Localización: España
Estado: Sin conexión
Puntos: 3177
Enlace directo a este mensaje Enviado: 13/Noviembre/2016 a las 12:59
Hola.
Creo recordar, y digo creo,  que ese problema se daba con versiones de access 2003 y/o anteriores.
Por hacer algo, prueba cambiando los jpg por bmp 
Ya comentas.
un saludo a todos
Arriba
ximo Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 03/Marzo/2006
Localización: España
Estado: Sin conexión
Puntos: 1925
Enlace directo a este mensaje Enviado: 13/Noviembre/2016 a las 19:06
Hola,

Antes que nada decir que el access utilizado es A2010, con el A2003 no tenía problemas para casos similares mostrando jpgs solo en el current de un formulario de A2003 tengo esto y funciona a la perfección ni un solo parpadeo.

Private Sub Form_Current()
    On Error GoTo ControlErrorForm_Current
    If Me.RecordsetClone.RecordCount = 0 Then
        If Me.Filter = "" Then
            Me.chkArrastrar.Enabled = False
            Call OcultaBotones
            Me.Enlace.Enabled = False
            Me.Cerrar.Enabled = True
            Me.btnEditarMonedas.Enabled = False

        Else
            Me.Filter = ""
            Me.FilterOn = False
            Me.lblfiltro.Visible = False
            Me.TimerInterval = 0
        End If

    Else
    End If

    If Me.NewRecord Then
        Me.AllowEdits = True
    Else
        Me.chkArrastrar = 0
    End If
    'Me.AllowEdits = False
    Me.Imagen1.Picture = ""
    Me.Imagen2.Picture = ""
    Dim strA As String
    Dim strB As String
    strA = "C:\Numisoftware\DatosNumi\html\Fotos Monedas\" & Nz(Me.RutaAnverso, "SinFoto.jpg")
    strB = "C:\Numisoftware\DatosNumi\html\Fotos Monedas\" & Nz(Me.RutaReverso, "SinFoto.jpg")

    If Dir(strA) <> "" Then Me.Imagen1.Picture = strA
    If Dir(strB) <> "" Then Me.Imagen2.Picture = strB
    Me.Nº.Enabled = False
    Me.BandejaHoja.Enabled = False
    Me.Posicion.Enabled = False
    Me.btnAnverso.Visible = False
    Me.btnReverso.Visible = False
    Me.Aqui.Visible = False
    Me.lblSinDefinir.Visible = False
    Call ActualizaMonedas
    Call VerRutasMon
    Call ActualizaBotones
    Call ActualizaBandera
    Call ActBotones(False)
    If Me.IdMoneda <> "" Then
    Else
        Me.AllowEdits = False
    End If
    'Me.AllowEdits = False
    Me.Refresh
    'End If
    Exit Sub
ControlErrorForm_Current:
    fPRO = "Form_Current"
    fRET = funErrorMessage(Me, fPRO)

End Sub

En cambio en A2010 con esta sola instruccción,

strRuta = CurrentProject.Path & "\fotosGim\" & Nz(Me.txtRuta_Foto, "SinFoto.jpg")
    If Dir(strRuta) <> "" Then Me.imgSocio.Picture = strRuta

El parpadeo al cambiar de registro es tan notable que me da grima verlo, estoy por quitar la foto del socio porque no puedo con ello.
He convertido las fotos a BMP con el mismo resultado.


Saludos, ximo



La incansable busqueda de información abre nuestras mentes

Saludos desde Burriana
Arriba
emiliove Ver desplegable
Moderador
Moderador


Unido: 16/Junio/2009
Localización: Mexico
Estado: Sin conexión
Puntos: 4939
Enlace directo a este mensaje Enviado: 13/Noviembre/2016 a las 19:40
Prueba una cosa más:
En Opciones=>Base de datos actual=>Convertir todos los datos de imagen en mapas de bits (compatible con Access 2003 y versiones anteriores=>True

Saludos.
Arriba
ximo Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 03/Marzo/2006
Localización: España
Estado: Sin conexión
Puntos: 1925
Enlace directo a este mensaje Enviado: 13/Noviembre/2016 a las 20:40
Sin resultados, hola Emilio.


Saludos, ximo
La incansable busqueda de información abre nuestras mentes

Saludos desde Burriana
Arriba
VIMIPAS Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 06/Enero/2006
Localización: ESPAÑA
Estado: Sin conexión
Puntos: 5226
Enlace directo a este mensaje Enviado: 13/Noviembre/2016 a las 21:14
Hola buenas noches a todos.

Ximo yo comprobaría si se repite "dos veces" el evento Current.

Si es así (yo creo que sí, al menos lo he detectado en otras ocasiones y para otras cosas), vería de ponerlo en otro sitio ese evento.

También me sucede cuando pinto/repinto o retoco varios (false/true) controles en el mismo formulario y en el mismo instante.

Según tengo entendido a una versión superior (2010 mas 2003) le han ido corrigiendo errores de la anterior, aunque para nosotros "no fuera un error".

Saludos
Gracias
Arriba
-Marta- Ver desplegable
Moderadora
Moderadora
Avatar

Unido: 08/Septiembre/2005
Localización: Venus
Estado: Sin conexión
Puntos: 2970
Enlace directo a este mensaje Enviado: 13/Noviembre/2016 a las 21:21
Ximo no te compliques la vida, copia a tu BD un form de otra con formato 2003 y le pasas todos los controles y codigo VB del form que parpadea


Arriba
 Responder Responder Página  12>
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable