Por favor un alma caritativa que me indique como ponerle a un datacontrol un
valor inicial luego de un addnew, va el pedazo de codigo
METHOD DBNavigator1ClickInsert( oSender ) CLASS TForm2
LOCAL oFrm
WITH OBJECT oFrm := FrmPaciente():New( Self )
:cText := "Agregar Pacientes"
::oDataPac:AddNew()
::oDataPac:FECHAING := DATE() //No funciona, alguien sabe porque?
:ShowModal()
if :nModalResult == mrOK
::oDataPac:NROM := PONULTHCL() //Este si funciona
::oDataPac:Update()
::odBbrowse1:Refresh()
else
::oDataPac:Cancel()
endif
:End()
END WITH
RETURN .F.
In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
data controls
- ignacio
- Site Admin
- Mensajes: 9463
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
data controls
Rolando,
No funciona porque no es lo mismo el control que recoge que el DataControl
con el que se enlaza. En el proceso Addnew() del dataset se inicializan los
valores de los Datacontrols enlazados. Lo que hagas después sobre el buffer
del DataSet ni se entera el DataControl.
Lo puedes solucionar de dos formas:
- utiliza la propiedad TDataField:DefValue para establecer un valor inicial
al campo antes de Addnew
- actualiza el valor del control, no el del Dataset: oEdit:Value := DATE()
>::oDataPac:NROM := PONULTHCL() //Este si funciona
Este funciona porque seguramente no hay ningún DataControl enlazado con el
campo NROM, y por lo tanto no existe ningun que control que MACHAQUE lo que
hayas escrito tu en el buffer del TDataField.
Saludos,
"Rolando" <rsarrailh@gmail.com> escribió en el mensaje
news:4491527c$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
> Por favor un alma caritativa que me indique como ponerle a un datacontrol
> un valor inicial luego de un addnew, va el pedazo de codigo
>
> METHOD DBNavigator1ClickInsert( oSender ) CLASS TForm2
> LOCAL oFrm
>
> WITH OBJECT oFrm := FrmPaciente():New( Self )
> :cText := "Agregar Pacientes"
> ::oDataPac:AddNew()
> ::oDataPac:FECHAING := DATE() //No funciona, alguien sabe porque?
> :ShowModal()
> if :nModalResult == mrOK
> ::oDataPac:NROM := PONULTHCL() //Este si funciona
> ::oDataPac:Update()
> ::odBbrowse1:Refresh()
> else
> ::oDataPac:Cancel()
> endif
> :End()
> END WITH
>
> RETURN .F.
>
No funciona porque no es lo mismo el control que recoge que el DataControl
con el que se enlaza. En el proceso Addnew() del dataset se inicializan los
valores de los Datacontrols enlazados. Lo que hagas después sobre el buffer
del DataSet ni se entera el DataControl.
Lo puedes solucionar de dos formas:
- utiliza la propiedad TDataField:DefValue para establecer un valor inicial
al campo antes de Addnew
- actualiza el valor del control, no el del Dataset: oEdit:Value := DATE()
>::oDataPac:NROM := PONULTHCL() //Este si funciona
Este funciona porque seguramente no hay ningún DataControl enlazado con el
campo NROM, y por lo tanto no existe ningun que control que MACHAQUE lo que
hayas escrito tu en el buffer del TDataField.
Saludos,
"Rolando" <rsarrailh@gmail.com> escribió en el mensaje
news:4491527c$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
> Por favor un alma caritativa que me indique como ponerle a un datacontrol
> un valor inicial luego de un addnew, va el pedazo de codigo
>
> METHOD DBNavigator1ClickInsert( oSender ) CLASS TForm2
> LOCAL oFrm
>
> WITH OBJECT oFrm := FrmPaciente():New( Self )
> :cText := "Agregar Pacientes"
> ::oDataPac:AddNew()
> ::oDataPac:FECHAING := DATE() //No funciona, alguien sabe porque?
> :ShowModal()
> if :nModalResult == mrOK
> ::oDataPac:NROM := PONULTHCL() //Este si funciona
> ::oDataPac:Update()
> ::odBbrowse1:Refresh()
> else
> ::oDataPac:Cancel()
> endif
> :End()
> END WITH
>
> RETURN .F.
>
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
data controls
Ok. El problema que tengo ahora es detectar cuando el dataset esta en append
por que uso la misma ventana para agregar o editar, lo intente con el metodo
lOnAppend pero me sigue dando .F. No se de que otra forma detectarlo.
"Ignacio Ortiz de Zúñiga" <NoName@xailer.com> escribió en el mensaje
news:44915814$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
> Rolando,
>
> No funciona porque no es lo mismo el control que recoge que el DataControl
> con el que se enlaza. En el proceso Addnew() del dataset se inicializan
> los valores de los Datacontrols enlazados. Lo que hagas después sobre el
> buffer del DataSet ni se entera el DataControl.
>
> Lo puedes solucionar de dos formas:
>
> - utiliza la propiedad TDataField:DefValue para establecer un valor
> inicial al campo antes de Addnew
> - actualiza el valor del control, no el del Dataset: oEdit:Value := DATE()
>
>>::oDataPac:NROM := PONULTHCL() //Este si funciona
>
> Este funciona porque seguramente no hay ningún DataControl enlazado con el
> campo NROM, y por lo tanto no existe ningun que control que MACHAQUE lo
> que hayas escrito tu en el buffer del TDataField.
>
> Saludos,
>
> "Rolando" <rsarrailh@gmail.com> escribió en el mensaje
> news:4491527c$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
>> Por favor un alma caritativa que me indique como ponerle a un datacontrol
>> un valor inicial luego de un addnew, va el pedazo de codigo
>>
>> METHOD DBNavigator1ClickInsert( oSender ) CLASS TForm2
>> LOCAL oFrm
>>
>> WITH OBJECT oFrm := FrmPaciente():New( Self )
>> :cText := "Agregar Pacientes"
>> ::oDataPac:AddNew()
>> ::oDataPac:FECHAING := DATE() //No funciona, alguien sabe porque?
>> :ShowModal()
>> if :nModalResult == mrOK
>> ::oDataPac:NROM := PONULTHCL() //Este si funciona
>> ::oDataPac:Update()
>> ::odBbrowse1:Refresh()
>> else
>> ::oDataPac:Cancel()
>> endif
>> :End()
>> END WITH
>>
>> RETURN .F.
>>
>
>
por que uso la misma ventana para agregar o editar, lo intente con el metodo
lOnAppend pero me sigue dando .F. No se de que otra forma detectarlo.
"Ignacio Ortiz de Zúñiga" <NoName@xailer.com> escribió en el mensaje
news:44915814$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
> Rolando,
>
> No funciona porque no es lo mismo el control que recoge que el DataControl
> con el que se enlaza. En el proceso Addnew() del dataset se inicializan
> los valores de los Datacontrols enlazados. Lo que hagas después sobre el
> buffer del DataSet ni se entera el DataControl.
>
> Lo puedes solucionar de dos formas:
>
> - utiliza la propiedad TDataField:DefValue para establecer un valor
> inicial al campo antes de Addnew
> - actualiza el valor del control, no el del Dataset: oEdit:Value := DATE()
>
>>::oDataPac:NROM := PONULTHCL() //Este si funciona
>
> Este funciona porque seguramente no hay ningún DataControl enlazado con el
> campo NROM, y por lo tanto no existe ningun que control que MACHAQUE lo
> que hayas escrito tu en el buffer del TDataField.
>
> Saludos,
>
> "Rolando" <rsarrailh@gmail.com> escribió en el mensaje
> news:4491527c$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
>> Por favor un alma caritativa que me indique como ponerle a un datacontrol
>> un valor inicial luego de un addnew, va el pedazo de codigo
>>
>> METHOD DBNavigator1ClickInsert( oSender ) CLASS TForm2
>> LOCAL oFrm
>>
>> WITH OBJECT oFrm := FrmPaciente():New( Self )
>> :cText := "Agregar Pacientes"
>> ::oDataPac:AddNew()
>> ::oDataPac:FECHAING := DATE() //No funciona, alguien sabe porque?
>> :ShowModal()
>> if :nModalResult == mrOK
>> ::oDataPac:NROM := PONULTHCL() //Este si funciona
>> ::oDataPac:Update()
>> ::odBbrowse1:Refresh()
>> else
>> ::oDataPac:Cancel()
>> endif
>> :End()
>> END WITH
>>
>> RETURN .F.
>>
>
>
data controls
Probe la forma de TDataField:DefValue y anduvo perfecto, muchas gracias
maestro.
"Ignacio Ortiz de Zúñiga" <NoName@xailer.com> escribió en el mensaje
news:44915814$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
> Rolando,
>
> No funciona porque no es lo mismo el control que recoge que el DataControl
> con el que se enlaza. En el proceso Addnew() del dataset se inicializan
> los valores de los Datacontrols enlazados. Lo que hagas después sobre el
> buffer del DataSet ni se entera el DataControl.
>
> Lo puedes solucionar de dos formas:
>
> - utiliza la propiedad TDataField:DefValue para establecer un valor
> inicial al campo antes de Addnew
> - actualiza el valor del control, no el del Dataset: oEdit:Value := DATE()
>
>>::oDataPac:NROM := PONULTHCL() //Este si funciona
>
> Este funciona porque seguramente no hay ningún DataControl enlazado con el
> campo NROM, y por lo tanto no existe ningun que control que MACHAQUE lo
> que hayas escrito tu en el buffer del TDataField.
>
> Saludos,
>
> "Rolando" <rsarrailh@gmail.com> escribió en el mensaje
> news:4491527c$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
>> Por favor un alma caritativa que me indique como ponerle a un datacontrol
>> un valor inicial luego de un addnew, va el pedazo de codigo
>>
>> METHOD DBNavigator1ClickInsert( oSender ) CLASS TForm2
>> LOCAL oFrm
>>
>> WITH OBJECT oFrm := FrmPaciente():New( Self )
>> :cText := "Agregar Pacientes"
>> ::oDataPac:AddNew()
>> ::oDataPac:FECHAING := DATE() //No funciona, alguien sabe porque?
>> :ShowModal()
>> if :nModalResult == mrOK
>> ::oDataPac:NROM := PONULTHCL() //Este si funciona
>> ::oDataPac:Update()
>> ::odBbrowse1:Refresh()
>> else
>> ::oDataPac:Cancel()
>> endif
>> :End()
>> END WITH
>>
>> RETURN .F.
>>
>
>
maestro.
"Ignacio Ortiz de Zúñiga" <NoName@xailer.com> escribió en el mensaje
news:44915814$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
> Rolando,
>
> No funciona porque no es lo mismo el control que recoge que el DataControl
> con el que se enlaza. En el proceso Addnew() del dataset se inicializan
> los valores de los Datacontrols enlazados. Lo que hagas después sobre el
> buffer del DataSet ni se entera el DataControl.
>
> Lo puedes solucionar de dos formas:
>
> - utiliza la propiedad TDataField:DefValue para establecer un valor
> inicial al campo antes de Addnew
> - actualiza el valor del control, no el del Dataset: oEdit:Value := DATE()
>
>>::oDataPac:NROM := PONULTHCL() //Este si funciona
>
> Este funciona porque seguramente no hay ningún DataControl enlazado con el
> campo NROM, y por lo tanto no existe ningun que control que MACHAQUE lo
> que hayas escrito tu en el buffer del TDataField.
>
> Saludos,
>
> "Rolando" <rsarrailh@gmail.com> escribió en el mensaje
> news:4491527c$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
>> Por favor un alma caritativa que me indique como ponerle a un datacontrol
>> un valor inicial luego de un addnew, va el pedazo de codigo
>>
>> METHOD DBNavigator1ClickInsert( oSender ) CLASS TForm2
>> LOCAL oFrm
>>
>> WITH OBJECT oFrm := FrmPaciente():New( Self )
>> :cText := "Agregar Pacientes"
>> ::oDataPac:AddNew()
>> ::oDataPac:FECHAING := DATE() //No funciona, alguien sabe porque?
>> :ShowModal()
>> if :nModalResult == mrOK
>> ::oDataPac:NROM := PONULTHCL() //Este si funciona
>> ::oDataPac:Update()
>> ::odBbrowse1:Refresh()
>> else
>> ::oDataPac:Cancel()
>> endif
>> :End()
>> END WITH
>>
>> RETURN .F.
>>
>
>
- ignacio
- Site Admin
- Mensajes: 9463
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
data controls
Rolando,
mandanos un pequeñisimo ejemplo mostrando el problema.
Gracias
"Rolando" <rsarrailh@gmail.com> escribió en el mensaje
news:44917453$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
> Ok. El problema que tengo ahora es detectar cuando el dataset esta en
> append por que uso la misma ventana para agregar o editar, lo intente con
> el metodo lOnAppend pero me sigue dando .F. No se de que otra forma
> detectarlo.
>
> "Ignacio Ortiz de Zúñiga" <NoName@xailer.com> escribió en el mensaje
> news:44915814$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
>> Rolando,
>>
>> No funciona porque no es lo mismo el control que recoge que el
>> DataControl con el que se enlaza. En el proceso Addnew() del dataset se
>> inicializan los valores de los Datacontrols enlazados. Lo que hagas
>> después sobre el buffer del DataSet ni se entera el DataControl.
>>
>> Lo puedes solucionar de dos formas:
>>
>> - utiliza la propiedad TDataField:DefValue para establecer un valor
>> inicial al campo antes de Addnew
>> - actualiza el valor del control, no el del Dataset: oEdit:Value :=
>> DATE()
>>
>>>::oDataPac:NROM := PONULTHCL() //Este si funciona
>>
>> Este funciona porque seguramente no hay ningún DataControl enlazado con
>> el campo NROM, y por lo tanto no existe ningun que control que MACHAQUE
>> lo que hayas escrito tu en el buffer del TDataField.
>>
>> Saludos,
>>
>> "Rolando" <rsarrailh@gmail.com> escribió en el mensaje
>> news:4491527c$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
>>> Por favor un alma caritativa que me indique como ponerle a un
>>> datacontrol un valor inicial luego de un addnew, va el pedazo de codigo
>>>
>>> METHOD DBNavigator1ClickInsert( oSender ) CLASS TForm2
>>> LOCAL oFrm
>>>
>>> WITH OBJECT oFrm := FrmPaciente():New( Self )
>>> :cText := "Agregar Pacientes"
>>> ::oDataPac:AddNew()
>>> ::oDataPac:FECHAING := DATE() //No funciona, alguien sabe porque?
>>> :ShowModal()
>>> if :nModalResult == mrOK
>>> ::oDataPac:NROM := PONULTHCL() //Este si funciona
>>> ::oDataPac:Update()
>>> ::odBbrowse1:Refresh()
>>> else
>>> ::oDataPac:Cancel()
>>> endif
>>> :End()
>>> END WITH
>>>
>>> RETURN .F.
>>>
>>
>>
>
>
mandanos un pequeñisimo ejemplo mostrando el problema.
Gracias
"Rolando" <rsarrailh@gmail.com> escribió en el mensaje
news:44917453$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
> Ok. El problema que tengo ahora es detectar cuando el dataset esta en
> append por que uso la misma ventana para agregar o editar, lo intente con
> el metodo lOnAppend pero me sigue dando .F. No se de que otra forma
> detectarlo.
>
> "Ignacio Ortiz de Zúñiga" <NoName@xailer.com> escribió en el mensaje
> news:44915814$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
>> Rolando,
>>
>> No funciona porque no es lo mismo el control que recoge que el
>> DataControl con el que se enlaza. En el proceso Addnew() del dataset se
>> inicializan los valores de los Datacontrols enlazados. Lo que hagas
>> después sobre el buffer del DataSet ni se entera el DataControl.
>>
>> Lo puedes solucionar de dos formas:
>>
>> - utiliza la propiedad TDataField:DefValue para establecer un valor
>> inicial al campo antes de Addnew
>> - actualiza el valor del control, no el del Dataset: oEdit:Value :=
>> DATE()
>>
>>>::oDataPac:NROM := PONULTHCL() //Este si funciona
>>
>> Este funciona porque seguramente no hay ningún DataControl enlazado con
>> el campo NROM, y por lo tanto no existe ningun que control que MACHAQUE
>> lo que hayas escrito tu en el buffer del TDataField.
>>
>> Saludos,
>>
>> "Rolando" <rsarrailh@gmail.com> escribió en el mensaje
>> news:4491527c$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
>>> Por favor un alma caritativa que me indique como ponerle a un
>>> datacontrol un valor inicial luego de un addnew, va el pedazo de codigo
>>>
>>> METHOD DBNavigator1ClickInsert( oSender ) CLASS TForm2
>>> LOCAL oFrm
>>>
>>> WITH OBJECT oFrm := FrmPaciente():New( Self )
>>> :cText := "Agregar Pacientes"
>>> ::oDataPac:AddNew()
>>> ::oDataPac:FECHAING := DATE() //No funciona, alguien sabe porque?
>>> :ShowModal()
>>> if :nModalResult == mrOK
>>> ::oDataPac:NROM := PONULTHCL() //Este si funciona
>>> ::oDataPac:Update()
>>> ::odBbrowse1:Refresh()
>>> else
>>> ::oDataPac:Cancel()
>>> endif
>>> :End()
>>> END WITH
>>>
>>> RETURN .F.
>>>
>>
>>
>
>
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com