O novo recurso do Filemaker 11, Filter portal record e muito util mas ainda nao da pra filtrar muitas coisas, atendendo uma duvida de um amigo da lista Filemaker Brasil resolvi fazer esse artigo, espero que gostem e seja util.Bem vamos vamos comecar com os relacionamentos, para esse exemplo vamos querer mostrar todos os produtos personalizados de um determinado cliente, para isso teremos tres tabelas:ficha tecnica;produtos personalizados eclientes.Veja o relacionamento com a ficha_tecnica e produtos_personalizadosRelacionamento acima.Os campos acima sao: produtos_personalizados ( Tabela ) ficha_tecnica_idfk number REL_cliente_idfk Calculation Result text 0 & "" & cliente_idfk Ficha_tecnica ( Tabela ) ficha_tecnica_idpk Number Auto Serial G_clientes Text Global ReL_cliente_idpk Calculation Result text Case (IsEmpty ( G_clientes ); 0;Right( G_clientes; Length ( G_clientes) - Position (G_clientes; "-"; 1; 1) )) Obs.:O campo REL_cliente_idfk contem sempre dois valores separados pela quebra de texto, isso faz com que o filemaker pense que sao dois valores distintos e podemos trabalhar com eles nos relacionamentos.O campo REL_cliente_idpk contem uma formula para pegar o conteudo que se encontram antes do caracter " - ", que fiz para colocar o identificador do cliente e seu nome. O campo G_clientes e um global cujo o valor inicial e 0Relacionamentos feitos vamos ao portal, deve estar no layout cuja tabela seja ficha_tecnica, ficando como segue abaixo:No Campo Cliente possui um value list que mostrara todos os nome_cliente - clientes_idfk, que essa ficha padrao foi utilizada.Mostra todos os produtos que utilizou essa ficha tecnica.Apos selecionar um cliente no campo Cliente, mostrara somente os produtos personalizados para o cliente Obian Sistemas.Selecionado o cliente Obian Sistemas -009, a relacao fechou com utilizando o identificador 009 e o codigo da ficha em questao.Bem e isso, abracos e sucesso a todos. Hoje me deparei com um problema que havia resolvido em um sistema desenvolvido em Filemaker 6, transformar um valor Monetario em Extenso para ser inserido num recibo. Entao resolvi postar aqui para ajudar os desenvolvedores de lingua portuguesa. Bem vamos ao "Codigo":Sera necessario usar dois campos:valor_monetario - Numbervalor_extenso - Calculation - Result TextNo campo de calculo basta inserir esse codigo:Choose(Int(Int(valor_numero /1000000)/100);"";"Cento";"Duzentos";"Trezentos";"Quatrocentos";"Quinhentos";"Seiscentos";"Setecentos";"Oitocentos";"Novecentos") & If(Int(Int(valor_numero /1000000)/100) > 0;" e ";"") &Choose(Int(Mod(Int(valor_numero /1000000);100)/10);"";"";"Vinte ";"Trinta ";"Quarenta ";"Cinquenta"; "Sessenta ";"Setenta ";"Oitenta ";"Noventa ") &Choose(If(Mod(Int(valor_numero /1000000);100) >= 20;Mod(Int(valor_numero /1000000);10); Mod(Int(valor_numero /1000000);100));""; "Um " ;"Dois " ;"Tres " ;"Quatro " ;"Cinco " ;"Seis " ;"Sete " ;"Oito ";"Nove " ;"Dez " ;"Onze " ;"Doze " ;"Treze " ;"Quatorze " ;"Quinze ";"Dezesseis " ;"Dezessete " ;"Dezoito " ;"Dezenove ") &Case(Int(valor_numero /1000000) = 1;"Milhao, ";Int(valor_numero /1000000) > 1;"Milhoes, ";"") & Choose(Int(Int((valor_numero -(Int(valor_numero /1000000) * 1000000 ))/1000)/100);"";"Cento";"Duzentos";"Trezentos";"Quatrocentos";"Quinhentos";"Seiscentos";"Setecentos";"Oitocentos";"Novecentos") & If(Int(Int((valor_numero -(Int(valor_numero /1000000) * 1000000 ))/1000)/100) > 0;" e ";"") &Choose(Int(Mod(Int((valor_numero -(Int(valor_numero /1000000) * 1000000 ))/1000);100)/10);"";"";"Vinte ";"Trinta ";"Quarenta";"Cinquenta "; "Sessenta ";"Setenta ";"Oitenta ";"Noventa ") &Choose(If(Mod(Int((valor_numero -(Int(valor_numero /1000000) * 1000000 ))/1000);100) 20;Mod(Int((valor_numero -(Int(valor_numero /1000000) * 1000000 ))/1000);10);Mod(Int((valor_numero -(Int(valor_numero /1000000) * 1000000 ))/1000);100));"";"Um " ;"Dois " ;"Tres " ;"Quatro " ;"Cinco " ;"Seis " ;"Sete " ;"Oito ";"Nove " ;"Dez " ;"Onze " ;"Doze " ;"Treze " ;"Quatorze " ;"Quinze ";"Dezesseis " ;"Dezessete " ;"Dezoito " ;"Dezenove ") &If(Int((valor_numero -(Int(valor_numero /1000000) * 1000000 ))/1000) > 0;"Mil ";"") & Choose(Int(Int(Mod(valor_numero ;1000))/100);"";"Cento";"Duzentos";"Trezentos";"Quatrocentos";"Quinhentos";"Seiscentos";"Setecentos";"Oitocentos";"Novecentos") & If(Int(Int(Mod(valor_numero