Nombre no reconocido al cerrar una tabla de datosBuenos dias,
Tengo problemas para cerrar una tabla de datos.
Pongo mi código a continuación:
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);
)
);Cuando llamo a esta función, todo sale como se esperaba (el subconjunto y el resumen) hasta el último bloque al cerrar. Lo que me gustaría para el comportamiento es que cuando cierro dtSum, dtSub se cierra automáticamente. Sin embargo, cuando cierro dtSum, aparece el siguiente error:
Nombre no resuelto: dtSub al acceder o evaluar "dtSub", dtSub / * ### * /
No entiendo por qué tengo este error porque la tabla que corresponde a dtSub todavía está abierta cuando intento cerrar dtSum ...
¡Gracias de antemano por sus respuestas!
ScriptingRe: Nom non reconnu à la fermeture d'une table de donnéesPude replicar el problema, pero no tengo una solución alternativa.Ojalá otro miembro de la comunidad lo haga.
Re: Nom non reconnu à la fermeture d'une table de donnéesHe visto un error similar cuando la referencia de la tabla ya no está dentro del alcance. Mi solución fue la siguiente,
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: nombre no reconocido al cerrar una tabla de datosGracias por esta solución, ¡funcionó para mí! Esta vez tengo un problema similar con un cuadro de esquema que quiero eliminar al cerrar una tabla de datos. Desafortunadamente, obtengo el mismo error que en mi problema anterior. ¿Tienes idea de cómo solucionarlo?
Re: Nom non reconnu à la fermeture d'une table de donnéesLa idea es hacer referencia al cuadro de esquema de tal manera que no dependa de la referencia de variable. A continuación, se muestra un ejemplo que, con suerte, puede adaptar a su guión,
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" ) );
También recomendaría contraer el cuadro de esquema en lugar de eliminarlo.