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 participantes

    [Resolvido]Repetir registro anterior em uma consulta quando o registro for vazio.

    avatar
    cris_pereira
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3
    Registrado : 14/03/2013

    [Resolvido]Repetir registro anterior em uma consulta quando o registro for vazio. Empty [Resolvido]Repetir registro anterior em uma consulta quando o registro for vazio.

    Mensagem  cris_pereira 23/4/2014, 17:24

    Boa tarde. Por favor, preciso de ajuda para criar uma consulta onde o registro anterior seja preenchido quando o registro for vazio.
    Por exemplo, tenho uma tabela de datas com todos os dias do mês relacionada com uma tabela de saldo de estoque onde há saldo apenas em alguns dias do mês. Gostaria que a consulta retornasse todos os dias do mês, com o saldo do estoque, porém nos dias em que não houver saldo na tabela Estoque, a consulta retorne o valor do saldo do dia anterior.
    Ex:
    Tabela data:
    dia
    1
    2
    3
    4
    5

    Tabela Saldo eStoque:
    dia saldo
    1   10
    3   8
    5   7

    Resultado da consulta:

    dia  Saldo
    1    10
    2    10
    3    8
    4    8
    5    7

    Tentei fazer essa consulta com a função DLookUp, porém não consegui, retornando erro de sintaxe. Tão entendi bem a lógica.
    Desde já agradeço a atenção
    Cristiano
    Cláudio Más
    Cláudio Más
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1314
    Registrado : 21/01/2012

    [Resolvido]Repetir registro anterior em uma consulta quando o registro for vazio. Empty Re: [Resolvido]Repetir registro anterior em uma consulta quando o registro for vazio.

    Mensagem  Cláudio Más 24/4/2014, 00:29

    SELECT data.dia, Nz([Saldo Estoque].[saldo],[saldo1]) AS saldo
    FROM ([Saldo Estoque] RIGHT JOIN data ON [Saldo Estoque].dia = data.dia)
    LEFT JOIN (SELECT [dia]+1 AS dia1, saldo AS saldo1 FROM [Saldo Estoque]) a
    ON data.dia = a.dia1
    avatar
    cris_pereira
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3
    Registrado : 14/03/2013

    [Resolvido]Repetir registro anterior em uma consulta quando o registro for vazio. Empty Re: [Resolvido]Repetir registro anterior em uma consulta quando o registro for vazio.

    Mensagem  cris_pereira 24/4/2014, 12:18

    Claudio, obrigado! Mas deu certo em parte. A consulta está repetindo o saldo para o dia subsequente, mas quando há mais dois ou mais dias subsequentes sem saldo na tabela Saldo_Estoque, ela não continua repetindo até que encontre um novo saldo.
    Estou enviando um arquivo de exemplo
    Muito obrigado, por enquanto.
    Anexos
    [Resolvido]Repetir registro anterior em uma consulta quando o registro for vazio. Attachmentestoque_cap.zip
    Segue o exemplo que falei
    Você não tem permissão para fazer download dos arquivos anexados.
    (28 Kb) Baixado 21 vez(es)
    Cláudio Más
    Cláudio Más
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1314
    Registrado : 21/01/2012

    [Resolvido]Repetir registro anterior em uma consulta quando o registro for vazio. Empty Re: [Resolvido]Repetir registro anterior em uma consulta quando o registro for vazio.

    Mensagem  Cláudio Más 24/4/2014, 13:54

    Cristiano, a solução abaixo tende a uma baixa performance quando as tabelas envolvidas apresentam grande quantidade de registros.
    E considera que as tabelas contém registros classificados pelo campo [dia].

    SELECT dia, DLast("[saldo]","Saldo Estoque","[dia] <= " & [dia]) AS saldo FROM data
    avatar
    cris_pereira
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3
    Registrado : 14/03/2013

    [Resolvido]Repetir registro anterior em uma consulta quando o registro for vazio. Empty Re: [Resolvido]Repetir registro anterior em uma consulta quando o registro for vazio.

    Mensagem  cris_pereira 24/4/2014, 16:16

    Obrigado! Deu certo!! Very Happy 

    Conteúdo patrocinado


    [Resolvido]Repetir registro anterior em uma consulta quando o registro for vazio. Empty Re: [Resolvido]Repetir registro anterior em uma consulta quando o registro for vazio.

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 19/4/2024, 07:21