Quote from Gustavo1973 on April 30, 2020, 2:26 amTengo el siguiente drama al recibir datos de una base de datos MYSQL, en la subrutina que recibe los datos tengo el siguiente codigo, obteniendo que nunca termina el loop para ir a la pagina solicitada:
CreateEmptyArray [tableData]
SetVar [tableData] [data]
ArrayLen [tableData] [totalRecords] / La variable [totalRecords] me devuelve la cantidad correcta de registros encontradosLoop 0 [totalRecords] [x]
SetCompVar "[Casa([x])]" "[tableData([x])('Nombre')]"
ShowObject "Ca[x]" "" 0
endloopGotoPage "MenuPrincipal"
Si hago el siguiente cambio en las lineas, el resultado es que me deja ir a la pagina despues de cargar los datos pero no me carga todos los registros:
CreateEmptyArray [tableData]
SetVar [tableData] [data]
ArrayLen [tableData] [totalRecords]Math "[totalRecords]-1" 1 [Cantidad]
Loop 0 [Cantidad] [x]
SetCompVar "[Casa([x])]" "[tableData([x])('Nombre')]"
ShowObject "Ca[x]" "" 0
endloopGotoPage "MenuPrincipal"
Tengo el siguiente drama al recibir datos de una base de datos MYSQL, en la subrutina que recibe los datos tengo el siguiente codigo, obteniendo que nunca termina el loop para ir a la pagina solicitada:
CreateEmptyArray [tableData]
SetVar [tableData] [data]
ArrayLen [tableData] [totalRecords] / La variable [totalRecords] me devuelve la cantidad correcta de registros encontrados
Loop 0 [totalRecords] [x]
SetCompVar "[Casa([x])]" "[tableData([x])('Nombre')]"
ShowObject "Ca[x]" "" 0
endloop
GotoPage "MenuPrincipal"
Si hago el siguiente cambio en las lineas, el resultado es que me deja ir a la pagina despues de cargar los datos pero no me carga todos los registros:
CreateEmptyArray [tableData]
SetVar [tableData] [data]
ArrayLen [tableData] [totalRecords]
Math "[totalRecords]-1" 1 [Cantidad]
Loop 0 [Cantidad] [x]
SetCompVar "[Casa([x])]" "[tableData([x])('Nombre')]"
ShowObject "Ca[x]" "" 0
endloop
GotoPage "MenuPrincipal"

Quote from luishp on April 30, 2020, 9:09 am@gustavo1973, ten en cuenta que las instrucciones después del LOOP se ejecutan ANTES de que el LOOP haya terminado. Prueba con esto:
SetVar [total] [totalRecords]-1 Loop 0 [total] [x] SetCompVar "[Casa([x])]" "[tableData([x])('Nombre')]" ShowObject "Ca[x]" "" 0 If [x] == [totalRecords] GotoPage "MenuPrincipal" EndIf endloop
@gustavo1973, ten en cuenta que las instrucciones después del LOOP se ejecutan ANTES de que el LOOP haya terminado. Prueba con esto:
SetVar [total] [totalRecords]-1
Loop 0 [total] [x]
SetCompVar "[Casa([x])]" "[tableData([x])('Nombre')]"
ShowObject "Ca[x]" "" 0
If [x] == [totalRecords]
GotoPage "MenuPrincipal"
EndIf
endloop
Quote from Gustavo1973 on May 1, 2020, 4:23 pmGracias @Luishp, pero con tu ejemplo de los 7 registros que deberia mostrar me sigue mostrando solo 6,
sin embargo la consulta recibe le cantidad de 7
Gracias @Luishp, pero con tu ejemplo de los 7 registros que deberia mostrar me sigue mostrando solo 6,
sin embargo la consulta recibe le cantidad de 7

Quote from luishp on May 1, 2020, 4:54 pm@gustavo1973 pues entonces cambia
SetVar [total] [totalRecords]-1 Loop 0 [total] [x]Por esto otro y listo :)Loop 0 [totalRecords] [x]Saludos!
@gustavo1973 pues entonces cambia
SetVar [total] [totalRecords]-1 Loop 0 [total] [x]
Loop 0 [totalRecords] [x]
Saludos!
Quote from Gustavo1973 on May 1, 2020, 5:24 pm@Luishp Sigue sn funcionar si lo hago de esa manera, lo que noto es que el"jsAlert" se muestra 8 veces, una vez mas que el total de registros:
Loop 0 [totalRecords] [x]
jsAlert "aqui"
SetCompVar "[Casa([x])]" "[tableData([x])('Nombre')]"
ShowObject "Ca[x]" "" 0
If [x] == [totalRecords]
GotoPage "MenuPrincipal"
EndIf
endloop
@Luishp Sigue sn funcionar si lo hago de esa manera, lo que noto es que el"jsAlert" se muestra 8 veces, una vez mas que el total de registros:
Loop 0 [totalRecords] [x]
jsAlert "aqui"
SetCompVar "[Casa([x])]" "[tableData([x])('Nombre')]"
ShowObject "Ca[x]" "" 0
If [x] == [totalRecords]
GotoPage "MenuPrincipal"
EndIf
endloop

Quote from luishp on May 2, 2020, 10:22 am@gustavo1973, vale vamos a cambiar el enfoque. Vuelve a tu código inicial y ve a la página siguiente utilizando un pequeño retardo para asegurarte de que el LOOP ha terminado antes de cambiar de página:
Wait 300 GotoPage "MenuPrincipal" EndWaitSaludos!
@gustavo1973, vale vamos a cambiar el enfoque. Vuelve a tu código inicial y ve a la página siguiente utilizando un pequeño retardo para asegurarte de que el LOOP ha terminado antes de cambiar de página:
Wait 300 GotoPage "MenuPrincipal" EndWait
Saludos!