Bom dia, Seguinte, muitos programas que utilizamos estão ficando lentos e gerando muito IO por causa da quantidade excessiva de registros que carrega nos browsers, apesar de todos índices usados e tudo mais. Coisa de 15 milhões ou mais de registros. Estou tentando fazer paginação para otimizar os Browsers. Os "buffer object handle" possuem "FIND-FIRST" e "FIND-LAST" mas não possui "FIND-NEXT" nem "FIND-PREV" e o "NEXT-SIBLING" e "PREV-SIBLING" não funcionam como os citados anteriormente. Depois vi uma forma usando variável QUERY, tipo: Código: DEFINE QUERY cust-order FOR Customer, Order. OPEN QUERY cust-order FOR EACH Customer, EACH Order OF Customer. GET FIRST cust-order. DO WHILE AVAILABLE Customer: DISPLAY Customer.CustNum Customer.Name WITH FRAME cust-info. DISPLAY Order WITH FRAME order-info SIDE-LABELS. PAUSE. GET NEXT cust-order. END. Pergunta: Como fica o código, uma vez que passei para a segunda página, ao voltar usando o ROWID do primeiro registro mantendo a cláusula WHERE ? Abraço Rafael
Eu criaria um campo indice, contaria quantos itens eu gostaria de ter em cada pagina, depois teria 2 botões de avancar e voltar pagina, onde eu somaria e diminuiria 1 do indice, e no browser mandar listar somente os itens daquele indice.
isso não resolve porque a cláusula WHERE pode ser modificada pelo usuário...mas obrigado pelo retorno