Problema con sentencia
Publicado por Pedro (2 intervenciones) el 07/08/2006 23:48:01
Hola amigos foristas
Tengo un problemita, he tratado de realizar una sentencia en la cual capturo el maximo de un campo de la tabla data(Tabla DATA campos , ident,c1,c2,c3.......)
SELECT MAX(IDENT)
INTO :ls_max
FROM DATA;
IF(isnull(ls_max))THEN
li_registro=0;
ELSE
li_registro=long(ls_max)+1;
END IF
ls_max=string(li_registro)
es un proceso en cual quiero insertar una cantidad de registros agregandolos a la tabla, pero con la condicion de que si el valor del campo C1(formulario) esta en la tabla ya registrado lo lo inserte y de un salto oviando esta insercion.
todo esta sentencia con la captura del numero mayor de ident.
SELECT IDENT,FORMULARIO,PLACA,MONTO,ESTACION,,RECLAMO,TIPO_INF
FROM DATA2005
WHERE formulario=:PRI_1 using sqlca;
if sqlca.sqlcode=0 then
messagebox('Sistema', 'El Formulario ya se encuentra registrado')
else
INSERT INTO DATA(IDENT,formulario,placa,monto,estacion,reclamo,tipo_inf)
VALUES(:ls_max,:PRI_1,:PRI_2,:PRI_3,:PRI_4,:PRI_5,:PRI_6)USING SQLCA;
IF sqlca.sqlcode=-1 then
ROLLBACK USING SQLCA;
//messagebox('Sistema','No se grabo!!!')
ELSE
COMMIT USING SQLCA;
//messagebox('Sistema','Grabacion OK!!!')
END IF
Espero que me haya explicado bien sino avisenmen necesito ayuda, ya que cuando aplico la sentencia no inserta la condicion de si el formulario existe
Ayuda please
Tengo un problemita, he tratado de realizar una sentencia en la cual capturo el maximo de un campo de la tabla data(Tabla DATA campos , ident,c1,c2,c3.......)
SELECT MAX(IDENT)
INTO :ls_max
FROM DATA;
IF(isnull(ls_max))THEN
li_registro=0;
ELSE
li_registro=long(ls_max)+1;
END IF
ls_max=string(li_registro)
es un proceso en cual quiero insertar una cantidad de registros agregandolos a la tabla, pero con la condicion de que si el valor del campo C1(formulario) esta en la tabla ya registrado lo lo inserte y de un salto oviando esta insercion.
todo esta sentencia con la captura del numero mayor de ident.
SELECT IDENT,FORMULARIO,PLACA,MONTO,ESTACION,,RECLAMO,TIPO_INF
FROM DATA2005
WHERE formulario=:PRI_1 using sqlca;
if sqlca.sqlcode=0 then
messagebox('Sistema', 'El Formulario ya se encuentra registrado')
else
INSERT INTO DATA(IDENT,formulario,placa,monto,estacion,reclamo,tipo_inf)
VALUES(:ls_max,:PRI_1,:PRI_2,:PRI_3,:PRI_4,:PRI_5,:PRI_6)USING SQLCA;
IF sqlca.sqlcode=-1 then
ROLLBACK USING SQLCA;
//messagebox('Sistema','No se grabo!!!')
ELSE
COMMIT USING SQLCA;
//messagebox('Sistema','Grabacion OK!!!')
END IF
Espero que me haya explicado bien sino avisenmen necesito ayuda, ya que cuando aplico la sentencia no inserta la condicion de si el formulario existe
Ayuda please
Valora esta pregunta


0