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


5 participantes

    [Resolvido]Somar campos nulos

    julianovv
    julianovv
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 685
    Registrado : 14/12/2010

    [Resolvido]Somar campos nulos Empty [Resolvido]Somar campos nulos

    Mensagem  julianovv 8/9/2011, 19:50

    Boa tarde senhores, tenho uma consulta de horas trabalhadas e utilizo nos forms e relatórios a seguinte expressão para soma acima de 24 horas do grande mestre Wagner Senna:

    =Formato(Int(Soma(Formato([horadia];"hh")))+Int((Soma(Formato([horadia];"nn")))/60);"00") & ":" & Formato((Soma(Formato([horadia];"nn")))-Int((Soma(Formato([horadia];"nn")))/60)*60;"00")

    Gostaria de saber como posso incluir nesta soma os campos em branco (nulos). Sempre dá erro. Já me passaram a alternativa de criar um valor padrão zero para o campo mas o zero só aparece ao criar novo registro na tabela, o que não acontece. O usuário não cria um registro que ele não vai usar. O grande abacaxi é que quando uma ordem não tem horas lançadas, não existe registro na tabela e na hora de mostrar as OS sem horas, não aparecem os zeros e sim, campos em branco (nulos).
    A solução que encontrei temporariamente foi separar os relatórios criando consultas de campos nulos e incluir nele um sub-relatorio para exibir as ordens de serviço que estão em branco.
    Qualquer ajuda será bem-vinda!

    Rolling Eyes


    Última edição por julianovv em 19/9/2011, 18:56, editado 1 vez(es)
    bitabit
    bitabit
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 225
    Registrado : 14/07/2010

    [Resolvido]Somar campos nulos Empty Re: [Resolvido]Somar campos nulos

    Mensagem  bitabit 8/9/2011, 20:01

    nao estou a ver qual será a vantagem de contabilizares os campos nulos...

    porque não colocas o campo a 0 a carregar o form.

    no evento load do form coloca:

    me.nomedocampo = 0
    julianovv
    julianovv
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 685
    Registrado : 14/12/2010

    [Resolvido]Somar campos nulos Empty Re: Soma de campos em branco (nulos)

    Mensagem  julianovv 8/9/2011, 21:17

    O objetivo é criar uma consulta com todas as ordens de serviço com ou sem horas lançadas. Quando o campo nulo existe, a soma dá erro.
    O usuário só lança as horas na OS quando existem horas para serem lançadas, sendo impossível ele apenas cadastrar uma ordem na tabela sem ter trabalhado nela.

    Neutral
    avatar
    Convidado
    Convidado


    [Resolvido]Somar campos nulos Empty Re: [Resolvido]Somar campos nulos

    Mensagem  Convidado 8/9/2011, 23:29

    A solução trilha pelo Selmed ou o NZ.....
    José
    José
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 118
    Registrado : 14/03/2010

    [Resolvido]Somar campos nulos Empty Re: [Resolvido]Somar campos nulos

    Mensagem  José 8/9/2011, 23:53

    pelo simples...

    na estrutura da tabela, no campo onde armazena a quantidade de horas, na aba geral - valor padrão: 0

    Quando for inserido um registro, independente de haver dado entrada na quantidade de horas, o valor padrão de horas vai ser zero.
    julianovv
    julianovv
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 685
    Registrado : 14/12/2010

    [Resolvido]Somar campos nulos Empty Re: Somar campos nulos

    Mensagem  julianovv 9/9/2011, 12:56

    Obrigado pelas dicas. Harysohn, já tentei criar uma função usando o SeImed mas o campo não é formatado, não calculado então o resultado é sempre #erro#. Quanto ao valor padrão da dica do José, quando o usuário lança um novo registro na tabela de horas, ele já possui as informações para inserir. Quando ele não tem, a ordem de serviço não aparece na tabela porque ele pulou essa ordem por não ter dados. Nas consultas, esse registro é oriundo da tabela principal sem o usuário ter inserido nada sobre ele na tabela, por isso o campo é nulo (em branco).

    Rolling Eyes
    avatar
    Convidado
    Convidado


    [Resolvido]Somar campos nulos Empty Re: [Resolvido]Somar campos nulos

    Mensagem  Convidado 9/9/2011, 13:01

    Bem.. se puder postar parte do BD referente ao eror, talvez lhe possamos ajudar mais..

    Cumprimentos
    julianovv
    julianovv
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 685
    Registrado : 14/12/2010

    [Resolvido]Somar campos nulos Empty Re: Somar campos nulos

    Mensagem  julianovv 9/9/2011, 15:59

    Ok, obrigado. Tentei enviar um anexo mostrando como fiz o relacionamento entre as tabelas mas não aceitou o envio. Mesmo com o tamanho muito abaixo do permitido.
    Vai na explicação mesmo. São 4 tabelas:

    Like a Star @ heaven A primeira (Tbl ControleOS) é a principal. Os dados são exclusivos e não existe duplicação nem no código interno nem no número da Ordem. O código interno entra na segunda tabela.
    Like a Star @ heaven A segunda (Tbl Projetistas-num) é a tabela que faz "a ponte" entre a principal e a de Projetistas. Todos os dados das 2 tabelas fixas entram nessa.
    Like a Star @ heaven A terceira tabela é a de funcionários com códigos e dados exclusivos (sem duplicação). O código entra na segunda.
    Like a Star @ heaven A quarta tabela exibe o relacionamento da Tbl ControleOS e Projetistas. O número da ordem da primeira e o código do funcionário entram nessa tabela. Note que se o projetista não abrir um registro novo, a ordem (OS) não entra na tabela, sendo assim, caracteriza nas consultas campo em branco (nulo).


    Rolling Eyes

    avatar
    Convidado
    Convidado


    [Resolvido]Somar campos nulos Empty Re: [Resolvido]Somar campos nulos

    Mensagem  Convidado 9/9/2011, 16:05

    Envie-me no e-mail que posto aqui, assim mais colegas poderão ajudá-lo

    Harysohn@hotmail.com

    Cumprimentos.
    julianovv
    julianovv
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 685
    Registrado : 14/12/2010

    [Resolvido]Somar campos nulos Empty Re: Somar campos nulos

    Mensagem  julianovv 9/9/2011, 21:13

    Ok, mandarei sim. No momento estou no trabalho e aqui não tenho acesso a email mas te mando de casa.
    Obrigado!

    Smile
    avatar
    Convidado
    Convidado


    [Resolvido]Somar campos nulos Empty Re: [Resolvido]Somar campos nulos

    Mensagem  Convidado 10/9/2011, 17:13

    O ideal é postar parte do BD amigão.. apenas com o que me enviou eu pelo menos não consigo vinslumbrar uma solucção..

    Cumprimentos.
    julianovv
    julianovv
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 685
    Registrado : 14/12/2010

    [Resolvido]Somar campos nulos Empty Re: Somar campos nulos

    Mensagem  julianovv 10/9/2011, 18:36

    Ok, vou preparar aqui e mando.
    Valeu!

    Smile
    julianovv
    julianovv
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 685
    Registrado : 14/12/2010

    [Resolvido]Somar campos nulos Empty Re: Somar campos nulos

    Mensagem  julianovv 11/9/2011, 18:53

    Olá, segue aí o link para baixar o banco de dados. Qualquer problema dê um toque.

    http://www.megaupload.com/?d=0WVYI1XV

    Smile
    José
    José
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 118
    Registrado : 14/03/2010

    [Resolvido]Somar campos nulos Empty Re: [Resolvido]Somar campos nulos

    Mensagem  José 11/9/2011, 20:37

    No evento "no atual" do seu subformulário [Sub Sub Frm Hora Trabalhada] coloque o código:

    Private Sub Form_Current()
    If IsNull(horadia) Then
    horadia = 0
    End If
    me.Refresh
    End Sub

    Coloque o valor padrão na sua caixa de texto [horadia] como 0.

    Quando rodar sua aplicação e apresentar erro na soma, basta clicar no campo nulo que imediatamente o campo será atualizado para 00:00
    julianovv
    julianovv
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 685
    Registrado : 14/12/2010

    [Resolvido]Somar campos nulos Empty Re: Somar campos nulos

    Mensagem  julianovv 12/9/2011, 12:47

    Bom dia. Obrigado. Quase deu certo. Deu erro na linha "horadia=0". Coloquei #00:00# porque o campo é cálculo de horas e deu erro de novo. Inseri no evento Valor Padrão nas propriedades do campo e depois tentei na tabela mas o erro se repetiu.

    Rolling Eyes
    José
    José
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 118
    Registrado : 14/03/2010

    [Resolvido]Somar campos nulos Empty Re: [Resolvido]Somar campos nulos

    Mensagem  José 12/9/2011, 22:48

    Interessante que aqui funcionou perfeitamente.

    Para ter certeza, baixei o seu arquivo novamente e testei antes de qualquer alteração e realmente estava dando erro na soma das horas.

    Inserí o código que coloquei logo acima e rolei a barra lateral até encontrar o registro com o erro.

    Cliquei no campo vazio e o mesmo atualizou automaticamente, sanando o erro.


    Veja se está colocando no evento do seu subformulário.

    O ruim disto é que é preciso clicar no campo nulo para fazer a atualização, porém poderá fazer um tratamento deste erro antes de inserir novos dados.

    julianovv
    julianovv
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 685
    Registrado : 14/12/2010

    [Resolvido]Somar campos nulos Empty Re: Somar campos nulos

    Mensagem  julianovv 13/9/2011, 12:30

    Pois é, coloquei o código no evento No Atual nas propriedades do subformulário e deu o erro na linha horadia=0
    Fazer essa atualização sempre para obter a soma é complicado pois são centenas de projetistas e centenas de ordens de serviço.

    Shocked

    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Somar campos nulos Empty Re: [Resolvido]Somar campos nulos

    Mensagem  Avelino Sampaio 13/9/2011, 12:50

    Quanto ao nz(), como vc tentou ?

    experimente algo assim:

    =Formato(Int(Soma(Formato(nz([horadia];0);"hh")))+Int((Soma(Formato(nz([horadia];0);"nn")))/60);"00") & ":" & Formato((Soma(Formato(nz([horadia];0);"nn")))-Int((Soma(Formato(nz([horadia];0);"nn")))/60)*60;"00")


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


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 685
    Registrado : 14/12/2010

    [Resolvido]Somar campos nulos Empty [Resolvido] Re: Somar campos nulos

    Mensagem  julianovv 13/9/2011, 17:18

    Agora sim! Funcionou! Eu havia tentado com o NZ outra vez mas não funcionou. Desta forma está melhor.
    Obrigado. Tenho muito serviço pela frente...rsrsr

    Very Happy
    avatar
    Convidado
    Convidado


    [Resolvido]Somar campos nulos Empty Re: [Resolvido]Somar campos nulos

    Mensagem  Convidado 13/9/2011, 20:48

    O Fórum agradece o retorno. Bom trabalho.
    avatar
    clmarino
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 31
    Registrado : 23/09/2011

    [Resolvido]Somar campos nulos Empty mesmo problema com campo nulo

    Mensagem  clmarino 23/9/2011, 15:24

    Senhores
    Estou com um problema muito parecido sobre soma de valores nulos.
    Tenho uma consulta para cálculo de horas de morte que é a seguinte
    HS MORTE: SeImed([HORA AUTOPSIA1] É Nulo;"";DIFFHORAS([OBITO_HORA1];[HORA AUTOPSIA1]))
    Acontece que as vezes a hora do obito (OBITO_HORA1) é ignorada. E no meu relatório tem que constar a hora da autopsia, hora do óbito e hs de morte.
    Como faço para que o resultado do cálculo (HS MORTE)seja 00:00 como também a hora do óbito apareça 00:00.
    avatar
    Convidado
    Convidado


    [Resolvido]Somar campos nulos Empty Re: [Resolvido]Somar campos nulos

    Mensagem  Convidado 23/9/2011, 15:41

    Coloque nestes campos na tabela um valor padrão, assim se não adicionar nenhum valor ficará com o valor pardrao 0 ou 00:00 dependendo do tipo de campo que esta a utilizar..

    Cumprimentos.
    avatar
    clmarino
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 31
    Registrado : 23/09/2011

    [Resolvido]Somar campos nulos Empty soma campos nulos

    Mensagem  clmarino 23/9/2011, 17:46

    Prezado Harysohn
    Agradeço primeiramente sua atenção.
    Fiz o mes voce me disse coloquei o valor padrão 00:00 no campo obito_hora, acontece que como tenho que entrar com a hora da autopsia a consulta realiza o cálculo e resultado é igual a hora da autopsia.
    Quando na realidade eu preciso que o resultado seja igual a 00:00 (que será as horas de morte).
    Agradeço desde já
    avatar
    Convidado
    Convidado


    [Resolvido]Somar campos nulos Empty Re: [Resolvido]Somar campos nulos

    Mensagem  Convidado 23/9/2011, 19:18

    Se puder nos envie parte do BD para que possamos ver.
    Cumprimentos.
    avatar
    clmarino
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 31
    Registrado : 23/09/2011

    [Resolvido]Somar campos nulos Empty soma campos nulos

    Mensagem  clmarino 27/9/2011, 14:03

    Harysohn
    Estou reestruturando o meu Banco, e surgiram mais dúvidas, logo lhe enviarei o BD com todas as minhas dúvidas.
    Agradeço sua atenção.
    até breve

    Conteúdo patrocinado


    [Resolvido]Somar campos nulos Empty Re: [Resolvido]Somar campos nulos

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 7/11/2024, 23:28