Gracias por tu aportacion, lo probare y te respodere
"Daniel Du Pré" <
ddupre@macrosistemas.com.uy> escribió en el mensaje
news:[email=
459bdf43@news.xailer.com...]
459bdf43@news.xailer.com...[/email]
> Pilo:
> Te adjunto un .prg hecho en Xailer que hace la validación correspondiente
> Espero que te sirva, a mi me funciona perfecto, no se si habrá forma de
> hacer lo mismo pero más profesional, yo también soy un novato.
>
>
>
> Saludos y feliz 2007!!!
> Daniel
>
> PILO escribió:
>> Necesito si alguien me pued explicar los siguiente:
>> desde un formularino con un oDataSet creo otro
>> para añadir un registro a este oDataSet,
>> en el nuevo formulario para poner los datos utilizo so siguiente
>> oSender:oDataSet := ::oParent:oDataSet
>> ne la opcion ONCREATE
>> esto me funciona bien, pero como soy un novato lo que quiero hacer es los
>> siguiente en el nuevo formulario donde
>> pongo los datos nuevos:
>> Necesito utilizar todos los datos que tiene el oDataSet del formulario
>> anterior
>> me explico en un TDBEDIT, cuando salo de el tengo que comprobar que el
>> dato
>> de dicho campo no exista en la base de
>> datos oDataSet. Una ayuda para esto de cualquiera de vosostros no tiene
>> por
>> que ser el equipo de Xailer
>> Con esta ayuda y las que he espueto anteriormente, creo que ya puedo
>> pasar
>> mis programas a Xailer.
>> Tamien la he puesto en la profesional
>>
>>
>>
>
------------------------------------------------------------ --------------------
> /*
> * Proyecto: wventas
> * Fichero: Prog6100.prg
> * Descripción: Manenimiento de la tabla auxiliar de Ramos
> * Autor: Daniel J. Du Pré Ruiz
> * Fecha: 22/08/2006
> */
>
> #include "Xailer.ch"
>
> CLASS TRamos FROM TForm
>
> COMPONENT oToolBar1
> COMPONENT oNtxRamos
> COMPONENT oRamos
> COMPONENT oBrowseRamos
> COMPONENT oBrowseRamosColumn1
> COMPONENT oBrowseRamosColumn2
>
>
> METHOD CreateForm()
> METHOD FormInitialize( oSender )
> METHOD BrowseRamosColumn2HeaderClick( oSender, nFlags, nPosX, nPosY )
> METHOD BrowseRamosColumn1HeaderClick( oSender, nFlags, nPosX, nPosY )
> METHOD PrimeroClick( oSender )
> METHOD AnteriorClick( oSender )
> METHOD SiguienteClick( oSender )
> METHOD UltimoClick( oSender )
> METHOD Agregar( oSender )
> METHOD Eliminar( oSender )
> METHOD Modificar( oSender )
> METHOD FormKeyDown( oSender, nKey, nFlags )
> METHOD CerrarClick( oSender )
>
> ENDCLASS
>
> #include "Prog6100.xfm"
>
> //---------------------------------------------------------- --------------------
>
> METHOD FormInitialize( oSender ) CLASS TRamos
>
> ::oRamos():Open()
> ::oRamos():OrdSetFocus(1,,,.T.)
>
> Return Nil
>
> //---------------------------------------------------------- --------------------
>
> METHOD BrowseRamosColumn1HeaderClick( oSender, nFlags, nPosX, nPosY )
> CLASS TRamos
>
> ::oRamos():OrdSetFocus(1,,,.T.)
> ::oBrowseRamos():GoTop()
>
> Return Nil
>
> //---------------------------------------------------------- --------------------
>
> METHOD BrowseRamosColumn2HeaderClick( oSender, nFlags, nPosX, nPosY )
> CLASS TRamos
>
> ::oRamos():OrdSetFocus(2,,,.T.)
> ::oBrowseRamos():GoTop()
>
> Return Nil
>
> //---------------------------------------------------------- --------------------
>
> METHOD PrimeroClick( oSender ) CLASS TRamos
>
> ::oBrowseRamos():GoTop()
>
> Return Nil
>
> //---------------------------------------------------------- --------------------
>
> METHOD AnteriorClick( oSender ) CLASS TRamos
>
> ::oBrowseRamos():GoUp()
>
> Return Nil
>
> //---------------------------------------------------------- --------------------
>
> METHOD SiguienteClick( oSender ) CLASS TRamos
>
> ::oBrowseRamos():GoDown()
>
> Return Nil
>
> //---------------------------------------------------------- --------------------
>
> METHOD UltimoClick( oSender ) CLASS TRamos
>
> ::oBrowseRamos():GoBottom()
>
> Return Nil
>
> //---------------------------------------------------------- --------------------
>
> METHOD Agregar( oSender ) CLASS TRamos
> local oForm
>
> WITH OBJECT oForm := TProg6110():CreateForm(Self)
> :cText := "Agregar Ramos"
> ::oRamos:AddNew()
> :oNroRamo:lEnabled := .T.
> :oNroRamo:Value := 0
> :ShowModal()
> if :nModalResult == mrOK
> ::oRamos:Update()
> ::oBrowseRamos:Refresh()
> else
> ::oRamos:Cancel()
> endif
> END WITH
>
> Return Nil
>
> //---------------------------------------------------------- --------------------
>
> METHOD Eliminar( oSender ) CLASS TRamos
>
> if MsgYesNo("¿Confirma eliminar este Ramo?")
> ::oRamos():Delete()
> endif
>
> Return Nil
>
> //---------------------------------------------------------- --------------------
>
> METHOD Modificar( oSender ) CLASS TRamos
> Local oForm
>
> WITH OBJECT oForm := TProg6110():New(Self)
> :cText := "Modificación de Ramos"
> :oNroRamo:lEnabled := .F.
> ::oRamos:Edit()
> :ShowModal()
> if :nModalResult == mrOK
> ::oRamos:Update()
> ::oBrowseRamos:RefreshCurrent()
> else
> ::oRamos:Cancel()
> endif
> :End()
> END WITH
>
> Return Nil
>
> //---------------------------------------------------------- --------------------
>
> METHOD FormKeyDown( oSender, nKey, nFlags ) CLASS TRamos
>
> IF nKey == VK_RETURN
> ::oToolbar1:aItems[ 6 ]:OnClick()
> Return 0
> ENDIF
>
> Return Nil
>
> //---------------------------------------------------------- --------------------
>
> METHOD CerrarClick( oSender ) CLASS TRamos
>
> ::Close()
>
> Return Nil
>
> //---------------------------------------------------------- --------------------
>
------------------------------------------------------------ --------------------
> /*
> * Proyecto: wventas
> * Fichero: Prog6110.prg
> * Descripción: Pantalla para leer los campos de la tabla Ramos en A y M
> * Autor: Daniel J. Du Pré
> * Fecha: 02/09/2006
> */
>
> #include "Xailer.ch"
>
> CLASS TProg6110 FROM TForm
>
> COMPONENT oLabel1
> COMPONENT oLabel2
> COMPONENT oNroRamo
> COMPONENT oDetalle
> COMPONENT oAceptar
> COMPONENT oCancelar
>
> METHOD CreateForm()
> METHOD FirstCreate( oSender )
> METHOD NroRamoExit( oSender, oNextCtl )
>
> ENDCLASS
>
> #include "Prog6110.xfm"
>
> //---------------------------------------------------------- --------------------
>
> METHOD FirstCreate(oSender) Class TProg6110
>
> oSender:oDataSet := ::oParent:oRamos
>
> Return Nil
>
> //---------------------------------------------------------- --------------------
>
> METHOD NroRamoExit( oSender, oNextCtl ) CLASS TProg6110
>
> WITH OBJECT oSender
> if :Value == 0
> MsgInfo("Nro. de Ramo no válido")
> Return .F.
> endif
> if :oDataSet:seek(str(:Value,4))
> MsgInfo("Ya existe Ramo con ese nro.")
> Return .F.
> endif
> END WITH
>
> Return .T.
>
> //---------------------------------------------------------- --------------------
>