Buscar campos concatenados

Hola buen día, tengo una tabla cuyo campos principales a buscar son:
año n 4
nroreg n 6
El indice de la tabla es snro_reg como primaria con estos dos campos año+nroreg
El resto de campos son nombre, fecha_ing, oibserv, etc
Tengo almacenados en dichos campos año=2012 y nroreg=999999
Tengo un mantenimiento de ingreso de datos con dos variables publicas en el evento load a y b, al momento de pulsar el botón nuevo se habilitan dos cajas de texo, txtAño y txtNroreg el evento valid de ambas son:
txtAño evento valid
a=thisform.txtAño.value
txtNroreg evento valid
b=thisform.txtNroreg.value
thisform.busca
Procedimiento busca
se le mitabla
set filt to
set orde to tag SNRO_REG
go top
SEEK(a+b)
IF FOUN()
........
else
wait "No existe" WIND
RETU.T.
endif
Si ingreso 2012 en txtAño y 999999 txtNroreg siempre me bota el mensaje No existe, a pesar de que en mi tabla tengo los datos ingresados como 2012 y 999999. No se si estoy haciendo algo ma, las propiedades de txtAño son inputmask=9999 y maxlength=4 y para txtNrorer son inputmask=999999 y maxlength=6. Gracias de antemano.

1 respuesta

Respuesta
1
Puedes hacer lo que tu necesitas usando instrucciones sql en este caso el select tu podrías hacer lo siguiente en tu procedimiento busca
Procedimiento busca
select count(año) as ncuenta from mitabla where año=a and nroreg=b into cursor ctempbusca
if ctempbusca.ncuenta = 0 or isnull(ctempbusca.ncuenta)
messagebox("no existe")
return .t.
else
Messagebox("ya existe el registro")
Endif
Básicamente con eso solucionarías tu problema, pruébalo a ver que tal te va y alguna duda me la comentas

Añade tu respuesta

Haz clic para o