FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin for Harbour/xHarbour Method :EditBaseRecord
Posts: 148
Joined: Tue Mar 20, 2007 03:13 PM
Method :EditBaseRecord
Posted: Wed Dec 27, 2017 05:08 PM

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

Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: Method :EditBaseRecord
Posted: Thu Dec 28, 2017 03:37 AM
Code (fw): Select all Collapse
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 (fw): Select all Collapse
oTabela: = oCon: RowSet ( "SELECT * FROM ocorrencia")

When you read all fields of the table, EditBaseRecord() is not necessary. oTabela:Edit() is enough.

Code (fw): Select all Collapse
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.
Regards



G. N. Rao.

Hyderabad, India
Posts: 148
Joined: Tue Mar 20, 2007 03:13 PM
Re: Method :EditBaseRecord
Posted: Thu Dec 28, 2017 07:44 PM

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

Posts: 148
Joined: Tue Mar 20, 2007 03:13 PM
Re: Method :EditBaseRecord
Posted: Fri Dec 29, 2017 09:04 PM

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

Continue the discussion