Hola aquí te dejo un ejemplo de como debe hacer.
DELIMITER $$
CREATE
/*!50017 DEFINER = 'root'@'localhost' */
TRIGGER `EliminarCliente` BEFORE DELETE ON `tbcliente`
FOR EACH ROW BEGIN
DECLARE cCodCli CHAR(4);
SET cCodCli = OLD.Codigo;
IF EXISTS(SELECT CodCli FROM TbCabecera WHERE CodCli=cCodCli LIMIT 1) THEN
CALL func(1);/*aqui se supone que la funciona no existe
entonces el controlador de errores te retorna y no te deja avanzar
es un pequeño truco*/
END IF;
END;
$$
DELIMITER ;
Desde VFP cuando tratas de eliminar te dirá que esa función no existe pero con Aerror puedes tener el numero de error que te esta dando y de esa manera cada vez que te sale ese error puede tu envías en messagebox con le mensaje que quieres, por otro lado te invito a revisar mi canal ahí encontraras mas información y herramientas.
Saludos;
Ing. Russvell Jesus Soto Gamarra
Framework Multi-conexion v6.0 trabaja cualquier base de datos
(SQLServer, MySQL, Firebird, MariaDB, PostgreSQL, Oracle y etc.)