Loop

Repete um conjunto de etapas de script para executar processos em lote.

Opções

Liberar especifica quando liberar relacionamentos em cache e atualizar dependências enquanto estiver no loop:

  • Sempre: para cada etapa do loop que modifica os dados, sempre limpe todos os relacionamentos em cache e atualize todas as dependências. Esta é a opção padrão e garante que os dados relacionados estejam disponíveis como esperado.

  • Mínimo: para cada etapa do loop que modifica os dados, limpe os relacionamentos em cache e atualize as dependências de dados relacionados que estão a apenas um relacionamento de distância da ocorrência atual da tabela.

  • Deferir: quando o loop for iniciado, use os relacionamentos e dados atualmente armazenados em cache. Aguarde até que o loop saia para limpar os relacionamentos em cache e atualizar as dependências.

Compatibilidade

Produto Compatível
FileMaker Pro Sim
FileMaker Go Sim
FileMaker WebDirect Sim
FileMaker Server Sim
FileMaker Cloud Sim
FileMaker Data API Sim
Publicação na Web personalizada Sim

Originada na versão

6.0 ou anterior

Descrição

Use Loop, por exemplo, para exportar o conteúdo de campo de container de todos os registros em um conjunto encontrado. Esta etapa de script e a Etapa de script End Loop marcam o início e o fim de uma estrutura repetida de etapas de script. O script executa as etapas de script delimitadas na estrutura do loop até encontrar uma das etapas abaixo:

Cada etapa Loop deve ter uma etapa End Loop correspondente em algum lugar após a etapa Loop, no mesmo recuo. Sempre que você usar a etapa de script Loop, o painel de edição de scripts entrará automaticamente na etapa End Loop.

Notas

  • Se deve alterar a opção Liberar depende do design do seu banco de dados. Em geral, se o seu loop não modifica os dados que afetam os relacionamentos, então Deferir pode ser a opção mais rápida. Mas se ele modificar esses dados e os dados estiverem a apenas um relacionamento de distância, tente o Mínimo. Caso contrário, defina como Sempre. Para mais informações, consulte esta publicação de engenharia da Claris.

Exemplo 1

Copia o conteúdo de Clientes::Telefone comercial para Cliente::Dia contato em todos os registros.

Copiar
Ir para registro/solicitação/página [Primeiro]
Loop [ Liberar: Sempre ]
    Definir campo [Clientes::Dia contato; Clientes::Telefone comercial]
    Ir para registro/solicitação/página [Próximo; Sair depois do último: Ativado]
End Loop

Exemplo 2

Faz loop através de registros para exportar arquivos que estão no campo Container.

Copiar
Definir variável [$PATH; Valor: Get ( DocumentsPath ) & Produtos::Container]
Ir para registro/solicitação/página [Primeiro]
Loop [ Liberar: Sempre ]
    Exportar conteúdos do campo [Produtos::Container; "$PATH" ; Criar pastas: Desativado]
    Ir para registro/solicitação/página [Próximo; Sair depois do último: Ativado]
End Loop