Access - Hacer visible un label (mensaje) mientras exporta a excell

   
Vista:

Hacer visible un label (mensaje) mientras exporta a excell

Publicado por Joaquin (38 intervenciones) el 10/05/2013 09:51:47
Hola compañeros

Con el boton "exportar" llama a una funcion que exporta el resultado de una busqueda que me ha mostrado en un subformulario. Pues aunque parezca mentira no hay manera de hacer visible una label (mensaje) de "Espere por favor..." he probado diferentes cosas pero no hay manera que me muestre el label, ejecute la funcion y vuelva a hacerse invisible el label...es inexplicable....

alguna idea???
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
Imágen de perfil de Norberto

Hacer visible un label (mensaje) mientras exporta a excell

Publicado por Norberto (432 intervenciones) el 13/05/2013 12:49:10
Hola.

¿No será que la exportación es tan sumamente rápida que no da tiempo a verse el mensaje?

Dime cómo realizas al exportación e intentaré hacer algo parecido a ver que pasa.

Un saludo.
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

Hacer visible un label (mensaje) mientras exporta a excell

Publicado por Joaquin (38 intervenciones) el 13/05/2013 12:53:43
si te parece me das un mail y te paso toda la base de datos, asi creo que te sera mas facil comprender el problema
escribeme a la siguiente cuenta y te mando la base...si te parece bien, claro

nerea2408@hotmail.es

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

Hacer visible un label (mensaje) mientras exporta a excell

Publicado por joaquin (38 intervenciones) el 13/05/2013 13:19:08
En el formulario/subformulario tengo un boton de exportar los resultados mostrados en el subformulario a un excell. Lo que realmente hago es al hacer clic llamar a una funcion (que la tengo en un modulo) para que se produzca la exportacion

Option Compare Database
Public Function GenExcelDeSubfActivo()
On Error GoTo Err_GenExcelDeSubfActivo
Dim oAppExcel As Object
Dim oAppLibro As Object
Dim oAppHoja As Object
Dim ElControl As Control
Dim ElFormulario As Form
Dim X As Long
Set ElFormulario = Screen.ActiveForm
For X = 0 To ElFormulario.Controls.Count - 1
If ElFormulario.Controls(X).ControlType = 112 Then
DoCmd.GoToControl ElFormulario.Controls(X).Name
DoCmd.RunCommand acCmdSelectAllRecords
DoCmd.RunCommand acCmdCopy

Set oAppExcel = CreateObject("Excel.Application")
Set oAppLibro = oAppExcel.Workbooks.Add
Set oAppHoja = oAppLibro.Worksheets.Add

oAppHoja.Paste
oAppExcel.Visible = True
End If
Next X

Exit Function

Err_GenExcelDeSubfActivo:
If Err.Number = 2475 Then
MsgBox "No existe un formulario del que se puedan extraer", vbExclamation
Exit Function
End If
MsgBox Err.Number & " " & Err.Description
End Function
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
Imágen de perfil de Norberto

Hacer visible un label (mensaje) mientras exporta a excell

Publicado por Norberto (432 intervenciones) el 13/05/2013 15:12:44
Hola de nuevo.

Prueba a hacer lo siguiente:

Saca el Set oAppExcel = CreateObject("Excel.Application") a antes del For. De esa manera sólo crearás una instancia de Excel y en ella podrás crear tantos libros como subforms haya. Si quieres meter todo en un único libro, en distintas hojas, saca también el Set oAppLibro = oAppExcel.Workbooks.Add.

Define una variable tipo boolean (HeExportado as Boolean) y añade, dentro del If, HeExportado = True. De forma que si se ha realizado al menos una exportación, esta variable valdrá True y en caso contrario, False.

Saca la línea oAppExcel.Visible = True del For y ponla después de la siguiente manera:
If HeExportado Then oAppExcel.Visible = True

Así Excel se activará cuando terminen todas las exportaciones y el formulario estará visible más tiempo desde que pulsas el botón.

Ahora viene la clave. En el evento Al hacer clic, pones justo detrás de
Me.Mensaje.Visible = True
Me.Repaint
para que se repinte el formulario y se vea la etiqueta.

A ver si con todo esto se te arregla.

Un saludo.
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

Hacer visible un label (mensaje) mientras exporta a excell

Publicado por joaquin (38 intervenciones) el 13/05/2013 17:52:49
Muchas gracias Norberto

Con me.repaint

asunto arreglado...es que parecia cosa de brujas

un abrazo
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