MaximoAccess

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

Obrigado

Administração do MaximoAccess

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

    [Resolvido]DSOMA Não "obedece" critérios

    avatar
    rogeriolyma
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 6
    Registrado : 03/11/2016

    [Resolvido]DSOMA Não "obedece" critérios Empty [Resolvido]DSOMA Não "obedece" critérios

    Mensagem  rogeriolyma em 9/9/2019, 15:09

    Olá, bom dia a todos...

    Estou precisando de um auxilio e acredito que a comunidade tem muito mais conhecimento que eu.

    Minha necessidade é:

    Criar um DSOMA com dois critérios:
    Situação: Somar a Coluna Qtde_I da tabela tblcompra
    1º Critério: Data_Venda da tabela tblvenda seja igual ou maior que a Data_Compra da tabela tblcompra
    2º Critério: Coluna Materia Prima da tabela tblcompra seja igual a Materia Prima Utilizada da tabela tblvenda

    Minha consulta ficou assim:

    Total Disponível: Nz(DSoma("Qtde_I";"tblcompra";[tblvenda].[Data_Venda]>=[tblcompra].[Data_Compra] E [tblcompra].[Materia Prima]=[tblvenda].[Materia Prima Utilizada]))

    Mas o resultado esperado é totalmente estranho. Deixei anexado o arquivo access. Não é possível colocar dois anexos, por isso, deixei a figura com o resultado esperado no link do GoogleDrive:[Resolvido]DSOMA Não "obedece" critérios Open?id=1jUyWIbk0YTyZni9j6TGCFvUpBDsCQNxK

    https://drive.google.com/open?id=1jUyWIbk0YTyZni9j6TGCFvUpBDsCQNxK
    Anexos
    [Resolvido]DSOMA Não "obedece" critérios AttachmentEstudo_fluxo2.zip
    Arquivo Access
    Você não tem permissão para fazer download dos arquivos anexados.
    (31 Kb) Baixado 10 vez(es)
    thiagomcosta
    thiagomcosta
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 368
    Registrado : 23/01/2017

    [Resolvido]DSOMA Não "obedece" critérios Empty Re: [Resolvido]DSOMA Não "obedece" critérios

    Mensagem  thiagomcosta em 9/9/2019, 15:46

    A função DSoma procura valores dentro de uma tabela, e não na linha da consulta. Então o terceiro parâmetro tem que ser uma string com a consulta a ser realizada na tabela.

    Tente mudar para o código abaixo e ver se retorna o valor que você deseja:

    Código:
    Total Disponível: Nz(DSoma("Qtde_I";"tblcompra";"[Data_Compra]<=#" & Format([tblvenda].[Data_Venda];"mm/dd/yyyy") & "# AND [Materia Prima]='" & [tblvenda].[Materia Prima Utilizada] & "'"))
    avatar
    rogeriolyma
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 6
    Registrado : 03/11/2016

    [Resolvido]DSOMA Não "obedece" critérios Empty Re: [Resolvido]DSOMA Não "obedece" critérios

    Mensagem  rogeriolyma em 9/9/2019, 20:44

    thiagomcosta

    Muito obrigado... é exatamente e deu super certo com vários testes...

    Vou colocar como resolvido. Abraço
    thiagomcosta
    thiagomcosta
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 368
    Registrado : 23/01/2017

    [Resolvido]DSOMA Não "obedece" critérios Empty Re: [Resolvido]DSOMA Não "obedece" critérios

    Mensagem  thiagomcosta em 9/9/2019, 21:21

    Só dê atenção especial nas datas, que tem sempre de estarem no formato americano numa consulta SQL. Por isso a utilização da função "Format".
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7746
    Registrado : 05/11/2009

    [Resolvido]DSOMA Não "obedece" critérios Empty Re: [Resolvido]DSOMA Não "obedece" critérios

    Mensagem  Alexandre Neves em 9/9/2019, 21:23

    Boa noite
    Será isto?
    Aconselho a normalizar os nomes de campos
    Talvez tenha o RegistoDeVenda desordenado e outros campos chamdos pela consulta

    SELECT [ID_Registro Venda], Data_Venda, tblvenda.Produto, [Qtd Produto], [Qtd Materia Prima (Litros)], [Materia Prima Utilizada], (SELECT Sum(Qtde_I) FROM tblcompra as T1 WHERE tblVenda.[Materia Prima Utilizada] =T1.[Materia Prima] and tblVenda.Data_Venda>=T1.Data_Compra) as TotalDisponível FROM tblvenda LEFT JOIN tblcompra ON tblvenda.[Materia Prima Utilizada] = tblcompra.[Materia Prima] GROUP BY [Materia Prima], tblvenda.[ID_Registro Venda], tblvenda.Data_Venda, tblvenda.Produto, tblvenda.[Qtd Produto], tblvenda.[Qtd Materia Prima (Litros)], tblvenda.[Materia Prima Utilizada];


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7746
    Registrado : 05/11/2009

    [Resolvido]DSOMA Não "obedece" critérios Empty Re: [Resolvido]DSOMA Não "obedece" critérios

    Mensagem  Alexandre Neves em 9/9/2019, 21:25

    Enquanto preparava consulta, surgiram novas respostas, espero que lhe seja útil


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo

      Data/hora atual: 27/10/2020, 02:57