Calcula os dias decorridos reais no criador de arquivos?

2

Como você faz o Filemaker exibir sempre separadamente os dias decorridos reais de uma determinada data armazenada em um campo em um layout?

Exemplo

Eu insiro a data de hoje no banco de dados. Quando eu olho para a minha visão hoje, deve haver um campo de texto separado dizendo 0 dias. Em uma semana, esse campo de texto deve dizer sete dias.

    
por elhombre 07.09.2013 / 00:25

2 respostas

0

Campo StoredDate

Campo separado ElapsedDays

(texto? por que você quer que um número seja texto? A conversão é deixada como um exercício para o aluno, se o aluno realmente quiser isso. É fácil de encontrar ...)

ElapsedDays, tipo é cálculo, Button [Opções] Get (CurrentDate) - StoredDate

Botão [Opções de armazenamento] Marque Não armazene os resultados dos cálculos - recalcule conforme necessário

Se você não alterar as opções de armazenamento, ele será executado quando criado e não será alterado. Esta é a configuração chave para fazer com que ela mude quando a data atual mudar.

Se, por alguma razão bizarra, você realmente quiser armazenar o texto imutável "days" no campo, bem como o número, que também pode ser feito no cálculo, isso só torna mais tedioso.

GetAsText (Get (CurrentDate) - StoredDate) & "dias"

Então, 480 dias depois, nem mesmo um upvote? Eu sei que são 480 dias desde que eu respondi, porque funciona e eu ainda tenho o teste DB que eu juntei para testá-lo ...

    
por 20.12.2013 / 21:40
0

Claro, existem muitas maneiras de conseguir isso. Isso dependeria da sua solução e de como você deseja que o cálculo apareça no seu layout.

Usando o FileMaker 14, isso pode ser feito sem usar um cálculo não armazenado na tabela de dados. Você pode aproveitar o mecanismo de cálculo do Filemaker diretamente em seu layout usando o cálculo Ocultar quando em um objeto de texto simples. Um botão também pode ser usado para isso.

Supondo que você tenha uma data armazenada em um campo, vamos chamá-la Table :: myDate neste exemplo, em que Table é o nome da sua tabela e myDate é seu campo de data com a data armazenada.

Layout

  • No layout desejado, entre no Modo Layout. ( + L OU controle + L no Windows)
  • Insira um novo objeto Texto e digite uma Mesclar Variável (as variáveis Mesclar podem ser Local ou Global no escopo. Você pode usar uma variável local neste caso que será descartada quando o layout for deixado ou atualizado.) Você pode usar o que desejar para um nome de variável, usaremos $daysElapsed neste exemplo. Portanto, seu objeto de texto terá <<$daysElapsed>> inserido como texto.
  • Vá para a Ficha de dados no painel Inspector
  • Ir para o cálculo Ocultar quando
  • Usando Let() , podemos aproveitar o mecanismo de cálculo do Filemaker sem precisar adicionar um campo à Tabela. Digite a declaração let da seguinte forma:
    Let ( $daysElapsed = Get ( CurrentDate ) - Table::myDate ; False )
    Isso define a variável $ daysElapsed automaticamente na entrada do layout. Exibindo assim os dias decorridos. Retornar False como resultado na instrução Let permite que o objeto seja sempre mostrado. Veja as capturas de tela abaixo.

Para adicionar texto a isso, simplesmente adicione-o no cálculo ou ele pode ser adicionado diretamente no objeto de texto antes da declaração de variável Mesclar. Assim: Days elapsed: <<$daysElapsed>>

    
por 30.10.2015 / 21:20

Tags