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