FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Encontrar un registro determinado.
Hola a todos!!, estoy haciendo una agenda personal y en una parte donde quiero poner un cuadro que guarda los horarios, con la hora i el dia, que cuando el usuario clica me crea un registro con el título de trabajo y la hora y el dia correspondiente al cuadro que cliquea, el caso es que si ya existe un registro del (por ejemplo) Lunes a las 12, de 12 a 13 si añado el siguiente cuadro no quiero que se me cree un registro sino que me modifique el anterior. Por tanto y resumiendo ¿como puedo encontrar un registro con una serie de requisitos? (por ejemplo con una determinada fecha, hora y cita), y ¿cómo puedo hacer que si existe este registro me lo modifique y si no que me lo cree de nuevo?. Se me ha ocurrido algo así, (esta mal eso es seguro):
Código:
If (ADOTAgenda.FieldByName('Cita_T01').AsString<>'Trabajar') and (ADOTAgenda.FieldByName('Fecha_T01').AsString<>FormatDateTime('dd"/"mm"/"yyyy',now+I)) and (ADOTAgenda.FieldByName('Fin_T01').AsString<>InttoStr(Acol+7)+':00:00') then Begin Showmessage('Hola'); ADOTAgenda.Edit; DsAgenda.DataSet.Append; ADOTAgenda['Cita_T01']:='Trabajar'; ADOTAgenda['Fecha_T01']:=FormatDatetime('dd"/"mm"/"yyyy',now+I); ADOTAgenda['Hora_T01']:=InttoStr(Acol+7)+':00:00'; ADOTAgenda['Fin_T01']:=''; ADOTAgenda['Fin_T01']:=InttoStr(Acol+7+(horasdia(Acol)))+':00:00'; ADOTAgenda['Prioridad_T01']:=True; ADOTAgenda.Post; End Else Begin ADOTAgenda.Edit; DsAgenda.DataSet.Insert; ADOTAgenda['Cita_T01']:='Trabajar'; ADOTAgenda['Fecha_T01']:=FormatDatetime('dd"/"mm"/"yyyy',now+I); ADOTAgenda['Hora_T01']:=InttoStr(Acol+7)+':00:00'; ADOTAgenda['Fin_T01']:=InttoStr(Acol+8)+':00:00'; ADOTAgenda['Prioridad_T01']:=True; ADOTAgenda.Post; End; End;
__________________
"La perseverancia es el camino del éxito" |
#2
|
|||
|
|||
¿No te vale con la función locate?, si existe el registro te posicionará en él.
Saludos. |
#3
|
|||
|
|||
yo diria
Yo creo que el locate no es bueno
pues aun cuando no encuentre el valor seva al ultimo registro siempre es mejor usar un confiable Query 'select * from tabla where campo = 'parametro' |
#4
|
||||
|
||||
Cita:
En la descripción del método Locate de TDataSet (del cuál descienden TAdoDataSet y TAdoTable) se dice: Cita:
// Saludos |
|
|
|