Comparar registros y sumar
Publicado por Gonzalo (1 intervención) el 06/04/2011 00:29:35
hola amigos como estan, espero que alguien me pueda ayudar
les comento que estoy trabajando en un programa en vb6 y uso sql server 2000
el programa lo que deberia hacer en resumen es sumar las horas de guardia que realicen los medicos en un hospital.
tengo problemas en ese punto ya que cuando reliazo el calculo para comparar registros iguales y que me sume un determinado valor, toma en cuenta el ultimo registro de la tabla y me suma una vez sola, lo que esta mal ya que ese medico se encuentra mas de dos veces en esa busqueda que haria el programa.
la tabla se llama Puerta y sus campos hacen referencia a los turnos qiue los medicos deben cumplir en un dia de trabajo: Turno_0_8 , Turno_8_14, Turno_14_20, Turno_20_24.
Estuve probando primero con la primera columna (Turno_0_8) para que me devolviera la suma de horas que un medico hace en el turno corresponiente a esa columna,( cada turno de esta columna es de 8 horas, debe sumar el valor 8 cada vez que se repita un registro en esta columna)
aqui les dejo el codgo que estuve probando, soy novato en esto de la progrmacion, sepan disculpar mi ignorancia y espero que me ayuden
On Error Resume Next
total_0_8 = 0
rs_Puerta.MoveFirst
While Not rs_Puerta.EOF
If rs_Puerta.Fields("Turno_0_8") = rs_Puerta.Fields("Turno_0_8") Then
medico = rs_Puerta.Fields("Turno_0_8")
total_0_8 = 8
End If
total_0_8 = total_0_8 + 8
rs_Puerta.MoveNext
Wend
rs_Calculos.AddNew
rs_Calculos.Fields("Cant_Horas") = total_0_8
rs_Calculos.Fields("Nomb1_Ape1") = medico
rs_Calculos.Save
rs_Calculos.Update
rs_Calculos.Close
conectar.Close
les comento que estoy trabajando en un programa en vb6 y uso sql server 2000
el programa lo que deberia hacer en resumen es sumar las horas de guardia que realicen los medicos en un hospital.
tengo problemas en ese punto ya que cuando reliazo el calculo para comparar registros iguales y que me sume un determinado valor, toma en cuenta el ultimo registro de la tabla y me suma una vez sola, lo que esta mal ya que ese medico se encuentra mas de dos veces en esa busqueda que haria el programa.
la tabla se llama Puerta y sus campos hacen referencia a los turnos qiue los medicos deben cumplir en un dia de trabajo: Turno_0_8 , Turno_8_14, Turno_14_20, Turno_20_24.
Estuve probando primero con la primera columna (Turno_0_8) para que me devolviera la suma de horas que un medico hace en el turno corresponiente a esa columna,( cada turno de esta columna es de 8 horas, debe sumar el valor 8 cada vez que se repita un registro en esta columna)
aqui les dejo el codgo que estuve probando, soy novato en esto de la progrmacion, sepan disculpar mi ignorancia y espero que me ayuden
On Error Resume Next
total_0_8 = 0
rs_Puerta.MoveFirst
While Not rs_Puerta.EOF
If rs_Puerta.Fields("Turno_0_8") = rs_Puerta.Fields("Turno_0_8") Then
medico = rs_Puerta.Fields("Turno_0_8")
total_0_8 = 8
End If
total_0_8 = total_0_8 + 8
rs_Puerta.MoveNext
Wend
rs_Calculos.AddNew
rs_Calculos.Fields("Cant_Horas") = total_0_8
rs_Calculos.Fields("Nomb1_Ape1") = medico
rs_Calculos.Save
rs_Calculos.Update
rs_Calculos.Close
conectar.Close
Valora esta pregunta


0