Visual Basic - Formulario colgado por acceso a base de datos

Life is soft - evento anual de software empresarial
 
Vista:

Formulario colgado por acceso a base de datos

Publicado por Julián Cabria (5 intervenciones) el 17/05/2005 10:52:57
Hola a todos de nuevo. Tengo un problemon. Resulta que tengo que hacer una consulta de referencias cruzadas en una tabla de 30.000 registros. Hasta aquí todo bien. El problema es que esta consulta me tarda bastante en ejecutarse (al utilizar Access...) y mi intención ha sido de mostrar un formulario en el que informe al usuario que se estan obteniendo datos. Cuando la consulta haya finalizado este formulario se esconderá y a continuación se mostrará la aplicación principal.

Ejecuto el siguiente codigo en el formulario de la aplicación principal:

Conectando.Show
Set rs = ConexionBasculas.ObtenerPesadasMensuales
Conectando.Visible = False

El problema es que cuando se muestra el formulario que informa sobre la obtencion de datos, este queda en blanco y no se muestra la descripcion que hay en un label debido a la ejecución de la consulta, queda muerto, como el ordenador, hasta que esta finaliza.

Alguien sabe como solucionarlo??? Se pueden dar prioridades a los formularios??? Yo creo que aunque se pudieran aplicar prioridades a los furmularios no fucionaría ya que de la consulta se encarga el Access.
Cambiaría la base de datos a SQL-Server pero no puedo!!! La base de datos la utilizan otras aplicaciones!!!!

Muchas gracias!!!
Saludos!!!
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:Formulario colgado por acceso a base de datos

Publicado por Matias Freire (421 intervenciones) el 17/05/2005 16:40:22
tengo un a forma de hacerlo.... medio atada con alambre... pero hace lo que vos necesitás...

la línea donde creás la consulta, ponela en un sub publico por ejemplo:

Public Sub Cargar()
Set rs = ConexionBasculas.ObtenerPesadasMensuales
End sub

y en donde actualmente hacés:

Conectando.Show
Set rs = ConexionBasculas.ObtenerPesadasMensuales
Conectando.Visible = False

Reemplazalo solamente por:
Conectando.Show

después, en el form Conectando agregale un timer y poné el siguiente código (suponiendo que el formulario principal donde pusiste la rutina Cargar se llame Consultas)

Private Sub Form_Load()
Timer1.Interval = 200
End Sub

Private Sub Timer1_Timer()
Call frmConsulta.cargar
Timer1.Interval = 0
Timer1.Enabled = False
Unload Conenctando
End Sub

Listo!!!

Espero que esto te sirva Saludos!!!

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

RE:Formulario colgado por acceso a base de datos

Publicado por Julián Cabria (5 intervenciones) el 18/05/2005 09:48:55
Muchas gracias, me ha ido a la perfección!!!!!!!!
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