Visual Basic - Ayuda con reporte hecho desde codigo

Life is soft - evento anual de software empresarial
   
Vista:

Ayuda con reporte hecho desde codigo

Publicado por luisito (2 intervenciones) el 23/11/2007 11:06:07
Estoy haciendo un informe desde codigo. Tengo una tabla con trabajadores y en otra informacion de todos los dias que trabajaron. lo que hago es poner una caja de texto en el informe y 31 etiquetas que corresponden a cada dia del mes. Asi consigo como un calendario.
el funcionamiento es sencillo. averiguo los dias del mes, y hago un bucle poniendo todas las etiquetas hasta ese dia del mes en visible. luego saco los dias que trabajo y en cada etiqueta que trabajó pongo de caption una X.
El problema es que si tengo 10 trabajadores, las etiquetas de todos los trabajadores cojen el valor del ultimo trabajador.
¿porque cambian todas las etiquetas y no solo las etiquetas del trabajador en el que estoy modificandolas?
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

RE:Ayuda con reporte hecho desde codigo

Publicado por pepillo (4 intervenciones) el 24/11/2007 12:25:28
Puede ser que el codigo no sea bueno.

¿porque no pones como lo estas haciendo?
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

RE:Ayuda con reporte hecho desde codigo

Publicado por luisito (3 intervenciones) el 24/11/2007 12:47:14
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
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

RE:Ayuda con reporte hecho desde codigo, PLEASE!!!

Publicado por luisito (3 intervenciones) el 25/11/2007 17:42:20
¿Hay alguna instruccion para ir imprimiendo linea a linea en el informe para solucionar este problema?¿Nadie sabe porque me sucede esto?
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