MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


3 participantes

    [Resolvido]Somar valores com base em dois critérios

    KleberSilva
    KleberSilva
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 37
    Registrado : 29/07/2011

    [Resolvido]Somar valores com base em dois critérios Empty Somar valores com base em dois critérios

    Mensagem  KleberSilva 26/10/2011, 00:26

    Boa noite caros mestres.
    Primeiramente gostaria de dizer que tenho uma imensa satisfação em fazer parte deste fórum e digo tambem que tens servido de grande utilidade na evolução de meus conhecimentos.
    Vamos lá ao que solicito...
    Estou desenvolvendo um sistema (Tal que denomino ser meu primeiro filho), nele tenho um SubFormulário onde registro as entradas de material; essas entradas podem ter apenas duas origens [ResponsavelFornecimento], sendo via "Cliente" ou via "Fornecedor".
    (Como disposto abaixo)
    CodMaterial DescricaoMaterial ResponsavelFornecimento Valor

    O que preciso ter são duas caixas de texto no rodapé do SubForm, uma com a soma do valor total do "Fornecedor" e outra com a soma do valor total do "Cliente".

    Gostaria de saber como devo fazer, pois, já tentei de várias formas que conheço mas não deu muito certo.
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Somar valores com base em dois critérios Empty Re: [Resolvido]Somar valores com base em dois critérios

    Mensagem  criquio 26/10/2011, 00:39

    Olá! Seja bem vindo ao forum! Usando e abusando das tables né? Very Happy

    Você quer a soma total da tabela ou de acordo algum critério? Se for a soma total, tente o seguinte:

    =DSoma("Vlor";"NomeDaTabela";"ResponsavelFornecimento='" & "Cliente" & "'")
    =DSoma("Vlor";"NomeDaTabela";"ResponsavelFornecimento='" & "Fornecedor" & "'")

    OBS.: Coloquei Vlor, sem o a, de propósito. Valor é uma palavra reservada do Access. O uso dela para nomear campos ou elementos pode causar problemas.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3848
    Registrado : 04/04/2010

    [Resolvido]Somar valores com base em dois critérios Empty Re: [Resolvido]Somar valores com base em dois critérios

    Mensagem  Avelino Sampaio 26/10/2011, 10:02

    Olá amigos

    Dê preferência em não usar funções de domínio (Dsoma,DContar,Dpesquisa), quando for possivel.

    Neste caso acredito que o uso do Soma() é viável. Algo assim:

    =Soma(SeImed([reponsavelFornecimento]="cliente";[valor];0))

    Sucesso!


    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso irrestrito ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    KleberSilva
    KleberSilva
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 37
    Registrado : 29/07/2011

    [Resolvido]Somar valores com base em dois critérios Empty Re: [Resolvido]Somar valores com base em dois critérios

    Mensagem  KleberSilva 26/10/2011, 11:52

    Caros, agradeço pelo feedback tão rápido.
    Amigo Avelino,
    Utilizando pela função
    =Soma(SeImed([reponsavelFornecimento]="cliente";[valor];0))
    apresenta erro na caixa que coloquei esta função, e o que é mais incrivel, a outra caixa de texto que tenho no Rodapé do SubForm tambem passou a ficar com erro.

    Amigo Criquio,
    Agradeço pela dica sobre o [Vlor].
    A sua função retornou exatamente o que preciso, acontece que, ela esta somando o [Vlor] de tudo que tem [ResponsavelFornecimento]="Cliente" na tabela, talvez eu tenha me esquecido de mencionar que as entradas de material estão relacionadas a venda [CodVenda], por exemplo:
    Tenho a Venda 01, Venda 02, Venda 03,... e dentro de cada venda é que preciso saber a soma dos valores dos materiais de acordo com quem irá fornecer ("Cliente" ou "Fornecedor").
    Sugestão: Talvez seria melhor se a função fizesse referencia aos campos no SubForm ao invés de fazer referencia aos campos na Tbl.

    CodVenda CodMaterialDescricaoMaterial ResponsavelFornecimento Valor
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Somar valores com base em dois critérios Empty Re: [Resolvido]Somar valores com base em dois critérios

    Mensagem  criquio 26/10/2011, 12:17

    Foi exatamente isso que eu quis dizer quando perguntei se queria a soma geral da tabela ou se precisava de um critério. Acredito que você tenha um campo no formulário aonde tenha esse número da venda, certo? Vamos supor que o nome desse campo seja venda:

    =DSoma("Vlor";"NomeDaTabela";"Venda=" & [Venda] & " And ResponsavelFornecimento='" & "Cliente" & "'")
    =DSoma("Vlor";"NomeDaTabela";"Venda=" & [Venda] & " And ResponsavelFornecimento='" & "Fornecedor" & "'")


    A dica do amigo Avelino serve tambem para contar registros em um subformulário se for esse o caso.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    KleberSilva
    KleberSilva
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 37
    Registrado : 29/07/2011

    [Resolvido]Somar valores com base em dois critérios Empty Re: [Resolvido]Somar valores com base em dois critérios

    Mensagem  KleberSilva 26/10/2011, 14:04

    Cara, você é bom mesmo. E como faço para este campo atualizar assim que mudar algum valor no cadastro, tipo, "Após atualizar valor, atualizar tambem a soma da função". Atualmente para os valores na soma atualizarem tenho que sair da tela e voltar.
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Somar valores com base em dois critérios Empty Re: [Resolvido]Somar valores com base em dois critérios

    Mensagem  criquio 26/10/2011, 14:15

    Tente colocar em um evento de botão ou no evento "No atual" do formulário:

    Me.NomeDoBotão1.Requery
    Me.NomeDoBotão2.Requery


    Outra opção poderia ser você tirar essa instrução da origem dos campos, deixando eles limpos. Depois, definir o intervalo do cronômetro para 1000(1 segundo), nos eventos do formulário e, no evento "No timer", colocar:

    Me.NomeDoCampo1 = DSum("Vlor", "NomeDaTabela", "Venda=" & [Venda] & " And ResponsavelFornecimento='" & "Cliente" & "'")
    Me.NomeDoCampo2 =DSum("Vlor", "NomeDaTabela", "Venda=" & [Venda] & " And ResponsavelFornecimento='" & "Fornecedor" & "'")


    Observe que, quando você coloca a instrução via vba, muda ponto e vírgula para vírgula.


    Última edição por criquio em 26/10/2011, 14:40, editado 1 vez(es)


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3848
    Registrado : 04/04/2010

    [Resolvido]Somar valores com base em dois critérios Empty Re: [Resolvido]Somar valores com base em dois critérios

    Mensagem  Avelino Sampaio 26/10/2011, 14:38

    gente , apesar de funcionar não é a melhor escolha.


    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso irrestrito ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    KleberSilva
    KleberSilva
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 37
    Registrado : 29/07/2011

    [Resolvido]Somar valores com base em dois critérios Empty Re: [Resolvido]Somar valores com base em dois critérios

    Mensagem  KleberSilva 26/10/2011, 16:46

    Fiz conforme falou mas tanto via VBA como na fonte do controle tenho que sair da tela e voltar para que a soma seja feita. Não seria porque estou utilizando os valores já gravados na tabela? Teria como fazer esta instrução utilizando os valores ainda no Form? Talvez o calculo seja mais rápido. O que me diz.
    KleberSilva
    KleberSilva
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 37
    Registrado : 29/07/2011

    [Resolvido]Somar valores com base em dois critérios Empty Re: [Resolvido]Somar valores com base em dois critérios

    Mensagem  KleberSilva 27/10/2011, 13:41

    Caros mestres, sabem me dizer como faço para trocar a função:
    =DSoma("ValorTotalItemMaterial";"TblEventuaisMateriais";"CodEventual=" & [CodEventual] & " And RespFornecimentoMaterial='" & "Cliente" & "'")

    Por algo parecido com esta:
    =DSoma("CBValorTotalItemMaterial";"FrmEventuais";"SubFrmEventuaisMateriais";"CodEventual=" & [CodEventual] & " And RespFornecimentoMaterial='" & "Cliente" & "'")

    A primeira função, passada pelo nosso amigo Criquio, funciona bem, mas como ela pega os valores da tabela e tenho um atraso na gravação dos dados, respectivamente terei tambem um atraso na soma dos valores.
    A segunda, tal que tentei fazer, funcionaria de uma forma mais ágil, pois, ela pegaria os valores ainda no formulário, porém não consegui fazer. Se alguem tiver uma sugestão melhor e puder me ajudar, agradeço.
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Somar valores com base em dois critérios Empty Re: [Resolvido]Somar valores com base em dois critérios

    Mensagem  criquio 27/10/2011, 14:51

    Não daria certo porque o formulário tem apenas um valor. Ele iria somar com o quê? A não ser que esteja usando formulário contínuo com várias linhas e queira somar as linhas visíveis no form. Se for esse o caso, use a dica do Avelino.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3848
    Registrado : 04/04/2010

    [Resolvido]Somar valores com base em dois critérios Empty Re: [Resolvido]Somar valores com base em dois critérios

    Mensagem  Avelino Sampaio 27/10/2011, 15:12

    disponibilize a parte do BD com esta questão

    Aguardamos


    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso irrestrito ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    KleberSilva
    KleberSilva
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 37
    Registrado : 29/07/2011

    [Resolvido]Somar valores com base em dois critérios Empty Re: [Resolvido]Somar valores com base em dois critérios

    Mensagem  KleberSilva 27/10/2011, 17:54

    Como faço para postar um arquivo aqui. Tentei pela opção de anexar arquivo mas parece que não deu certo.
    Posso enviar por email?
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Somar valores com base em dois critérios Empty Re: [Resolvido]Somar valores com base em dois critérios

    Mensagem  criquio 27/10/2011, 17:57

    Dê uma olhada nas dicas da minha assinatura abaixo ↓


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    KleberSilva
    KleberSilva
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 37
    Registrado : 29/07/2011

    [Resolvido]Somar valores com base em dois critérios Empty Re: [Resolvido]Somar valores com base em dois critérios

    Mensagem  KleberSilva 27/10/2011, 18:13

    Segue.
    Anexos
    [Resolvido]Somar valores com base em dois critérios AttachmentSubFrmMateriais.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (210 Kb) Baixado 118 vez(es)
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3848
    Registrado : 04/04/2010

    [Resolvido]Somar valores com base em dois critérios Empty Re: [Resolvido]Somar valores com base em dois critérios

    Mensagem  Avelino Sampaio 27/10/2011, 19:48

    Segue modificações

    Baixar exemplo

    Exemplo de como ficou o valor total por fornecedores

    =Soma(SeImed([RespFornecimentoMaterial]='fornecedor';([qtde]*[valorUnit]);0))

    Bom estudo!


    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso irrestrito ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    KleberSilva
    KleberSilva
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 37
    Registrado : 29/07/2011

    [Resolvido]Somar valores com base em dois critérios Empty Re: [Resolvido]Somar valores com base em dois critérios

    Mensagem  KleberSilva 27/10/2011, 20:10

    Vocês são realmente bons.
    Com relação a lentidão do cálculo vou ter que verificar aqui, talvez seja porque o BD está localizado em uma rede.

    Obrigado a vocês pelo empenho e dedicação.

    Conteúdo patrocinado


    [Resolvido]Somar valores com base em dois critérios Empty Re: [Resolvido]Somar valores com base em dois critérios

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 19/3/2024, 09:04