Como s cuando edito y nuevo?
Publicado: Mar Ago 16, 2005 10:51 pm
Saludos:
Tengo un formulario general que contiene el siguiente codigo:
METHOD AddNew(oFrm) CLASS TFormMant
WITH OBJECT oFrm
:cText := "Agregar Nuevo"
::oDataSet:AddNew()
:ShowModal()
if :nModalResult == mrOK
::oDataSet:Update()
::oDBw:Refresh()
else
::oDataSet:Cancel()
endif
:End()
END WITH
RETURN NIL
//---------------------------------------------------------- --------------------
METHOD Edit(oFrm) CLASS TFormMant
WITH OBJECT oFrm
:cText := "Editar Registro"
::oDataSet:Edit()
:ShowModal()
// Since the form is closed here is important that you put
lHideOnClose to .T.
// when finished just destroy the form with End()
if :nModalResult == mrOK
::oDataSet:Update()
::oDBw:RefreshCurrent()
else
::oDataSet:Cancel()
endif
:End()
END WITH
RETURN NIL
Para hacer todos los mantenimientos de los ficheros auxiliares empleo un prg
para cada fichero que contiene este codigo:
METHOD AddNew( oSender ) CLASS TSocios
Super:AddNew(TFormSociosNew():New( Self ) )
RETURN Nil
//---------------------------------------------------------- -------------
METHOD Edit( oSender ) CLASS TSocios
Super:Edit(TFormSociosNew():New( Self ) )
RETURN Nil
Como se observa se llama al mismo formulario para los nuevos registro que
para editar un registro, yo necesito saber cuando estoy en modo edicción y
cuando es nuevo pero lo necesito saber en este formulario (TFormSociosNew)
no en el formulario generico que es el del primer código que es donde se
produce la pulsación o la acción de seleccionar lo que se va a hacer.
Segundo que evento debo activar para que no funcione el botón de OK mientras
no contengan datos una determinada seríe de DBEDIT, y si puede ser un
ejemplo sencillo de su uso, ya lo complicaré yo seguro, en algunos
compiladores era EditChange aquí no lo sé.
Tercero que evento desencadena que se pueda hacer un seguimiento de algunos
EDIT para comprobar si lo que ha metido el operador se ajusta a lo requerido
o si ha introducido una serie de datos desencadenar que se llene otro DBEDIT
asociado a este en otros compiladores EDITFOCUSCHANGE, o por el contrario si
se tiene que hacer EDIT por EDIT o se puede hacer con un DO CASE que se
pueda saber el control que es y pongas lo que debe contener.
Cuarto se sabe cuando va ha estar disponible el editor de reportes tipo
(CristalReport, ReportPro).
Quinto se puede hacer funcionar un Active X, y si es así está ya operativo y
con que versión.
Una sugerencia porque TDBEDIT no tiene la propiedad cPicture y si la tiene
TDBEDITBTN.
Bueno eso es todo espero vuestra respuesta.
entendible.
José Ramón Castro Polinio
JRCPOLI@terra.es
Tengo un formulario general que contiene el siguiente codigo:
METHOD AddNew(oFrm) CLASS TFormMant
WITH OBJECT oFrm
:cText := "Agregar Nuevo"
::oDataSet:AddNew()
:ShowModal()
if :nModalResult == mrOK
::oDataSet:Update()
::oDBw:Refresh()
else
::oDataSet:Cancel()
endif
:End()
END WITH
RETURN NIL
//---------------------------------------------------------- --------------------
METHOD Edit(oFrm) CLASS TFormMant
WITH OBJECT oFrm
:cText := "Editar Registro"
::oDataSet:Edit()
:ShowModal()
// Since the form is closed here is important that you put
lHideOnClose to .T.
// when finished just destroy the form with End()
if :nModalResult == mrOK
::oDataSet:Update()
::oDBw:RefreshCurrent()
else
::oDataSet:Cancel()
endif
:End()
END WITH
RETURN NIL
Para hacer todos los mantenimientos de los ficheros auxiliares empleo un prg
para cada fichero que contiene este codigo:
METHOD AddNew( oSender ) CLASS TSocios
Super:AddNew(TFormSociosNew():New( Self ) )
RETURN Nil
//---------------------------------------------------------- -------------
METHOD Edit( oSender ) CLASS TSocios
Super:Edit(TFormSociosNew():New( Self ) )
RETURN Nil
Como se observa se llama al mismo formulario para los nuevos registro que
para editar un registro, yo necesito saber cuando estoy en modo edicción y
cuando es nuevo pero lo necesito saber en este formulario (TFormSociosNew)
no en el formulario generico que es el del primer código que es donde se
produce la pulsación o la acción de seleccionar lo que se va a hacer.
Segundo que evento debo activar para que no funcione el botón de OK mientras
no contengan datos una determinada seríe de DBEDIT, y si puede ser un
ejemplo sencillo de su uso, ya lo complicaré yo seguro, en algunos
compiladores era EditChange aquí no lo sé.
Tercero que evento desencadena que se pueda hacer un seguimiento de algunos
EDIT para comprobar si lo que ha metido el operador se ajusta a lo requerido
o si ha introducido una serie de datos desencadenar que se llene otro DBEDIT
asociado a este en otros compiladores EDITFOCUSCHANGE, o por el contrario si
se tiene que hacer EDIT por EDIT o se puede hacer con un DO CASE que se
pueda saber el control que es y pongas lo que debe contener.
Cuarto se sabe cuando va ha estar disponible el editor de reportes tipo
(CristalReport, ReportPro).
Quinto se puede hacer funcionar un Active X, y si es así está ya operativo y
con que versión.
Una sugerencia porque TDBEDIT no tiene la propiedad cPicture y si la tiene
TDBEDITBTN.
Bueno eso es todo espero vuestra respuesta.
entendible.
José Ramón Castro Polinio
JRCPOLI@terra.es