
25/03/2004, 03:57
|
| | Fecha de Ingreso: enero-2004
Mensajes: 75
Antigüedad: 21 años, 2 meses Puntos: 0 | |
Problema Con .net Tengo el siguiente problema.
He creado una tabla en access, con un ID (clave principal y autonumerico), un codigo, una fecha, una entrada y una salida.
En el programa cuando le doy a entrar, en la base de datos se me graba la hora de entrada, luego cuando le doy a salir, con un UPDATE, guardo la hora de salida. Si le doy otra vez a entrar y salir me lo guarda igual que como el anterior.
El problema viene, cuando le doy a entrar, guarda en la base de datos. Y le vuelvo a dar entrar, me lo guarda en otra fila. En este momento que me lo guarda, quiero que me salga un mensaje diciendo que anteriormente no habia guardado una hora de salida.
Si guardo una hora de salida, se me guarda en el ultimo registro insertado.
Y si le vuelvo a dar a hora de entrada, como el ultimo registro tiene una hora de salida, no quiero que me salga el mensaje de que la ultima vez no guardo una hora de salida. Si no, que quiero q me salga un mensaje normal, diciendo, has entrado a tal hora.
La situacion es la siguiente:
ID CODIGO FECHA ENTRADA SALIDA
1 121 25/03/2004 9 9:30
2 121 25/03/2004 10 11
3 121 25/03/2004 12
4 121 25/03/2004 15 16
En el ID = 4, cuando insertara la hora de entrada, me saldria un mensaje diciendo "Antes no inserto la hora de salida"
En el siguiente registro (ID = 5) me guardaria la hora de entrada, y teoricamente el mensaje seria "Ha entrado a las 17" (por ejemplo)
A mi eso no me sale, pq a mi me pone, el otro mensaje ("Antes no ha insertado una hora de salida"(mentira)). debajo dejo el codigo, a ver si alguien sabe como hacerlo.
oData = Conexion.HoraEntrada("SELECT * FROM Presencia WHERE Codigo = '" & TextBox1.Text & "' and Salida is null and Fecha = '" & Fecha & "' ORDER BY ID DESC")
oDataHoraEntrada = Conexion.HoraEntrada("SELECT * FROM Presencia WHERE Codigo = '" & TextBox1.Text & "' and Salida is null and Fecha = '" & Fecha & "' ORDER BY ID DESC")
If oDataHoraEntrada.Tables("Presencia").Rows.Count = 0 Then
Grabar.ControlHoraEntrada(sComan, Me.TextBox1.Text, Me.HoraEntrada.Text, Fecha, MesActual)
MsgBox(Me.Nombretxt.Text & " " & "ha entrado a las" & " " & Me.HoraEntrada.Text)
Else
If oData.Tables("Presencia").Rows(0).Item("Salida") Is DBNull.Value Then
If oData.Tables("Presencia").Rows.Count > 0 Then
Grabar.ControlHoraEntrada(sComan, Me.TextBox1.Text, Me.HoraEntrada.Text, Fecha, MesActual)
MsgBox("La última vez que salió, no insertó la hora de salida. Por favor hable con su superior")
Else
Grabar.ControlHoraEntrada(sComan, Me.TextBox1.Text, Me.HoraEntrada.Text, Fecha, MesActual)
MsgBox(Me.Nombretxt.Text & " " & "ha entrado a las" & " " & Me.HoraEntrada.Text)
End If
End If
End If
__________________ Gracias y un saludo |