Ir para conteúdo
Fórum Script Brasil
  • 0

Ajuda a passar formula do Excel para Access


Nuno Amaral

Pergunta

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_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

  • 0

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 IfImed

SeImed(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 dpesquisa

Dlookup("[campo a ser resgatado]";"tabela ou consulta onde ele se encontra";criterio)

exemplo, eu tenho 2 tabelas.. a tabela PREÇO e a CLIENTE

PREÇ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 por Humm
Link para o comentário
Compartilhar em outros sites

  • 0

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 relatorio

abraços

Link para o comentário
Compartilhar em outros sites

  • 0

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!

Link para o comentário
Compartilhar em outros sites

  • 0

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....

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...