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


+2
Marcelo David
marcoelias
6 participantes

    Função para subtração tipo dsum

    marcoelias
    marcoelias
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 93
    Registrado : 28/01/2012

    Função para subtração tipo dsum Empty Função para subtração tipo dsum

    Mensagem  marcoelias 29/5/2013, 12:20

    Olá

    Na sequência do meu tópico anterior que coloquei como resolvido por já existirem tópicos e que me ajudar.

    Venho solicitar ajuda para uma questão semelhante a função dsum, só que neste caso é o contrário não quero somar quero Subtrair é possível???

    Algo tipo Isto
    __________Coluna 1________coluna pretendida
    Linhas1______10_________________10
    Linhas1______5__________________5
    Linhas1______15_________________-10
    Linhas1_____ 17_________________-2
    Marcelo David
    Marcelo David
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3878
    Registrado : 21/04/2011

    Função para subtração tipo dsum Empty Re: Função para subtração tipo dsum

    Mensagem  Marcelo David 29/5/2013, 12:45

    Não compreendi direito.
    Poderia explanar mais um pouco?


    .................................................................................
    Aprenda como criar formulário desacoplado.
    Conheça meu canal no Youtube e se inscreva.
    Função para subtração tipo dsum Marcel11
    marcoelias
    marcoelias
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 93
    Registrado : 28/01/2012

    Função para subtração tipo dsum Empty Re: Função para subtração tipo dsum

    Mensagem  marcoelias 29/5/2013, 12:50

    Ola

    O que necessito e uma função que determine a diferença entre valor numa consulta.

    Por exemplo:

    Tenho um registo que me diz que o meu saldo num dia é 500, no outro dia tenho o meu saldo com o registo de 300.
    o que pretendo é uma função que faça 500-300.

    Surgiu-me agora a função Dúltimo, será que funciona ou existe outro método???


    Caro marcelo

    Estou utilizando esta a função abaixo e está ok

    : DÚltimo("[CAMPO]";"TABELA";"[id]<=" & ([id]-1) & "")





    No Entanto tenho outro problema esta função devolve sempre o ultimo valor, mas eu necessito por grupos.

    vou anexar um excel para ver se consegue me ajudar
    Anexos
    Função para subtração tipo dsum AttachmentLivro1.xlsx
    Você não tem permissão para fazer download dos arquivos anexados.
    (15 Kb) Baixado 7 vez(es)
    marcoelias
    marcoelias
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 93
    Registrado : 28/01/2012

    Função para subtração tipo dsum Empty Re: Função para subtração tipo dsum

    Mensagem  marcoelias 29/5/2013, 16:56

    Ajuda por favor
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    Função para subtração tipo dsum Empty Re: Função para subtração tipo dsum

    Mensagem  Alexandre Neves 29/5/2013, 18:00

    Respeite as regras do fórum, a bem de todos
    Não entendi bem a onde pretende utilizar a subtracção. Disponibilize dados concrectos


    .................................................................................
    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
    marcoelias
    marcoelias
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 93
    Registrado : 28/01/2012

    Função para subtração tipo dsum Empty Re: Função para subtração tipo dsum

    Mensagem  marcoelias 29/5/2013, 18:13



    Não conseguiu perceber o Excel???

    O meu objectivo e aplicar esses cálculos no access, não consigui fazer os agrupamentos pelos nomes.

    O objectivo é determinar a diferença entre um valor do ultimo registo e do registo anterior, vou tentar expor uma tabela

    _______________nomes_____________Valor__________Dif
    Registo 1______Maria_______________10___________10
    Registo 2______Maria_______________5____________5(Registo1-registo2)
    Registo 3______Maria_______________10___________-5(Registo2-registo3)
    Registo 4______João________________10____________5
    Registo 5______Maria_______________5____________0(Registo3-registo5)
    Registo 6______Maria_______________2____________3(Registo5-registo6)
    Registo 7_______João_______________5____________5(Registo4-registo7)


    Ou sejá é o Dúltimo - o actual agrupado por nome (penso eu)
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11016
    Registrado : 04/11/2009

    Função para subtração tipo dsum Empty Re: Função para subtração tipo dsum

    Mensagem  JPaulo 30/5/2013, 09:48

    Ola;

    Anexe aqui parte do seu banco com essa consulta, por favor.


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    Função para subtração tipo dsum Folder_announce_new Utilize o Sistema de Busca do Fórum...
    Função para subtração tipo dsum Folder_announce_new 102 Códigos VBA Gratuitos...
    Função para subtração tipo dsum Folder_announce_new Instruções SQL como utilizar...
    marcoelias
    marcoelias
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 93
    Registrado : 28/01/2012

    Função para subtração tipo dsum Empty Re: Função para subtração tipo dsum

    Mensagem  marcoelias 30/5/2013, 09:59

    Caro

    Jpaulo

    Desde já agradeço a sua resposta, em anexo envio parte do banco com a consulta.

    Como poderá ver a coluna "CUSUM", está a calcular "Dsum" e está a ok, no entanto esta soma esta sendo geral, o que pretendo e realizar a soma por grupos de designação. Espero que tenha percebido a minha duvida

    Marco
    Anexos
    Função para subtração tipo dsum AttachmentNovo Arquivo ZIP do WinRAR.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (83 Kb) Baixado 8 vez(es)
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11016
    Registrado : 04/11/2009

    Função para subtração tipo dsum Empty Re: Função para subtração tipo dsum

    Mensagem  JPaulo 30/5/2013, 11:30

    Para isso não pode ter nessa consulta, o campo IDAmostra nem o campo Data e Hora de Amostragem, no limite poderá formatar a data/hora para a soma por dia.

    1ª Possibilidade

    SELECT Format([Data e Hora de Amostragem],"dd/mm/yyyy") AS DataRef, Cusum.Designação, Sum(DSum("[variaçãoalvo]","Cusum","[idamostra]<=" & [idamostra] & "")) AS cusum
    FROM Cusum
    GROUP BY Format([Data e Hora de Amostragem],"dd/mm/yyyy"), Cusum.Designação
    ORDER BY Format([Data e Hora de Amostragem],"dd/mm/yyyy"), Cusum.Designação;


    2ª Possibilidade

    SELECT Cusum.Designação, Sum(DSum("[variaçãoalvo]","Cusum","[idamostra]<=" & [idamostra] & "")) AS cusum
    FROM Cusum
    GROUP BY Cusum.Designação
    ORDER BY Cusum.Designação;



    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    Função para subtração tipo dsum Folder_announce_new Utilize o Sistema de Busca do Fórum...
    Função para subtração tipo dsum Folder_announce_new 102 Códigos VBA Gratuitos...
    Função para subtração tipo dsum Folder_announce_new Instruções SQL como utilizar...
    marcoelias
    marcoelias
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 93
    Registrado : 28/01/2012

    Função para subtração tipo dsum Empty Re: Função para subtração tipo dsum

    Mensagem  marcoelias 30/5/2013, 11:36

    Ok

    Vou Testar depois devolvo Feedback
    marcoelias
    marcoelias
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 93
    Registrado : 28/01/2012

    Função para subtração tipo dsum Empty Re: Função para subtração tipo dsum

    Mensagem  marcoelias 30/5/2013, 11:55

    Caro João Paulo

    Eu necessito de todos os campos

    Em anexo envio em Excel, como deve ficar o relatório final com base nos dados da tabela

    Deste modo poderá ter outra solução que eu não esteja a ver

    Obrigado
    Anexos
    Função para subtração tipo dsum Attachmentexemplo.xlsx
    Você não tem permissão para fazer download dos arquivos anexados.
    (13 Kb) Baixado 5 vez(es)
    marcoelias
    marcoelias
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 93
    Registrado : 28/01/2012

    Função para subtração tipo dsum Empty Re: Função para subtração tipo dsum

    Mensagem  marcoelias 31/5/2013, 12:49

    Boa tarde

    Relativamente a este tópico já cheguei a uma solução no entanto andei as voltas e a base de dados fica muito pesada demorando a abrir, anexo a base de dados para que possam analisar e verificar se existe uma solução mais fácil.

    O objectivo que eu tinha foi atingido que era elaborar um relatório como o que esta no anexo.

    Peço desde já desculpas pelo método de programação, pois não tenho qualquer tipo de formação.

    Poderá demorar algum tempo a abrir
    Anexos
    Função para subtração tipo dsum AttachmentNovo Arquivo ZIP do WinRAR.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (216 Kb) Baixado 8 vez(es)
    marcoelias
    marcoelias
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 93
    Registrado : 28/01/2012

    Função para subtração tipo dsum Empty Re: Função para subtração tipo dsum

    Mensagem  marcoelias 1/6/2013, 10:03

    O facto de este relatório sobrecarregar o banco de dados está a me criar alguns problemas,aguardo pacientemente a uma solução vossa se possivel
    Fernando Bueno
    Fernando Bueno
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2115
    Registrado : 13/04/2012

    Função para subtração tipo dsum Empty Re: Função para subtração tipo dsum

    Mensagem  Fernando Bueno 1/6/2013, 12:21

    Bom dia Marco,

    Faz um teste no segundo relatório


    .................................................................................
    Um abraço
    Fernando Bueno


    O aumento do conhecimento é como uma esfera dilatando-se no espaço
    quanto maior a nossa compreensão,
    maior o nosso contacto com o desconhecido
    Função para subtração tipo dsum 16rzeq
    marcoelias
    marcoelias
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 93
    Registrado : 28/01/2012

    Função para subtração tipo dsum Empty Re: Função para subtração tipo dsum

    Mensagem  marcoelias 1/6/2013, 12:58

    Não percebi muito bem o que você fez, simplesmente criou um relatório com um sub-relatório.

    O meu caso é mais complexo, como não percebo de programação necessitei de criar uma 5 ou seis consulta para chegar a esse relatório, a tabela que aparece no banco de dados é resultado de uma consulta criar tabela.

    Em anexo envio um exemplo da tabela inicial e do relatório pretendido (em Excel).

    Como pode ver o sombreado a azul é uma consulta geral onde tenho os dados e várias designações (João, Maria), o que pretendo é um relatório tipo o que esta a amarelo, claro que terá mais campos como é apresentado no banco de dados, mas se eu consegui-se um método de realizar o calculo que se apresenta no Excel de Dsum, seria uma grande ajuda.


    Vou detalhar um pouco o que tive de fazer para chegar ao relatório em anexo e a razão do banco estar muito lento.

    1º-Partindo de uma consulta geral, tive de criar uma consulta de referencia cruzada de modo a posteriormente poder relacionar 2 com 28 (2 e 28 referido no banco em anexo);

    2º-depois tive de criar outra consulta para determinar algum dados tipo a relação entre 2 e 28 (2 e 28 referido no banco em anexo);

    3º- Criei uma consulta criar tabela de modo a apresentar apenas os valores referentes a uma designação, pois quando aplicava a função Dsum, o banco devolvia os valores referentes a João e Maria (João e Maria referido no banco em anexo) somado.

    4º- Depois tive de criar as consultas que se apresentam na banco de dados anexado a este tópico.
    5º Finalmente criei o relatório como pretendia.

    O problema é que tenho de realizar isto para diversas designações (João, Maria, etc) se só com uma análise o meu banco encontra-se super lento quando realizar outra análise possivelmente não abrirá.

    Como podem ver esta criada uma grande confusão, mas é funcional até certo ponto.


    Agradeço desde já a vossa atenção



    O caminho mais curto entre dois pontos é sem duvida uma recta. Quando isto não é possível, é necessário um caminho alternativo, que pode ser longo e difícil
    Anexos
    Função para subtração tipo dsum Attachmentexemplo.xlsx
    Você não tem permissão para fazer download dos arquivos anexados.
    (13 Kb) Baixado 4 vez(es)
    Fernando Bueno
    Fernando Bueno
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2115
    Registrado : 13/04/2012

    Função para subtração tipo dsum Empty Re: Função para subtração tipo dsum

    Mensagem  Fernando Bueno 1/6/2013, 13:14

    Realmente seu bd esta meio confuso.

    Vou tentando achar uma solução junto com os colegas envolvidos

    nesse topico.


    .................................................................................
    Um abraço
    Fernando Bueno


    O aumento do conhecimento é como uma esfera dilatando-se no espaço
    quanto maior a nossa compreensão,
    maior o nosso contacto com o desconhecido
    Função para subtração tipo dsum 16rzeq
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    Função para subtração tipo dsum Empty Re: Função para subtração tipo dsum

    Mensagem  Avelino Sampaio 1/6/2013, 14:56

    Se vc quiser um resultado satisfatório terá que realizar uma pequena programação no relatório e que não é dificil de entender não.

    Segue um exemplo, aonde extrai os valores da sua tabela Excel. Abra o relatório e veja se não chegou bem proximo do desejado. Os valores estão fora de ordem da sua tabela Excel porque resolvi também classificar por data.

    A pouquissima programação utilizada foi para substituir a FAMIGERADA função Dsum(). No relatório ficou mamão com açúcar realizar o cálculo pois podemos acumar os valores em uma variável.

    Option Compare Database
    Dim SaldoAcumulado As Double

    Private Sub CabeçalhoDoGrupo1_Print(Cancel As Integer, PrintCount As Integer)
    SaldoAcumulado = 0
    End Sub

    Private Sub Detalhe_Print(Cancel As Integer, PrintCount As Integer)
    SaldoAcumulado = SaldoAcumulado + Me!VariaçãoAlvo
    Me!SaldoLinha = SaldoAcumulado
    End Sub



    Veja então se atende.


    Anexos
    Função para subtração tipo dsum AttachmentMarcoElias.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (31 Kb) Baixado 31 vez(es)


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

    Conteúdo patrocinado


    Função para subtração tipo dsum Empty Re: Função para subtração tipo dsum

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 19/5/2024, 15:10