Progress Bar

Tengo un formulario con un solo botón que al darle click me exporta una tabla como archivo de excel, quiero en la parte de abajo del botón colocar una barra de progreso, he tratado con las etiquetas que se sobreponen pero no me funciona, sabes como puedo hacer que cuando se este exportando la tabla a archivo de excel, ¿vaya saliendo la barra de progreso?

1 respuesta

Respuesta
1
Para utilizar un termómetro o progress bar en la barra de estado, que vaya mostrando el estado del prograso, debes utilizar el método SysCmd.
A continuación te envío la ayuda que ofrece Access 2002 sobre este método.
Método SysCmd
Vea también Se aplica a Ejemplo Específicos
Se puede utilizar el método SysCmd para mostrar un indicador de progreso o un texto opcional en la barra de estado, devolver información acerca de Microsoft Access y los archivos asociados, o devolver el estado de un objeto de base de datos especificado (para indicar si el objeto está abierto, si es un objeto nuevo o si se ha modificado pero no se ha guardado). Variant.
Expresión. SysCmd(Action, Argument2, Argument3)
Expresión Requerida. Expresión que devuelve uno de los objetos de la lista Aplicar a.
Action AcSysCmdAction requerida. Una de las constantes intrínsecas siguientes, que identifican el tipo de acción a realizar. El conjunto de constantes siguientes son para un indicador de evolución. El método SysCmd devuelve Null si estas acciones tienen éxito. En caso contrario, Microsoft Access genera un error en tiempo de ejecución.
AcSysCmdAction puede ser una de estas constantes AcSysCmdAction.
AcSysCmdAccessDir. Devuelve el nombre del directorio donde se encuentra Ms access.exe.
AcSysCmdAccessVer. Devuelve el número de versión de Microsoft Access.
AcSysCmdClearHelpTopic
AcSysCmdClearStatus. La constante siguiente proporciona información sobre el estado de un objeto de base de datos.
AcSysCmdGetObjectState. Devuelve el estado del objeto de base de datos especificado. Cuando se utiliza este valor action, se debe especificar argument1 y argument2 .
AcSysCmdGetWorkgroupFile. Devuelve la ruta de acceso al archivo de grupo de trabajo (System. Mdw).
AcSysCmdIniFile. Devuelve el nombre del archivo .ini asociado a Microsoft Access.
AcSysCmdInitMeter. Inicializa el indicador de evolución. Cuando se utiliza esta acción, es necesario especificar los argumentos argument1 y argument2.
AcSysCmdProfile. Devuelve el valor de /perfil que especifica el usuario al iniciar Microsoft Access desde la línea de comandos.
AcSysCmdRemoveMeter. Elimina el indicador de evolución.
AcSysCmdRuntime. Devuelve True (-1) si se está ejecutando una versión de tiempo de ejecución de Microsoft Access.
AcSysCmdSetStatus. Establece en la barra de estado el argumento texto.
AcSysCmdUpdateMeter. Actualiza el indicador de evolución con el valor especificado. Al especificar esta acción es necesario indicar el argumento texto.
Argument2 Variant opcional. Expresión de cadena que identifica el texto a mostrar alineado a la izquierda en la barra de estado. Este argumento es necesario cuando el argumento acción es acSysCmdInitMeter, acSysCmdUpdateMeter o acSysCmdSetStatus, y no es válido para otros valores del argumento acción.
Nota Cuando se utiliza el argumento acSysCmdGetObjectState, Excel requiere el uso de Argument2 con una de las siguientes constantes intrínsecas.
AcTable
AcQuery
AcForm
AcReport
AcMacro
AcModule
AcDataAccessPage
AcDefault
AcDiagram
AcServerView
AcStoreProcedure
Este argumento no es válido para otros valores de argumento action.
Argument3 Variant opcional. Expresión numérica que controla la presentación del indicador de evolución. Este argumento es necesario cuando el argumento acción es acSysCmdInitMeter, y no es válido para otros valores del argumento acción.
Nota Cuando se utiliza el argumento acSysCmdGetObjectState, Excel requiere el uso de Argument3. Una expresión de cadena que representa el nombre válido de un objeto de base de datos del tipo especificado por Argument2. Este argumento no es válido para otros valores de argumento action.
Comentarios
Por ejemplo, si está generando un asistente personalizado que crea un nuevo formulario, puede usar el método SysCmd para mostrar un indicador de evolución que represente el progreso del asistente al generar el formulario.
Al llamar al método SysCmd con las distintas acciones de indicador de evolución puede mostrar un indicador de evolución en la barra de estado para las operaciones con duración o número de etapas conocidos, y actualizarlo para mostrar la evolución de la operación.
Para mostrar un indicador de evolución en la barra de estado, primero debe llamar al método SysCmd con acSysCmdInitMeter en el argumento acción y especificando los argumentos texto y valor. Cuando acción es acSysCmdInitMeter, el argumento valor es el valor máximo del indicador, o 100 por ciento.
Para actualizar el indicador y mostrar la evolución de la operación, llame al método SysCmd con acSysCmdUpdateMeter en el argumento acción y especificando el argumento valor. Cuando el argumento acción es acSysCmdUpdateMeter, el método SysCmd utiliza el argumento valor para calcular el porcentaje que debe mostrar el indicador. Por ejemplo, si establece como valor máximo 200 y actualiza el indicador con el valor 100, el indicador de evolución aparecerá relleno hasta la mitad.
También puede cambiar el texto mostrado en la barra de estado, llamando al método SysCmd con el argumento acSysCmdSetStatus acción y especificando el argumento texto. Por ejemplo, durante un proceso de ordenación podría cambiar el texto a "Ordenando...". Cuando terminase el proceso, restablecería la barra de estado eliminando el texto especificado. El argumento texto puede contener unos 80 caracteres. Como el texto de la barra de estado se muestra con una fuente proporcional, el número efectivo de caracteres que se pueden mostrar está determinado por el ancho total de los caracteres especificados en el argumento texto.
Al aumentar la longitud del texto de la barra de estado se reduce la del indicador de evolución. Si el texto es más largo que la barra de estado y el argumento acción es acSysCmdInitMeter, el método SysCmd omite el texto y no muestra nada en la barra de estado. Si el texto es más largo que la barra de estado y el argumento acción es acSysCmdSetStatus, el método SysCmd truncará el texto para ajustarlo a la barra de estado.
No se puede establecer el texto de la barra de estado en una cadena de longitud cero (" "). Si desea eliminar el texto actual de la barra de estado, establezca en el argumento texto un espacio. En los ejemplos siguientes se indican formas de eliminar el texto de la barra de estado:
varReturn = SysCmd(acSysCmdInitMeter, " ", 100)
varReturn = SysCmd(acSysCmdSetStatus, " ")
Si el indicador de evolución ya está en pantalla al establecer el texto llamando al método SysCmd con el argumento acSysCmdSetStatus en acción, el método SysCmd eliminará automáticamente el indicador.
Puede llamar a la función SysCmd con otras acciones para obtener información del sistema sobre Microsoft Access, como el número de versión de Microsoft Access en ejecución, si se trata de una versión en tiempo de ejecución, la ubicación del archivo ejecutable de Microsoft Access, el valor del argumento /perfil especificado en la línea de comandos, y el nombre del archivo .ini asociado a Microsoft Access.
Nota Tanto la configuración general como la personalizada de Microsoft Access se almacenan ahora en el Registro de Windows, por lo que probablemente no será necesario un archivo .INI para la aplicación de Microsoft Access. El argumento acSysCmdIniFile para acción existe sólo por motivos de compatibilidad con versiones anteriores de Microsoft Access.
Puede llamar al método SysCmd con el argumento acción acSysCmdGetObjectState y especificando los argumentos tipoobjeto y nombreobjeto para obtener el estado del objeto de base de datos especificado. Un objeto puede estar en uno de cuatro estados posibles: no abierto o no existente, abierto, nuevo o modificado pero no guardado.
Por ejemplo, si está diseñando un asistente que inserta un nuevo campo en una tabla, deberá determinar si la estructura de la tabla ha variado y aún no se ha guardado para poder guardarla antes de modificar su estructura. Puede comprobar el valor devuelto por el método SysCmd para determinar el estado de la tabla.
El método SysCmd con el argumento acción acSysCmdGetObjectState puede devolver cualquier combinación de las constantes siguientes:
Constante Estado del objeto de base de datos Valor (Value)
acObjStateOpen Abrir 1
acObjStateDirty Modificado y no guardado 2
acObjStateNew Nuevo 4
Nota Si el objeto al que se refiere el argumento objectname no está abierto o no existe, el método SysCmd devuelve un valor cero.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas