Questo è tutto il codice
SQLQueryCodePrefix := 'select CODE_PREFIX from FL where id_fl= '+ StructForm_ElTree_TreeView.Selected.ColumnText[3] + '';
CodePrefix := objUtils.GetValueFromField(SQLQueryCodePrefix, 'CODE_PREFIX');
SQLQuery := 'select id_fl from FL where CODE_PREFIX like ''' + CodePrefix + '%'' ';
AQuery := objUtils.GetRecordSet(SQLQuery);
while not AQuery.Eof do ----------------> questo è il ciclo che cicla correttamente ma mi tira fuori sempre il primo valore che incontra!!!
begin
id_fl := objUtils.GetValueFromField(SQLQuery, 'id_fl');
SQLQueryOdL := 'select * from WORK_ORDER where id_fl = '+ id_fl + '';
BQuery := objUtils.GetRecordSet(SQLQueryOdL);
if not BQuery.IsEmpty then
begin
if MessageDlg('Sono presenti OdL nella Sede Tecnica selezionata o nelle Sedi Tecniche figlie, si vuole procedere?' , mtConfirmation, [mbYes, mbNo], 0) = mrYes then
begin
if MessageDlg(objTranslation.GetMsg('MSG_032') + ' ' +StructForm_ElTree_TreeView.Selected.Text + ' e tutti i suoi figli?' , mtConfirmation, [mbYes, mbNo], 0) = mrYes then
//if MessageDlg('Cancellare la sede tecnica:' + StructForm_ElTree_TreeView.Selected.Text + ' e tutti i suoi figli?' , mtConfirmation, [mbYes, mbNo], 0) = mrYes then
begin
Screen.Cursor := crHourGlass;
SQLQuery := 'DELETE FROM FL WHERE ID_FL in (SELECT ID_FL FROM dbo.FL WHERE ((CODE_PREFIX LIKE ''' + StructForm_ElTree_TreeView.Selected.Text + '/%'') OR (CODE_PREFIX = '''+StructForm_ElTree_TreeView.Selected.Text+''')))';
//SQLQuery := 'DELETE FROM FL WHERE ID_FL=' + StructForm_ElTree_TreeView.Selected.ColumnText[3];
flagResult := objUtils.SetRecordSet(SQLQuery,false);
if flagResult then
begin
SQLQuery := 'SELECT CODE_PREFIX FROM FL WHERE ID_FL = '''+StructForm_ElTree_TreeView.Selected.ColumnText[3]+'''';
SQLQuery := 'EXECUTE REFRESH_TREE_VIEW '''+String(objUtils.GetValueFromField(SQLQuery,'CODE_PREFIX'))+'''';
flagResult := objUtils.SetRecordSet(SQLQuery,false);
objUtils.UpdateDB();
end
else
begin
objUtils.RestoreDB();
MessageDlg(objTranslation.GetMsg('MSG_041'), mtError, [mbOK], 0);
end;
Screen.Cursor := crDefault;
if StructForm_ElTree_TreeView.Selected.Parent <> nil then
GetBranch(StructForm_ElTree_TreeView.Selected.Parent, StructForm_ElTree_TreeView.Selected.Parent.Text)
else
Close;
end;
end;
end;
AQuery.Next;
end;