Nuno Amaral Postado Dezembro 10, 2007 Denunciar Share Postado Dezembro 10, 2007 Boa Tarde,Tenho uma fórmula no Excel a funcionar bem e gostaria de converte-la para o Access.A fórmula em excel:=SE($A2<>""; TEXTO(Parametros!$B$10;"000") & " " & DIREITA(TEXTO($A2;"000 0");5) & TEXTO( 98- RESTO( 923 +3*SEG.TEXTO(TEXTO(Parametros!$B$10;"000") & DIREITA(TEXTO($A2;"0000");4) & TEXTO(G2*100;"00000000");15;1) +30*SEG.TEXTO(TEXTO(Parametros!$B$10;"000") & DIREITA(TEXTO($A2;"0000");4) & TEXTO(G2*100;"00000000");14;1) +9*SEG.TEXTO(TEXTO(Parametros!$B$10;"000") & DIREITA(TEXTO($A2;"0000");4) & TEXTO(G2*100;"00000000");13;1) +90*SEG.TEXTO(TEXTO(Parametros!$B$10;"000") & DIREITA(TEXTO($A2;"0000");4) & TEXTO(G2*100;"00000000");12;1) +27*SEG.TEXTO(TEXTO(Parametros!$B$10;"000") & DIREITA(TEXTO($A2;"0000");4) & TEXTO(G2*100;"00000000");11;1) +76*SEG.TEXTO(TEXTO(Parametros!$B$10;"000") & DIREITA(TEXTO($A2;"0000");4) & TEXTO(G2*100;"00000000");10;1) +81*SEG.TEXTO(TEXTO(Parametros!$B$10;"000") & DIREITA(TEXTO($A2;"0000");4) & TEXTO(G2*100;"00000000");9;1) +34*SEG.TEXTO(TEXTO(Parametros!$B$10;"000") & DIREITA(TEXTO($A2;"0000");4) & TEXTO(G2*100;"00000000");8;1) +49*SEG.TEXTO(TEXTO(Parametros!$B$10;"000") & DIREITA(TEXTO($A2;"0000");4) & TEXTO(G2*100;"00000000");7;1) +5*SEG.TEXTO(TEXTO(Parametros!$B$10;"000") & DIREITA(TEXTO($A2;"0000");4) & TEXTO(G2*100;"00000000");6;1) +50*SEG.TEXTO(TEXTO(Parametros!$B$10;"000") & DIREITA(TEXTO($A2;"0000");4) & TEXTO(G2*100;"00000000");5;1) +15*SEG.TEXTO(TEXTO(Parametros!$B$10;"000") & DIREITA(TEXTO($A2;"0000");4) & TEXTO(G2*100;"00000000");4;1) +53*SEG.TEXTO(TEXTO(Parametros!$B$10;"000") & DIREITA(TEXTO($A2;"0000");4) & TEXTO(G2*100;"00000000");3;1) +45*SEG.TEXTO(TEXTO(Parametros!$B$10;"000") & DIREITA(TEXTO($A2;"0000");4) & TEXTO(G2*100;"00000000");2;1) +62*SEG.TEXTO(TEXTO(Parametros!$B$10;"000") & DIREITA(TEXTO($A2;"0000");4) & TEXTO(G2*100;"00000000");1;1);97);"00");"")A2 é a celula com um valor.Parametros!$B$10 é outra célula na folha parametros com um valor.G2 é a célula onde ta outro valor.Para passar para o Access tenho que associar estes campos às labels do access.A2 = id_facturaParametros!$B$10 = subentidadeG2 = Total2Esta fórmula tem de dar um nº com 9 algarismos.Se for em Visual Basic também serve.Alguém consegue ajudar? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Humm Postado Dezembro 10, 2007 Denunciar Share Postado Dezembro 10, 2007 (editado) bom vamos lá..você precisa ter uma tabela de campos com os valores.. e outra com os parametros, caso estes sejam de aplicao universal e não de registro a registro..o comando SE no excel funciona da seguinte maneira:SE(criterio;valor se verdadeiro;valor se falso)no acces funciona assim:SeImed ou IfImedSeImed(criterio;valor se verdadeiro;valor se falso)no entanto.. se você precisar resgatar um valor de um campo em um determinado registro de outra tabela, você pode usar como criterio, valor se verdadeiro ou falso o comando dlookup ou dpesquisaDlookup("[campo a ser resgatado]";"tabela ou consulta onde ele se encontra";criterio)exemplo, eu tenho 2 tabelas.. a tabela PREÇO e a CLIENTEPREÇO:[PREÇO]CLIENTE:[CODIGO]então eu quero que os clientes de 0 a 10 recebam 10% de desconto e os clientes de 11 a 20 recebam 20%no campo do form baseado na tabela PREÇO que vai retornar isso eu coloco:=SeImed(dlookup("[CODIGO]";"CLIENTE";"[CODIGO] =" & ME.[CODIGO])<11;[PREÇO]-10%;[PREÇO]-20%)abraços Editado Dezembro 10, 2007 por Humm Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Nuno Amaral Postado Dezembro 10, 2007 Autor Denunciar Share Postado Dezembro 10, 2007 Humm obrigado pela resposta.Mas o meu problema é actualizar esta formula para access, é que eu não percebo muito de programação.Consegue-me ajudar?? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Humm Postado Dezembro 10, 2007 Denunciar Share Postado Dezembro 10, 2007 então velho.. o excel é um pouco diferente do access..entenda que essa formula é apenas um campo calculado.. no access isso v caplica em formularios e relatorios que por sua vez são baseados em tabelas e consultas..você tem que criar essas tabelas, consultas, forms e relatorias de acordo com sua necessidade.. nomear os campos e tal.. no acess não tem A1 B2 C3.. tem os campos da tabela com os nomes que você criar.basicamente o que muda é o SE para seImed que você usa num campo dentro do form ou relatorioabraços Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Nuno Amaral Postado Dezembro 10, 2007 Autor Denunciar Share Postado Dezembro 10, 2007 Humm, isso já fiz eu. Substitui o 'Se' e troquei o nome das células pelas labels do access.Mas dá erro.Tem alguma ideia para fazer funcionar isso??? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 MrMALJ Postado Dezembro 11, 2007 Denunciar Share Postado Dezembro 11, 2007 sinceramente não entendi esse código todo mais acho que poderia ficar mais menos assim:If seuCampoA2<>”” then me.seuCampoQueGuardaOResultado.value= format(me.seuCampoParametro,”0000”)&right(seuCampoA2,2) & format((me.seuCampoG2*100),” 00000000”)bom a ideia seria essa dai basta ir incluindo o restante (que só você sabe o q e´)...Ok! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Nuno Amaral Postado Dezembro 12, 2007 Autor Denunciar Share Postado Dezembro 12, 2007 Pode-me fazer a fórmula completa? É que eu já me tou a passar com isto e não tou a conseguir fazer?Peço desculpa se tou a pedir demais...Obrigado. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 MrMALJ Postado Dezembro 12, 2007 Denunciar Share Postado Dezembro 12, 2007 Infelizmente num posso te passar pois não consegui entender sua expressão, então coloquei como seria mais pareceido em VBA, dai agora você tem q completar, aconselho você ir testando o código em partes pra ver o que vai acontecendo e depois montar sua ideia, pois como disse anteriormente não dá entender o que essa sua formula faz.... Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Nuno Amaral
Boa Tarde,
Tenho uma fórmula no Excel a funcionar bem e gostaria de converte-la para o Access.
A fórmula em excel:
A2 é a celula com um valor.
Parametros!$B$10 é outra célula na folha parametros com um valor.
G2 é a célula onde ta outro valor.
Para passar para o Access tenho que associar estes campos às labels do access.
A2 = id_factura
Parametros!$B$10 = subentidade
G2 = Total2
Esta fórmula tem de dar um nº com 9 algarismos.
Se for em Visual Basic também serve.
Alguém consegue ajudar?
Link para o comentário
Compartilhar em outros sites
7 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.