Chequen esto y ayudenme por favor!!!

luis_ballester
14 de Junio del 2005
espero alguien me ayude bueno lo que quiqero es esto:
1.- que cuando el usuario introduzac su rfc m,e guarde su hora de registro(entrada).
2.- Cuando el usuario intoruzca su rfc antes de 1 minuto que le envie un mensaje que dija que ya no puede introducir su rfc.
3.- que cuando introduzca su rfc despued de 1 hora esta registre su hora de salida
espero alguien me pueda ayudar.
este es el codigo de un procedimimiento que mando llamaar en una consulta la consulta es la siguiente.
Bueno en un input box se le pedira el rf despue llamara al procedimiento Consulta que es la siguiente:
Public Sub Consulta()
Set rs = Nothing
rs.Open "select * from Empleados where RFC= '" & TxtRFC & "'", cn, adOpenDynamic, adLockReadOnly
If rs.BOF = True Then
MsgBox "Este empleado no existe", vbExclamation, "No existe"
Call Estado1
Else
Call Desplegar 'mandar llamar al procedimiento que esta abajo
End If
end sub
el codigo del procedimiento deplegar es este.

Public Sub Desplegar()
TxtFecha = Format(Now, "dd/mm/yy")
TxtNombre = rs.Fields("Nombre").Value & " " & rs.Fields("Paterno").Value & " " & rs.Fields("Materno").Value
en = Format(Now, "hh:mm")
Set rs = Nothing
rs.Open "select * from Entrada where RFC='" & TxtRFC & "'", cn, adOpenDynamic, adLockReadOnly
If rs.BOF Then ' cuando no encuentre niingun registro lo guaradara su entrada por primera vez ok.
cn.Execute "Insert into Entrada values ('" & TxtRFC & "','" & TxtNombre & "','" & TxtFecha & "','" & en & "')"
MsgBox "" & TxtNombre & "." + vbNewLine + "Tu hora de entrada es a las: " & en & vbNewLine + "Que tengas un buen día" + vbNewLine + "GOOD LOOK!", vbInformation, "Mensaje del Sistema"
Call Estado1
Else 'pero si ya hasy registros comparar ra la fecha si la fecha es diferente entonces me lo gusradar por pimera vez en ese dia
If rs.Fields("Fecha").Value <> TxtFecha Then
On Error GoTo msg
cn.Execute "Insert into Entrada values ('" & TxtRFC & "','" & TxtNombre & "','" & TxtFecha & "','" & en & "')"
MsgBox "" & TxtNombre & "." + vbNewLine + "Tu hora de entrada es a las: " & en & vbNewLine + "Que tengas un buen día" + vbNewLine + "GOOD LOOK!", vbInformation, "Mensaje del Sistema"
Call Estado1
Exit Sub
msg:
MsgBox "No se pueden duplicar los datos.", vbCritical, "Mensaje del sistema"
Call Estado1
Else
''aqui esta el problema que no se como hacerle que por ejemplo si es la misma fecha pero que si es menos de un minuto el registro mande mensaje de que no pued ey despues de 1 hora ya sea o ya guarade su hora de slaida como elpuedo hacer espero alguien me ayude gracias y loq ue sige creo que esta mi error o o no??===????
If rs.Fields("Hora_Entrada").Value <> "" Then
cn.Execute "Insert into Salida values ('" & TxtRFC & "','" & TxtNombre & "','" & TxtFecha & "','" & en & "')"
MsgBox "" & TxtNombre & "." + vbNewLine + "Tu hora de salida es a las: " & en & vbNewLine + "Que tengas un buen día" + vbNewLine + "GOOD LOOK!", vbInformation, "Mensaje del Sistema"
Call Estado1
End If
End If
End If
End Sub
gracias de antemando,
atte
nello

krizall
14 de Junio del 2005
hola, porque no lo haces mas facil
un campo para hora entrada otro para hora salida y te evitas de mucho codigo

por ejemplo, si existe el registro pues hacer una consulta como esta

select Hentrada,hsalida from talbla where rfc=aqui el rfc a buscar

if rs!hentrada="00:00" then 'suponiendo que este es el valor por defaul que tiene un campo
'aqui pones el insert para la hora de entrada
elseif rs!hsalida="00:00" then
'aqui el insert para hora salida
else
'ya registro tanto la entrada como la salida
end if

ahora, con respecto a poner condiciones puedes hacer un procedimiento aparte por ejemplo

private sub comprobar(he as time, hs as time)as boolean
'aqui haces tuprocedimento para saber si ya paso una hora o lo que quieras
end sub

y este procedimiento lo llamas antes de insertar el registro de salida


creo que lo que tu haces es tener un campo de hora y otro de estado (en para entrada y sa para salida) eso supongo yo

espero te sirva de algo este comentario, pero para hacer mas faciles las cosas busca en google como restar fechas y horas, aunque en la siguiente pagina encontraras lo que te digo www.elguille.info/default.aspx

suerte