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,6 +273,7 @@ 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()) | ||||||
|     { |     { | ||||||
| @ -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