Nome non riconosciuto alla chiusura di una tabella datiBuongiorno,
Ho un problema con la chiusura di una tabella dati.
Ho messo il mio codice qui sotto:
f_UI:details_top5_nok = Function({rank, ictFct, tab_top5, box, dt, date1, date2},
file_name = tab_top5[rank];
dt << Select Where (:Result == "NOK" & :ICT_FCT == ictFct & :Nom de fichier == file_name & Num(date1) <= Num(Char(:Date)) <= Num(date2));
dtSub = dt << Subset (
Selected Rows(1),
columns(:Date, :Nom de fichier, :Ref Produit, :Baie, :ICT_FCT, :Result, :Reason Error, :CodeError)
);
dtSum = dtSub << Summary(
Group(:Code Error, :Reason Error),
output table name("Détails "||file_name)
);
dtSum << On Close(
Close(dtSub, NoSave);
)
);Quando chiamo questa funzione, tutto va come previsto (il sottoinsieme e il riepilogo) fino alla chiusura dell'ultimo blocco. Quello che vorrei per il comportamento è che quando chiudo dtSum, dtSub si chiude automaticamente. Tuttavia, quando chiudo dtSum ottengo il seguente errore:
Nome non risolto: dtSub durante l'accesso o la valutazione di "dtSub", dtSub / * ### * /
Non capisco perché ho questo errore perché la tabella che corrisponde a dtSub è ancora aperta quando provo a chiudere dtSum ...
Grazie in anticipo per le tue risposte !
ScriptingRe: Nom non reconnu à la fermeture d'une table de donnéesSono stato in grado di replicare il problema, ma non ho una soluzione.Speriamo che un altro membro della community lo faccia.
Re: Nom non reconnu à la fermeture d'une table de donnéesHo visto un errore simile quando il riferimento alla tabella non è più nell'ambito. La mia soluzione è stata la seguente,
example = Function( {dt},
{dtSub, dtSum},
dt << select where( :height > 61 );
dtSub = dt << subset( Selected( rows( 1 ) ) );
dtSum = dt << summary( group( :age ) );
Eval(
Substitute(
Expr(
dtSum << OnClose( Close( Data Table( table_name ), no save ) )
),
Expr( table_name ), dtSub << get name
)
);
);
example( Data Table( "big class" ) );Re: Nome non riconosciuto alla chiusura di una tabella datiGrazie per questa soluzione ha funzionato per me! Questa volta sto riscontrando un problema simile con una casella di struttura che desidero eliminare quando chiudo una tabella di dati. Purtroppo ottengo lo stesso errore del mio problema precedente. Hai idea di come risolverlo?
Re: Nom non reconnu à la fermeture d'une table de donnéesL'idea è di fare riferimento al riquadro di contorno in modo tale da non fare affidamento sul riferimento variabile. Ecco un esempio che potresti adattare alla tua sceneggiatura,
example = Function( {dt},
{dtSub, dist},
dt << select where( :height > 61 );
dtSub = dt << subset( Selected( rows( 1 ) ) );
dist = dtSub << Distribution( Continuous Distribution( Column( :weight ) ), Nominal Distribution( Column( :age ) ) );
Eval(
Substitute(
Expr(
dt << OnClose( Report( distribution[1] )[Outline Box( 3 )] << Visibility( "Collapse" ) )
),
Expr( table_name ), dtSub << get name
)
);
);
example( Data Table( "big class" ) );
Consiglierei anche di comprimere la casella del contorno piuttosto che eliminarla effettivamente.