Estoy aprendiendo a hacer un tpv, los botones de la forma mas sencilla posible y a mi nivel. Estaba haciendolo en mdb, pero el tema de los colores no lo lleva bien, por lo que ahora estoy haciendola en accdb con access 2013.
Con este simple codigo el boton se pone de el color deseado, en este caso rojo, hasta hay todo bien y facil. Y si lo pongo asi funciona de hecho en la base de datos
Me.NombreBoton.BackColor=255
Yo tengo creado una formulario con 100 botones y mediante un recordset le asigno a cada boton tipo de letra, color de letra, visible si no etc, me funciona todo menos ponerle color al boton.
El codigo es este y como digo todo lo hace bien menos el colorear el boton, por mas que lo miro y repaso, veo todo bien.
Los dos que estan en negrita uno u otro deberian funcionar pero no lo hacen.......
Private Sub Form_Load()
'Bucle que ira poniendo datos de cada boton Dim rst As DAO.Recordset 'sacado de qryPAraRecordset Set rst = CurrentDb.OpenRecordset("SELECT tbPaneles.Orden, tbPaneles.Panel, tbPaneles.TextoPanel, tbBotones.NombreBoton, tbBotones.TextoBoton, tbBotones.BotonImagen, tbBotones.ColorBoton, tbBotones.ColorLetras, tbBotones.ProductoID, tbBotones.AccionBoton, tbBotones.EsVisible FROM tbPaneles INNER JOIN tbBotones ON tbPaneles.Orden = tbBotones.OrdenPaneles WHERE (((tbPaneles.Orden)=1));")
'Aqui verificamos si la consulta del recordset anterior tiene registros. If rst.RecordCount = 0 Then ' Si no hay registros nos avisa de que no hay nada que facturar MsgBox "No hay botones en la tabla"
Else
While rst.EOF = False 'Abre el bucle, mientras sea False se ejecuta???Cuando en el recordset no hay registros sera True y saldra del bucle??
'MsgBox " " & rst("NombreBoton") & " " 'Esto es para probar 'MsgBox " " & rst("ColorBoton") & " " 'Esto es para probar
Dim varControl As String varControl = rst("NombreBoton") Me.Controls(varControl).BackColor = 255 Me.Controls(varControl).ForeColor = rst("ColorLetras") 'Color letras Me.Controls(varControl).BackColor = rst("ColorBoton") 'Color boton No pilla color no se porque??? Me.Controls(varControl).FontName = "Courier" 'Tipo letra Me.Controls(varControl).Fontsize = 6 'Me.Controls(varControl).Enabled = False Me.Controls(varControl).Visible = rst("EsVisible") 'Boton visible si o no Me.Controls(varControl).Caption = rst("TextoBoton") 'Texto boton Me.Controls(varControl).OnClick = "=PruebaCC()" 'Asignamos al evento Click la Funcion PruebaCC rst.MoveNext Wend rst.Close Set rst = Nothing
End If
End Sub
|