Panel de Control

Esta vez era para ver si me puedes indicar como puedo añadir más de ocho botones en el Panel de Control, ya que no se como puedo hacerlo, o si no deja añadir más. Ya que todos sabemos que tiene limitaciones, pero si hay alguna manera de poder hacerlo agradecería que me lo indicases.

1 respuesta

Respuesta
1
Efectivamente se pueden añadir más de los 8 botones que coloca el asistente para panel de control.
1. Cambia en el procedimiento de evento original por:
Private Sub FillOptions()
' Llenar las opciones para esta página del panel de control.
' Cantidad de botones que hay en el formulario.
Const conNumButtons = 11 ' constante que va a definir el total de botones que queremos
3.- Añade tantos botones de comando al formulario como conNumButtons pongas.
2. Ahora solo tienes que editar directamente los registro en la tabla Elementos del Panel de control:
El campo SwitchboardID indica el botón de la página actual del panel.
El campo ItemNumber es el Item del botón en la siguiente página (usamos el mismo botón para distintos items), o lo que es lo mismo el majeador para el click de ese botón =HandleButtonClick(11).
El campo ItemText es la descripción para ese item.
El campo Command es el equivalente a las 8 Constantes para los comandos que se pueden ejecutar.
El campo Argument es el argumento para el comando, puede ser el nombre de un informe, formulario, macro, ... etc.
Bueno, esto es solo orientativo, puedes probar con lo dicho hasta que le cojas el hilo.
P.E.:
SwitchboardID 9 es el noveno boton de comando en la página principal (la 0), el Command es 0 por el Case Me.Filter = "[ItemNumber] = 0 AND [SwitchboardID]="Argument ... y en Argumento no tenemos nada.
Perdona, pero al poner más botones me da un error, es el siguiente:
Private Sub FillOptions()
' Llenar las opciones para esta página del panel de control.
' Cantidad de botones que hay en el formulario.
Const conNumButtons = 9
Dim dbs As Database
Dim rst As Recordset
Dim strSQL As String
Dim intOption As Integer
' Establecer el enfoque al primer botón del formulario
' y ocultar todos los botones del formulario menos
' el primero. No se puede ocultar el campo que tiene
' el enfoque.
Me![Option1].SetFocus
For intOption = 2 To conNumButtons
Me("Option" & intOption).Visible = False (Aqui me da un error)
Me("OptionLabel" & intOption).Visible = False
Next intOption
A más me dice error 2465 en tiempo de ejecución
¿Me puedes decir algo? Muchas gracias
Option1 es el nombre del primer botón de comando en el panel de control, y lo que el código pretende en esa linea es ocultar el resto de botones si no se están usando. Si añades un nuevo botón de comando tienes que añadir la linea correspondiente en la tabla, caso contrario tendrás un error al evaluar el Me("Option" & intOption).
Comprueba de todas formas que no le has cambiado el nombre a ese control. Y mira también en el menu Herramientas>Referencias del depurador que tienes marcadas las referencias a la Biblioteca de tipo Microsoft DAO 3.6 Object Library, también sirve con Microsoft DAO 2.5/3.5 Compatibility Library, aunque no las dos a la vez.
NOTA: todos los botones que añadas sera mejor que los llames Option... siguiendo la secuencia que pondría el asistente, del 1 al ...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas