Triggers otra vez

Hola,
ya resolví el problema de la llamada a los trigers.
Pero imagínese que necesito que cuando la persona actualice o elimine un registro justifique el por que, estoy trabajando fox 9 y el 5 entonces en el 9 utilizo la función inputox y me sale que no se puede hacer por que la tabla esta readonly y en el 5 llamo un formulario y el mismo error, me podría dar una pista de como hacerlo o que debo colocar para llamar al formulario o el inputbox
Gracias.

2 Respuestas

Respuesta
1
Explicame un poco más para ayudarte
Bueno imagínese que tengo que hacer un procedimiento que me registre una eliminación o una modificación por ejemplo que voy a eliminar un registro entonces me debe salir una ventana pidiendo justificación para eliminarlo en la que el usuario tiene que escribir unos datos, entonces ahí esa justificación se manda a una tabla con otros datos, cuando hago el trigger puedo mandar los datos, pero me sale un error cuando trato de mostrar una ventana para que el usuario digite la justificación, en fox 5 y 9
Entonces no se si esta permitido en un trigger llamar ventanas o no y si no se puede no se si sepa de alguna manera de hacer algo parecido gracias.
MAO
Pues imagínese que mi jefe quiere que haga un trigger para modificar y eliminar. Entonces que cuando la persona elimine un registro aparezca una ventana pidiéndole que explique por que quiere borrar el registro y lo mismo cuando modificque esos datos se almacenan en una tabla de registro para después consultarla.
Ya hice lo de los triggers ya quedo bien pero no he podido hacer lo de la ventana me sale un error.
No se que se pueda hacer
Gracias
MAO
Disculpa por no responder estuve metido en unos problemas bueno retomando lo de los triggers que es lo que realmente quieres hacer
El código es el siguiente es un procedimiento y en comentarios voy a colocar lo que no me funciona.
PROCEDURE actu
LOCAL lcTab AS STRING
DO datos
lcTab = ALIAS()
IF EMPTY(ALLTRIM(lcUsu)) THEN
lcUsu = "Por Tabla"
ENDIF
***la idea es que aqui yo pida una explicacion de por que van a modificar los cambios, entonces lo hago con un formulario o un inpuxbox para fox 8 lo haria pero me sale error
*do form algo to variable
INSERT INTO registro VALUES(DATETIME(),lcUsu,lcTab,"update",RECNO())
RETURN .T.
ENDPROC
PROCEDURE borrar
LOCAL lcTab AS STRING
DO datos
lcTab=ALIAS()
IF EMPTY(ALLTRIM(lcUsu)) THEN
lcUsu = "Por Tabla"
ENDIF
***la idea es que aqui yo pida una explicacion de por que van a modificar los cambios, entonces lo hago con un formulario o un inpuxbox para fox 8 lo haria pero me sale error
*do form algo to variable
INSERT INTO registro VALUES(DATETIME(),lcUsu,lcTab,"delete",RECNO())
RETURN .T.
ENDPROC
PROCEDURE insertar
LOCAL lcTab AS STRING
DO datos
lcTab=ALIAS()
IF EMPTY(ALLTRIM(lcUsu)) THEN
lcUsu = "Por Tabla"
ENDIF
***la idea es que aqui yo pida una explicacion de por que van a modificar los cambios, entonces lo hago con un formulario o un inpuxbox para fox 8 lo haria pero me sale error
*do form algo to variable
INSERT INTO registro VALUES(DATETIME(),lcUsu,lcTab,"insert",RECNO())
RETURN .T.
ENDPROC
PROCEDURE datos
PUBLIC lcUsu as String
LOCAL lcRuta as String
lcUsu = ""
IF VARTYPE(sope_nombre)="U" and VARTYPE(sope_nomabr)="U" THEN
ELSE
IF !EMPTY(ALLTRIM(sope_nombre)) THEN
lcUsu = sope_nombre
ENDIF
IF !EMPTY(ALLTRIM(sope_nomabr)) THEN
lcUsu = sope_nomabr
ENDIF
ENDIF
*IF !USED("registro") THEN
* lcRuta = s_p_datmod + "registro"
* USE &lcRuta SHARED
*ENDIF
ENDPROC
Muchas gracias por ayudarme
Podrías proporcionar el código para ayudarte disculpa que no te haya respondido es que estaba fallando la página
Respuesta
1
, lo que pasa es que el comnado INPUTOBOX no esta disponible en la version 5, creo que a eso se debe tu problema.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas