Omita las líneas siguientes si una tabla está vacía dentro de un ciclo forHola, tengo el siguiente script que está dentro de un bucle for. Me gusta continuar con el ciclo si la tabla mydt está vacía y omitir las líneas debajo de ella.
Aprecio tu ayuda. Gracias
-------------------------------------------
mydt = Tabla de datos (dt5);
si (( esta vacio (mydt)), continuar());
midtsummary = Tabla de datos (dt5) << Resumen (
Grupo( :NroTablero ),
máx. ( :hora de inicio ),
formato de nombre de columna de estadísticas ( "estadística de columna" )
);
mydt << Actualizar (
Con( Tabla de datos ( midtsummary ) ),
Coincidencia de columnas ( :BoardNo = :BoardNo ),
Agregar columnas de la tabla de actualización (: máximo de tiempo de inicio)
);
mydt << selecciona donde ( :starttime == :Max de starttime ) << invertir selección de fila ;
mydt << eliminar filas ;
mydt << borrar columnas ( "Máximo de tiempo de inicio" );
Cerca ( mydtsummary, nosave );
Cerca (mydt, guardar);
Re: Omitir líneas debajo si una tabla está vacía dentro de un ciclo forgracias jim
Re: Omitir líneas debajo si una tabla está vacía dentro de un ciclo forSi (condición == verdadero,
Romper();
);
Re: Omitir líneas debajo si una tabla está vacía dentro de un ciclo forGracias Cameron. El problema no es si la tabla está vacía o no tiene valor. el problema, si la condición es verdadera, quiero omitir todas las líneas debajo de eso e ir al siguiente índice de bucle for.
si (condición = Verdadero,
....
... omitir todo a continuación
...
);
Gracias.
Re: Omitir líneas debajo si una tabla está vacía dentro de un ciclo for¿Para qué estás usando la función Is Empty()?Si es para verificar si la tabla en sí no tiene datos, está utilizando esta función incorrectamente.Le dirá si la variable mydt (no la tabla de datos a la que hace referencia) no tiene valor o tiene el valor vacío.Si desea verificar si la tabla de datos no contiene nada, haga algo como N Row(mydt) == 0 como verificación lógica.
Re: Omitir líneas debajo si una tabla está vacía dentro de un ciclo forGracias por la respuesta rápida y la solución. Lo intenté pero me sale un error en la sección de actualización.
falta argumento{8} en el acceso o evaluación de 'Tabla de datos', Tabla de datos /*###*/ (miresumen)
mydt << Actualizar(
Con (Tabla de datos /*###*/ (miresumen) ),
Parece que está procesando la sección Actualizar cuando mydt está vacío y no debería. Gracias
Re: Omitir líneas debajo si una tabla está vacía dentro de un ciclo for¿Por qué no simplemente invertir la lógica usando "!" y pegar todas esas líneas en su declaración if?
If( !Is Empty( mydt ),
mydtsummary = Data Table( dt5 ) << Summary(
Group( :BoardNo ),
Max( :starttime ),
statistics column name format( "stat of column" )
);
mydt << Update(
With( Data Table( mydtsummary ) ),
Match Columns( :BoardNo = :BoardNo ),
Add Columns from Update table( :Max of starttime )
);
mydt << select where( :starttime == :Max of starttime ) << invert row selection;
mydt << delete rows;
mydt << delete columns( "Max of starttime" );
Close( mydtsummary, nosave );
Close( mydt, save );
);