Busqueda CON SEEK

Programadores requiero de su ayuda, he creado un indice con mis campos sede+dtoc(fecha de ingreso)+cod_cli, el primero y el segundo son de tipo char, entonces cuando presiono guardar quiero que busque en la tabla si los registros son iguales y que el campo fecha de alta esta vacio NO me permita guardar ,,,,,,,,, actualmente tengo estas lineas pero no funciona espero se me halla entendido gracias por la ayuda
selec tabla1
public cod
set order to seh
cod=alltrim(thisform.sede.value)+dtoc(thisform.fechaingresotext6.value)+alltrim(thisform.codcliente.value)
seek cod
if found()then
if cod=alltrim(sede)+dtoc(fecha de ingreso)+alltrim(cod_cli)
messagebox("El cliente ya existe y NO fue registrado como alta","Mensaje del sistema")
thisform.text1.value=""
thisform.text1.setfocus
Endif
Endif
2

2 Respuestas

34.925 pts. Tengo amplia experiencia en Clipper v 5
if cod=alltrim(sede)+dtoc(fechaingreso)...
Se me hace código de más...
8.250 pts.
Revise tu código y me imagino, que el problema es que no diferencia si la fecha estavacia o no.
Si es así solo modifica lo sig, si no es ese el caso se más explicito y con gusto te ayudare.
if found()then
*if cod=alltrim(sede)+dtoc(fecha de ingreso)+alltrim(cod_cli) && esto no va porque si se encontro el registro es porque es igual cod. estas siendo redondante, esto ya lo hiciste con el seek; en su lugar poner.
if  empty(fecha de ingreso) or isnull(fecha de ingreso)
 messagebox("El cliente ya existe y NO fue registrado como alta","Mensaje del sistema")
thisform.text1.value=""
thisform.text1.setfocus
endif
else
messagebox("cliente ya existe..", "Mensaje del sistema")
thisform.text1.value=""
thisform.text1.setfocus
Endif
**
El seek se encarga de buscar la coincidencia de un registro ( en tu caso un indice)
Si se encuentra no se puede guardar porque ya existe, solo queda saber si fue registrado como alta ono (bueno eso según lo que explicas), para ello se checa si la fecha es ta vacía o nulla.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas