Imprimir página | Cerrar ventana

error en tiempo de ejecucion

Impreso de: Foro de Access y VBA
Categoría: Access y VBA
Nombre del foro: Access y VBA
Descripción del foro: Foro de programacion en Access (Con código y sin código)
URL: http://www.mvp-access.com/foro/forum_posts.asp?TID=84197
Fecha de impresión: 21/Abril/2019 a las 22:52


Tema: error en tiempo de ejecucion
Publicado por: a.alf
Asunto: error en tiempo de ejecucion
Fecha de publicación: 28/Diciembre/2018 a las 17:15
Hola.
Voy a intentar explicarme, ya que es bastante raro lo queme ocurre.
Tengo una aplicación realizada en access 2016 de 64 bits, la cual en un ordenador con access instalado y Windows 10 funciona correctamente.
La instalo en un panel PC táctil con Windows 7 y la runtime de access 2016 y todo funciona correctamente, menos el desplazamiento entre los registros del formulario.
Ejecuto funciones con vba, abro y cierro formularios, informes y todo correcto, pero en el momento que intento cambiar del registro a otro casca. Lo intente con los botones de desplazamiento originales del formulario como con unos creados con macro por mi y sigue cascando.
El mensaje que me manda es:
La ejecución de esta aplicación se ha detenido a causa de un error en tiempo de ejecución.
La aplicación no puede continuar y se cerrará.

No me manda ningún numero de error.
Llevo ya dos días pegándome con esto y no lo veo.
A alguien le ha ocurrido algo parecido?

Muchas gracias por vuestra atención.




-------------
Un saludo.

Si alguien te regala su tiempo, agradecelo eternamente, ya que te está dando algo que nunca recuperará.



Respuestas:
Publicado por: xavi
Fecha de publicación: 29/Diciembre/2018 a las 13:34
Hola,

Partamos de la base de que el error obtenido es el típico mensaje de error que devuelve el RunTime. Me explico: Access "normal" maneja los errores no controlados de forma que nos presenta un mensaje con el típico Continuar/Depurar/Finalizar. RunTime no puede mostrar ese error y devuelve uno genérico (de ahí que no pueda devolver ningún numero de error)

Por otro lado dices que la aplicación está desarrollada en 2016 64 bits mientras que sospecho que el "panel PC táctil" es 32 bits (o tiene instalado un RunTime de 32 bits).

Ahí puedes tener el problema. Parece que tienes algún código en el evento Current que no le "mola" al RunTime. Dado que ese evento se ejecuta tanto si utilizamos botones de navegación originales como propios, ahí es dónde primero miraría.


¿La solución? 
Lanzar esa aplicación en un Access "normal" en un entorno igual al del "panel PC táctil" para cazar el error.

Un saludo


-------------
Xavi, un minyó de Terrassa

http://www.llodax.com" rel="nofollow - Mi web


Publicado por: a.alf
Fecha de publicación: 29/Diciembre/2018 a las 22:26
Buenas noches y gracias por tu tiempo.
El panel PC es seguro de 64 bits, y la runtime, a no ser que este equivocado, también es la de 64 bits, de todas formas lo comprobare e intentare conseguir algún equipo de 32 bits, para ver si consigo ver algún error.
De nuevo gracias por vuestra atención y ya os comento si consigo cazar el error.


-------------
Un saludo.

Si alguien te regala su tiempo, agradecelo eternamente, ya que te está dando algo que nunca recuperará.


Publicado por: a.alf
Fecha de publicación: 29/Diciembre/2018 a las 22:44
Hola de nuevo.
El código que tengo en el Form es el siguiente:
Private Sub Form_Current()
If Forms!Datos_batt!Datos_Litio!Detecta_Tab = "False" Then
    Me.litio.Picture = "C:\TwinCAT\Programes\cerrar.png"
  Else
    Me.litio.Picture = ""
End If
If Forms!Datos_batt!Datos_Catodo!Detecta_Tab = "False" Then
    Me.catodo.Picture = "C:\TwinCAT\Programes\cerrar.png"
  Else
    Me.catodo.Picture = ""
End If
If Forms!Datos_batt!Datos_Paquete!Celos_ok = "False" Or Forms!Datos_batt!Datos_Paquete!Cortocircuito = "False" Then
    Me.paquete.Picture = "C:\TwinCAT\Programes\cerrar.png"
  Else
    Me.paquete.Picture = ""
End If
 If Texto57 <> 0 Then
    If Forms!Datos_batt!Datos_Bolsa!Embuticion_ok = "False" Or Forms!Datos_batt!Datos_Bolsa!Corte_ok = "False" Then
       Me.bolsa.Picture = "C:\TwinCAT\Programes\cerrar.png"
    Else
      Me.bolsa.Picture = ""
    End If
 Else
       Me.bolsa.Picture = "C:\TwinCAT\Programes\cerrar.png"
End If
 
End Sub

El Form consta de unos campos de la tabla Datos_batt y un control de 5 pestañas con 5 subformularios.
Con el código anterior solo muestro una imagen en la pestaña si los datos del subform vienen con algún error.


-------------
Un saludo.

Si alguien te regala su tiempo, agradecelo eternamente, ya que te está dando algo que nunca recuperará.


Publicado por: pitxiku
Fecha de publicación: 30/Diciembre/2018 a las 11:12
Estas usando rutas completas para buscar las imágenes. Estas seguro que en el panel tienes guardadas las imágenes en esa carpeta, con esa dirección? Y si es así, el usuario tiene permiso para acceder a esa carpeta?


Publicado por: a.alf
Fecha de publicación: 30/Diciembre/2018 a las 17:48
Hola y gracias también por tu tiempo.
La imagen esta en la misma carpeta que la aplicación de access, y la aplicacacion de access la llamo desde un programa de PLC llamado TwinCAT.
Todo funciona correctamente. La aplicación de access se llama desde TwinCAT con varios parámetros y se abre en diferentes informes o en el formulario que hace cascar la aplicación. Los permisos deben de estar bien asignados, de lo contrario la aplicación no se abriría.


-------------
Un saludo.

Si alguien te regala su tiempo, agradecelo eternamente, ya que te está dando algo que nunca recuperará.


Publicado por: xavi
Fecha de publicación: 30/Diciembre/2018 a las 18:08
Lo primero que yo haría es poner un control de errores en ese procedimiento. Por lo menos de esa forma podrías saber el numero de error y su descripción.

Un saludo


-------------
Xavi, un minyó de Terrassa

http://www.llodax.com" rel="nofollow - Mi web


Publicado por: a.alf
Fecha de publicación: 02/Enero/2019 a las 09:14
Buenos días.
Siguiendo los consejos de Xavi introduje un control de errores en el current del form, y sorpresa la mía
el error era que la aplicación no podia abrir el archivo png. Me he puesto a mirar y no lo podia abrir, porque no estaba, se ve que en alguna de las pruebas lo borre.Embarrassed (Tenias razón pitxiku) 

Todo solucionado y perdonar las molestias ocasionadas.
Podéis cerrar el hilo.




-------------
Un saludo.

Si alguien te regala su tiempo, agradecelo eternamente, ya que te está dando algo que nunca recuperará.



Imprimir página | Cerrar ventana