Visual Basic - marcar en msflexgrid días festivos de una bd

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil
Val: 29
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

marcar en msflexgrid días festivos de una bd

Publicado por juan francisco (25 intervenciones) el 19/03/2019 21:31:52
Buenas tardes,

tengo el siguiente código:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
Grid.Clear
fechainicial = "01/" & Text1(1) & "/" & Text1(0)
numdias = DaysInMonth(fechainicial)
Grid.Cols = numdias + 2
'If IsDate(fechainicial) Then
    For i = 0 To numdias
        With Grid
            .Redraw = False
            .Rows = 4
            .FixedRows = 2
            '.Cols = numdias + 2 '31+3= 34
            For ii = 0 To .Rows - 1
                .RowHeight(ii) = 300
            Next
             .RowHeight(2) = 0
            '.RowHeightMin = 300
'                   .ColWidth(i + 1) = 1300
            .ColWidth(0) = 300
'                   .ColWidth(1) = 1300
'                   .TextMatrix(0, 1) = "ID EMPLEADO"
            .ColWidth(i + 1) = 450
            If i <= .Cols - 3 Then
                .TextMatrix(0, i + 1) = Format(CStr(FormatDateTime(fechainicial + i, vbShortDate)), "d")
                .TextMatrix(1, i + 1) = UCase(Format(i + 1 & "/" & Text1(1) & "/" & Text1(0), "ddd"))
            End If
            If Weekday(fechainicial + i, vbMonday) = 7 Then
                numc = i + 1
                fila = 1
                .Col = numc
                .Row = fila
                .CellForeColor = vbRed
                .TextMatrix(2, i + 1) = "D"
            End If
 
            .ColWidth(.Cols - 1) = 900
            .TextMatrix(0, .Cols - 1) = "HORAS"
            .Col = 1
            .Row = 3
            .Redraw = True
        End With
    Next i

y los siguientes campos en la bd de la tabla festivos:
id,fecha,descripcion
y quiero hacer una consulta y que la fecha la busque en las columnas del msflexgrid y lo marque de color rojo

Gracias por todo
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
sin imagen de perfil
Val: 152
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

marcar en msflexgrid días festivos de una bd

Publicado por raul (63 intervenciones) el 25/03/2019 21:17:59
el truco esta en agregar desde un inicio la cantidad de columnas necesarias para que represente los dias de un mes determinado, por ejemplo febrero tiene 28 dias o sea que tiene que tener 28 columnas. Ahora creamos una rutina para averiguar si el mes de febrero tiene dias festivos y como las columnas representan los dias solo nos queda acceder a la columna indicada y cambiar la propiedad backcolor
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