Patch level : 10.0 no patch
Files correlati : Ricompilazione Demo : [ ] Commento : Nel caso la ricerse fosse su una tabella non veniva impostato il campo _tab, per cui il record non ers in realtà dii una tabella. git-svn-id: svn://10.65.10.50/branches/R_10_00@23212 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
0b44cc293a
commit
69cf9a5d3b
@ -688,6 +688,9 @@ const TObject& TFile_cache::query(const char* code)
|
||||
{
|
||||
TLocalisamfile& f = file();
|
||||
TRectype& curr = f.curr();
|
||||
const int logicnum = f.num();
|
||||
const bool is_tab = (logicnum >= LF_TABGEN && logicnum <= LF_TAB) || (logicnum == LF_TABMOD);
|
||||
|
||||
if (_code.full())
|
||||
{
|
||||
const RecDes& recd = curr.rec_des(); // Descrizione del record della testata
|
||||
@ -697,8 +700,13 @@ const TObject& TFile_cache::query(const char* code)
|
||||
const int nf = kd.FieldSeq[i] % MaxFields;
|
||||
const RecFieldDes& rf = recd.Fd[nf];
|
||||
const char* val = _code.get();
|
||||
|
||||
if (val && *val)
|
||||
curr.put(rf.Name, val);
|
||||
{
|
||||
if (is_tab && strcmp(rf.Name, "COD") == 0)
|
||||
curr.settab(val);
|
||||
curr.put(rf.Name, val);
|
||||
}
|
||||
else
|
||||
curr.zero(rf.Name);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user