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.
>>>
>>
>>
>
>