Patch level : 12.0 978
Files correlati : ba8.exe ba8200b.msk Commento : - Corretta generazione quesry per il file del 770
This commit is contained in:
parent
de496673aa
commit
7138353652
@ -138,12 +138,22 @@ public:
|
|||||||
|
|
||||||
int TTable_mask::father_logicnum() const
|
int TTable_mask::father_logicnum() const
|
||||||
{
|
{
|
||||||
return table2logic(get(F_FATHER));
|
TFilename n = get(F_FATHER);
|
||||||
|
int logic = table2logic(n);
|
||||||
|
|
||||||
|
if (logic <= 0)
|
||||||
|
logic = table2logic(n.name_only());
|
||||||
|
return logic;
|
||||||
}
|
}
|
||||||
|
|
||||||
int TTable_mask::son_logicnum() const
|
int TTable_mask::son_logicnum() const
|
||||||
{
|
{
|
||||||
return table2logic(get(F_SON));
|
TFilename n = get(F_SON);
|
||||||
|
int logic = table2logic(n);
|
||||||
|
|
||||||
|
if (logic <= 0)
|
||||||
|
logic = table2logic(n.name_only());
|
||||||
|
return logic;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Dato il numero logico di una tabella ed un campo (di un'altra tabella)
|
// Dato il numero logico di una tabella ed un campo (di un'altra tabella)
|
||||||
@ -263,13 +273,14 @@ TTable_mask::TTable_mask() : TAutomask("ba8200b")
|
|||||||
for (int logic = LF_USER; logic < nfiles; logic++)
|
for (int logic = LF_USER; logic < nfiles; logic++)
|
||||||
{
|
{
|
||||||
const FileDes& fd = prefix().get_filedes(logic);
|
const FileDes& fd = prefix().get_filedes(logic);
|
||||||
tt = fd.SysName;
|
|
||||||
|
tt = fd.SysName;
|
||||||
if (tt.full())
|
if (tt.full())
|
||||||
{
|
{
|
||||||
tt.strip("$%"); tt.upper();
|
tt.strip("$%"); tt.upper();
|
||||||
tt.add(logic);
|
tt.add(logic);
|
||||||
tt.add(fd.Des);
|
tt.add(fd.Des);
|
||||||
sht.rows_array().add(tt);
|
sht.rows_array().add(tt);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
sht.rows_array().sort();
|
sht.rows_array().sort();
|
||||||
@ -617,10 +628,11 @@ static bool sql_tree_handler(TTree& tree, void* jolly, word flags)
|
|||||||
TString& where = *(TString*)arr.objptr(1);
|
TString& where = *(TString*)arr.objptr(1);
|
||||||
TString_array& join = rn->join();
|
TString_array& join = rn->join();
|
||||||
TString str;
|
TString str;
|
||||||
|
TFilename n = rn->name(); n = n.name_only();
|
||||||
|
|
||||||
if (from.get_pos(rn->id()) < 0)
|
if (from.get_pos(rn->id()) < 0)
|
||||||
{
|
{
|
||||||
from.add(rn->name());
|
from.add(n);
|
||||||
if (rn->alias().not_empty())
|
if (rn->alias().not_empty())
|
||||||
from << " AS " << rn->alias();
|
from << " AS " << rn->alias();
|
||||||
|
|
||||||
@ -630,10 +642,17 @@ static bool sql_tree_handler(TTree& tree, void* jolly, word flags)
|
|||||||
{
|
{
|
||||||
if (where.not_empty())
|
if (where.not_empty())
|
||||||
where << "AND";
|
where << "AND";
|
||||||
where << '(' << rn->id() << '.' << row->get(0) << '=';
|
|
||||||
|
TFilename id = rn->id(); id = id.name_only();
|
||||||
|
|
||||||
|
where << '(' << id << '.' << row->get(0) << '=';
|
||||||
str = row->get();
|
str = row->get();
|
||||||
if (isalpha(str[0]))
|
if (isalpha(str[0]))
|
||||||
where << rn->father()->id() << '.';
|
{
|
||||||
|
TFilename father_id = rn->father()->id(); father_id = father_id.name_only();
|
||||||
|
|
||||||
|
where << father_id << '.';
|
||||||
|
}
|
||||||
where << str << ')';
|
where << str << ')';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -718,8 +737,10 @@ void TQuery_mask::sheet2sql()
|
|||||||
{
|
{
|
||||||
if (multiple)
|
if (multiple)
|
||||||
{
|
{
|
||||||
const TString& tab = row->get(0);
|
TFilename tab = row->get(0);
|
||||||
if (!tab.blank())
|
|
||||||
|
tab = tab.name_only();
|
||||||
|
if (tab.full())
|
||||||
{
|
{
|
||||||
field.insert(".");
|
field.insert(".");
|
||||||
field.insert(tab); // Table name
|
field.insert(tab); // Table name
|
||||||
@ -788,9 +809,13 @@ void TQuery_mask::sheet2isam()
|
|||||||
TString_array rel;
|
TString_array rel;
|
||||||
tree2isam(rel);
|
tree2isam(rel);
|
||||||
|
|
||||||
TString use;
|
TString use("USE ");
|
||||||
FOR_EACH_ARRAY_ROW(rel, i, row)
|
FOR_EACH_ARRAY_ROW(rel, i, row)
|
||||||
use << *row << '\n';
|
{
|
||||||
|
TFilename t = *row; t = t.name_only();
|
||||||
|
|
||||||
|
use << t << '\n';
|
||||||
|
}
|
||||||
|
|
||||||
set(F_SQL, use, true);
|
set(F_SQL, use, true);
|
||||||
_sql_dirty = false;
|
_sql_dirty = false;
|
||||||
|
@ -7,11 +7,11 @@ BEGIN
|
|||||||
PROMPT 1 0 "@bTabella collegata"
|
PROMPT 1 0 "@bTabella collegata"
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_SON 10
|
STRING F_SON 30 10
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 1 "Tabella "
|
PROMPT 2 1 "Tabella "
|
||||||
FLAGS "U"
|
FLAGS "U"
|
||||||
SHEET "Tabella@10|Num@3R|Descrizione archivio@70"
|
SHEET "Tabella@30|Num@3R|Descrizione archivio@70"
|
||||||
INPUT F_SON
|
INPUT F_SON
|
||||||
OUTPUT F_SON
|
OUTPUT F_SON
|
||||||
CHECKTYPE REQUIRED
|
CHECKTYPE REQUIRED
|
||||||
@ -28,7 +28,7 @@ BEGIN
|
|||||||
PROMPT 25 0 "@bTabella principale"
|
PROMPT 25 0 "@bTabella principale"
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_FATHER 10
|
STRING F_FATHER 30 10
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 26 1 "Tabella "
|
PROMPT 26 1 "Tabella "
|
||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user