Sobre el evento dberror del datawindow

Tengo un window que contiene un datawindow con sus respectivos campos y tres commandbutton el primero para la opción "nuevo", el segundo para la opción "guardar" y el tercero para la opción "eliminar". Cuando pulso el commandbutton "grabar" o eliminar y ocurre un error sale un mensaje de error la cual lo válido así:
//evento dberror del datawindow
messagebox("Error",sqlerrtext+" Error N°: "+string(sqldbcode),stopsign!)
return 1
Lo que desearía es cuando ocurra un error no me salga ese mensaje de error para todos sino que para cada commandbutton salga un mensaje por ejemplo:
//commandbutton "grabar" evento dberror del datawindow
messagebox("Error","Ha ocurrido un error, No se pudo guardar los datos",stopsign!)
return 1
//commandbutton "eliminar" evento dberror del datawindow
messagebox("Error","Ha ocurrido un error, No se pudo eliminar los datos",stopsign!)
return 1
¿Cómo asociaría cada commandbutton para cada tipo de mensaje en el evento dberror del datawindow y no que me salga un mensaje en general de error para todos los commandbutton u otros controles?
Respuesta
1
El power no podrá diferenciar que botón has presionado, lo que te recomiendo es que cada evento de error lo hagas en cada botón, así podrás mostrar el mensaje de acuerdo al botón que has presionado.
Ejm Boton Aceptar
if dw_1.update() = -1 then
   ls_error = sqlca.sqlerrtext
   rollback using sqlca;
   messagebox(title,'Error al intentar grabar la información.~r'+ls_error,stopsign!)
   return
end if

1 respuesta más de otro experto

Respuesta
1
Los eventos update y delete retornan el valor 1 si la transacción fue exitosa y -1 si no lo fue
puedes validar esto en el click del commandbutton
INTEGER upd
upd=dw_1. update()
IF (upd = 1) THEN
 COMMIT USING SQLCA;
ELSE
 ROLLBACK USING SQLCA;
 dw_1.retrieve( )
 MESSAGEBOX('ERROR', 'ha ocurrido un error en la actualizacion')
 return
END IF

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas