RE:Ayuda con reporte hecho desde codigo
Ahi va el codigo:
Private Sub cmdaceptar_Click()
‘sacamso el mes
mes = cmbmes.ListIndex + 1
‘sacamos el año
ano = Year(Date)
‘hacemos la fecha
dfecha = "01/" & mes & "/" & ano
‘ponemos formato a la fecha
dfecha = Format(dfecha, "dd/mm/yyyy")
‘hacemos la variable con el titulo del informe
titulo = Me.cmbmes.Text & " " & ano
‘ponemos el titulo
Plantilla2.Sections("cabeza").Controls.Item("titulo").Caption = titulo
‘sacamos el total de dias del mes
ultimodiadelmes = DateSerial(Year(dfecha), Month(dfecha) + 1, 0)
‘cojemos el numero de dias
dias = Left(ultimodiadelmes, 2)
‘ cojemos el resto de las fechas
resto = Right(dfecha, 8)
‘creamos la consulta
consulta = "select * from t_conductores where destino = 'Serv. generales' order by nombrecon asc"
‘abrimos el recordset
rst.Open consulta, cnn, adOpenKeyset, adLockOptimistic
‘ponemos el origin de datos del formulario
Set plantilla2.DataSource = rst
plantilla2.Orientation = rptOrientLandscape
i = 1
dias = Int(dias)
variable = 32
variable2 = 33
‘mientras I sea menor que el numero de dias las etiquetas y los recuadros que ‘corresponden al numero de dias las ponemos visibles y si son fin de semana las ‘ponemos en rojo
While i <= dias
fecha = i & resto
esFinSemana fecha
cuadro = "Forma" & variable
etiqueta = "Etiqueta" & variable2
plantilla2.Sections("encabezado").Controls.Item(cuadro).Visible = True
plantilla2.Sections("encabezado").Controls.Item(etiqueta).Visible = True
If FinSemana Then
plantilla2.Sections("encabezado").Controls.Item(cuadro).BackColor = 255
End If
i = i + 1
variable = variable + 1
variable2 = variable2 + 1
Wend
‘ mientras no acabe el recordset, hacmeos lo mismo con las etiquetas, y si trabajo ese ‘dia, le ponemos de caption una “X”
While Not rst.EOF
plantilla2.Sections("seccion").Controls.Item("nombre").DataField = rst.Fields(1).Name
i = 1
While i <= dias
fecha = i & resto
esFinSemana fecha
etiqueta = "Etiqueta" & i
forma = "Forma" & i
plantilla2.Sections("seccion").Controls.Item(etiqueta).Visible = True
plantilla2.Sections("seccion").Controls.Item(etiqueta).Caption = ""
plantilla2.Sections("seccion").Controls.Item(forma).Visible = True
If FinSemana Then
plantilla2.Sections("seccion").Controls.Item(forma).BackColor = 255
End If
i = i + 1
Wend
consulta = "Select fechasal from itinerarios where nifcond = '" & rst.Fields(0) & "' and MONTH(FechaSal) = " & mes
rst1.Open consulta, cnn, adOpenKeyset, adLockOptimistic
While Not rst1.EOF
diatrabajado = Day(rst1.Fields(0))
etiqueta = "Etiqueta" & diatrabajado
plantilla2.Sections("seccion").Controls.Item(etiqueta).Caption = "X"
rst1.MoveNext
Wend
rst1.Close
rst.MoveNext
Wend
plantilla2.Show
End Sub