Page 1 of 1

Method :EditBaseRecord

Posted: Wed Dec 27, 2017 5:08 pm
by oliveiros junior
Hello,

I am with a doubt as to the use of the method: EditBaseRecord, if in the rowset I put "* " The method works, if specified the field in the rowset does not work. Shouldn't he use all the fields in the rowset independent table?

Example: Doesn't work

oTabela: = oCon: RowSet ( "SELECT codigo, descricao FROM ocorrencia")

DEFINE VMENUITEM the item OF omenu;
IMAGE "";
CAPTION "incluir ";
ACTION (oTabela: EditBaseRecord (NIL,. T., {| oRec | Editar_Tabela (ORec, CTabela)}, OBrowse);
oTabela: Rewanty (),;
oBrowse: SetFocus ())

Example: works

oTabela: = oCon: RowSet ( "SELECT * FROM ocorrencia")

DEFINE VMENUITEM the item OF omenu;
IMAGE "";
CAPTION "incluir ";
ACTION (oTabela: EditBaseRecord (NIL,. T., {| oRec | Editar_Tabela (ORec, CTabela)}, OBrowse);
oTabela: Rewanty (),;
oBrowse: SetFocus ())

Did I misunderstand the operation of the method?

Att.,

Oliveiros Junior

Re: Method :EditBaseRecord

Posted: Thu Dec 28, 2017 3:37 am
by nageswaragunupudi

Code: Select all

oTabela:Rewanty()
 
What is the method "Rewanty()" please? There is no such method. Did you mean ReQuery() ?
If you are using Requery(), that is not necessary. Requery() is time cosuming and slows down the process.
oRec:Save() automatically takes care of refreshing the rowset with the changed values.

Code: Select all

oTabela: = oCon: RowSet ( "SELECT * FROM ocorrencia")
 
When you read all fields of the table, EditBaseRecord() is not necessary. oTabela:Edit() is enough.

Code: Select all

oTabela: = oCon: RowSet ( "SELECT codigo, descricao FROM ocorrencia")
 
The method EditBaseRecord() is meant to work in such cases only.
But there are two important condtions:
1) The table should have a primary key.
2) The primary key field should be included in the SELECT Query.

If you ensure that these 2 conditions are satisfied, EditBaseRecord() works.

Re: Method :EditBaseRecord

Posted: Thu Dec 28, 2017 7:44 pm
by oliveiros junior
Hello Mr. Rao,

Thanks for the answer. "Rewanty () " was the translator.

I'll make the indicated changes and return here. Thanks again.

Att.,

Oliveiros Junior

Re: Method :EditBaseRecord

Posted: Fri Dec 29, 2017 9:04 pm
by oliveiros junior
Hello Mr. Rao,

It worked perfectly. Instead of Edit () I used EditSource () to create my own screens.

I wonder if when executing an ReQuery() empty the class performs the initial query again?

Att.,

Oliveiros Junior