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

    SeImedÉNulo com vários argumentos

    janinha78
    janinha78
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 12
    Registrado : 19/05/2014

    SeImedÉNulo com vários argumentos Empty SeImedÉNulo com vários argumentos

    Mensagem  janinha78 9/10/2019, 19:21

    Olá.
    Tenho um relatório baseado em uma consulta que tem 6 campos calculados de [DiasSolicitados] de "datedif" e mais 6 campos de expressão de períodos de gozo de licença. Acontece que não estou conseguindo fazer, no relatório, com que apareça o número de dias e o período de gozo do último registro. Sendo assim: Se o [6Gozo] for nulo, então [5Gozo]; Se [5Gozo] for nulo, então [4Gozo]; Se [4Gozo] for nulo, então [3Gozo] e assim por diante.
    Fiz uma expressão, mas me calcula mostra apenas o [3Gozo] e não consegui aninhar mais argumentos:
    =SeImed(ÉNulo([3Gozo]);[2Gozo];SeImed(ÉNulo([2Gozo]);[1Gozo];[3Gozo]))

    Gostaria de uma ajuda!
    Muito obrigada desde já.
    avatar
    renpv
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 323
    Registrado : 12/01/2015

    SeImedÉNulo com vários argumentos Empty Re: SeImedÉNulo com vários argumentos

    Mensagem  renpv 11/10/2019, 01:09

    Amigo, pelo que entendi do seu problema acho que seria mais conveniente resolver com uma função.
    Outra coisa que me ocorreu é que talvez o campo não seja exatamente do tipo NULL. Atente que Tipo NULL é diferente de Vazio.
    janinha78
    janinha78
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 12
    Registrado : 19/05/2014

    SeImedÉNulo com vários argumentos Empty Re: SeImedÉNulo com vários argumentos

    Mensagem  janinha78 14/10/2019, 20:42

    Boa tarde amigo,

    Sim, mas mesmo se eu colocar como vazio, não está dando certo... me retorna apenas o [3Gozo]
    SeImed([3Gozo];"";[2Gozo];SeImed([2Gozo];"";[1Gozo];[3Gozo]))
    avatar
    renpv
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 323
    Registrado : 12/01/2015

    SeImedÉNulo com vários argumentos Empty Re: SeImedÉNulo com vários argumentos

    Mensagem  renpv 16/10/2019, 14:06

    Manda uma parte do banco pra gente ver
    janinha78
    janinha78
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 12
    Registrado : 19/05/2014

    SeImedÉNulo com vários argumentos Empty Re: SeImedÉNulo com vários argumentos

    Mensagem  janinha78 16/10/2019, 14:52

    Certo!
    To encaminhando
    Anexos
    SeImedÉNulo com vários argumentos AttachmentTeste_LP.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (88 Kb) Baixado 6 vez(es)
    avatar
    renpv
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 323
    Registrado : 12/01/2015

    SeImedÉNulo com vários argumentos Empty Re: SeImedÉNulo com vários argumentos

    Mensagem  renpv 17/10/2019, 01:49

    Oi, achei mais fácil criar uma função para fazer essa verificação. Na verdade criei duas funções, uma para retornar o último gozo e outra para retornar o saldo em dias.

    Criei também mais uma consulta (con_ultima_licenca) para testar essas funções. Estou enviando o arquivo em anexo.

    Veja como eu criei as funções e veja como eu as utilizei na consulta. Seguindo a mesma lógica, você pode criar outras funções para o que quiser.

    Importante! Não mexi no relatório ou na outra consulta.

    Se tiver alguma dúvida pode chamar.
    Anexos
    SeImedÉNulo com vários argumentos AttachmentTeste_LP_modificado.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (186 Kb) Baixado 12 vez(es)

    janinha78 gosta desta mensagem

    janinha78
    janinha78
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 12
    Registrado : 19/05/2014

    SeImedÉNulo com vários argumentos Empty Re: SeImedÉNulo com vários argumentos

    Mensagem  janinha78 17/10/2019, 18:13

    Amigo, muito obrigada, mas não entendo muito de funções e módulos. Aonde irei inserir esta função para que ele traga este resultado no relatório?

    Obrigada.
    avatar
    renpv
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 323
    Registrado : 12/01/2015

    SeImedÉNulo com vários argumentos Empty Re: SeImedÉNulo com vários argumentos

    Mensagem  renpv 18/10/2019, 14:52

    Se você não tiver um módulo de funções terá que criar um, ou copiar do arquivo que mandei. Nesse módulo deverá ter as funções que deseja utilizar (também mandei).

    Para usar essa função veja como fiz a consulta.

    janinha78 gosta desta mensagem

    janinha78
    janinha78
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 12
    Registrado : 19/05/2014

    SeImedÉNulo com vários argumentos Empty Re: SeImedÉNulo com vários argumentos

    Mensagem  janinha78 21/10/2019, 14:44

    Renato, boa tarde. Estava analisando o módulo, e entendi que, de acordo com o modelo da consulta q vc fez, ele me traz apenas o número de ocorrências de gozo (não o período) e a quantidade de intervalos deste período (não a quantidade de dias). Eu não consegui alterar o módulo para me traga, no relatório, estas informações para que este documento seja imprimido com as informações de número de dias de gozo do período específico.

    Mesmo assim, muito obrigada, e se puder me auxiliar....
    avatar
    renpv
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 323
    Registrado : 12/01/2015

    SeImedÉNulo com vários argumentos Empty Re: SeImedÉNulo com vários argumentos

    Mensagem  renpv 24/10/2019, 00:14

    Veja se atende.

    Obs.: Se o seu projeto está no início ou é apenas para essa finalidade sugiro aplicar a normalização de dados. Facilitaria bastante a sua vida e consumiria bem menos recursos de armazenamento e de memória.
    Anexos
    SeImedÉNulo com vários argumentos AttachmentTeste_LP_modificado.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (132 Kb) Baixado 6 vez(es)

    janinha78 gosta desta mensagem

    FranklinJSP
    FranklinJSP
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 479
    Registrado : 25/02/2016

    SeImedÉNulo com vários argumentos Empty Re: SeImedÉNulo com vários argumentos

    Mensagem  FranklinJSP 24/10/2019, 17:19

    Olá

    Espero que seja o que você precisa.

    Saludos


    .................................................................................
    Meu Português não é muito bom,
    mas eu gosto de colaborar... em qualquer idioma
    Smile "Access... minha paixão"

    janinha78 gosta desta mensagem

    janinha78
    janinha78
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 12
    Registrado : 19/05/2014

    SeImedÉNulo com vários argumentos Empty Re: SeImedÉNulo com vários argumentos

    Mensagem  janinha78 31/10/2019, 13:36

    Renato, muito obrigada! É aquilo mesmo que preciso, a minha dificuldade agora está em inserir os campos da consulta no relatório, já que está dando erro pois tenho 2 tabelas relacionadas e em seu exemplo de consulta, apenas uma e quando insiro a outra o módulo não funciona, informando que o campo CodServ pode ser referir a mais de uma tabela, e quando especifico no módulo, a qual tabela ele deve se referir volta #ERRO.

    Muito obrigada!
    janinha78
    janinha78
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 12
    Registrado : 19/05/2014

    SeImedÉNulo com vários argumentos Empty Re: SeImedÉNulo com vários argumentos

    Mensagem  janinha78 31/10/2019, 13:39

    Franklin, muito obrigada! o código quase funcionou... ele me retorna apenas o 6Gozo, quando há apenas o preenchimento dos primeiros períodos de gozo (1Gozo, 2Gozo, até o 5Gozo), ele não me retorna o último período preenchido, somente o último campo (6Gozo) se este estiver preenchido.
    avatar
    renpv
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 323
    Registrado : 12/01/2015

    SeImedÉNulo com vários argumentos Empty Re: SeImedÉNulo com vários argumentos

    Mensagem  renpv 31/10/2019, 14:10

    janinha78 escreveu:Renato, muito obrigada! É aquilo mesmo que preciso, a minha dificuldade agora está em inserir os campos da consulta no relatório, já que está dando erro pois tenho 2 tabelas relacionadas e em seu exemplo de consulta, apenas uma e quando insiro a outra o módulo não funciona, informando que o campo CodServ pode ser referir a mais de uma tabela, e quando especifico no módulo, a qual tabela ele deve se referir volta #ERRO.

    Muito obrigada!

    Quando você insere outra tabela e faz referência a um campo que existe em ambas, você deve dizer de qual tabela espera os dados desse campo. Tente o seguinte chamar cada função com referência à tabela e ao campo. Segue exemplo:
    Código:
    UltimoGozo: getUltimoGozo([TAB_ID].[CodServ])

    Perceba que no caso acima eu apenas incluí a informação da tabela.

    Espero ter ajudado.

    janinha78 gosta desta mensagem


    Conteúdo patrocinado


    SeImedÉNulo com vários argumentos Empty Re: SeImedÉNulo com vários argumentos

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 29/3/2024, 08:54