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

    [Resolvido]Dúvida com a função SeImed

    julianovv
    julianovv
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Dúvida com a função SeImed Empty Dúvida com a função SeImed

    Mensagem  julianovv 10/1/2011, 13:27

    Bom dia!
    Tenho um relatório com dois campos acoplados, prev (preventivo de horas) e horaparcial (total de horas agrupadas pela ordem de serviço - OS).
    Estou tentando criar alguns alertas no cabeçalho da OS usando a função "SeImed" para indicar que se horaparcial for igual a prev, então me retorne no campo o alerta "100% finalizado".
    O grande problema é que quando vou usar o sinal de menor (<) ou maior (>) e o indicador "" (sequencia de comprimento zero) não dá certo. Só retorna os 100% da expressão com o sinal igual (=).
    Estou criando 3 campos separados não acoplados para os 3 alertas quando igual, menor ou maior.

    Exemplo das expressões que usei:

    =SeImed([prev]=[horaparcial];"100%";"")
    =SeImed([prev]>[horaparcial];"abaixo do previsto";"")
    =SeImed([prev]<[horaparcial];"acima do previsto";"")

    Gostaria de incluir todas na mesma expressão e mesmo separados não estão dando certo. Os campos ficam em branco e só funciona na expressão com sinal =.

    Exemplo do relatório:

    1001-11 Nome da Ordem de Serviço - Preventivo - HorasParcial - Alerta
    (cabeçalho agrupado pelo número da ordem 1001-11)

    Fulano - 10:00
    Sicrano - 02:30
    Beltrano - 02:00
    (Aqui os nomes dos funcionários estão agrupados em outro cabeçalho e exibe a soma total das horas gastas nesta OS.
    A soma parcial está no cabeçalho em HorasParcial).

    Qualquer luz será bem vinda.
    Obrigado

    Suspect
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Dúvida com a função SeImed Empty Re: [Resolvido]Dúvida com a função SeImed

    Mensagem  JPaulo 10/1/2011, 14:04

    Coloque no evento VBA ao formatar do Detalhe no relatorio;

    Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer)
    If [prev] = [horaparcial] Then
    Me.SuaCaixaTexto1.Value = "100%"
    Else
    Me.SuaCaixaTexto1 = ""
    End If

    If [prev] > [abaixo do previsto] Then
    Me.SuaCaixaTexto2.Value = "abaixo do previsto"
    Else
    Me.SuaCaixaTexto2 = ""
    End If

    If [prev] < [horaparcial] Then
    Me.SuaCaixaTexto3.Value = "acima do previsto"
    Else
    Me.SuaCaixaTexto3 = ""
    End If
    End Sub


    .................................................................................
    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

    [Resolvido]Dúvida com a função SeImed Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Dúvida com a função SeImed Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Dúvida com a função SeImed Folder_announce_new Instruções SQL como utilizar...
    julianovv
    julianovv
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Dúvida com a função SeImed Empty Re: Dúvida com a função SeImed

    Mensagem  julianovv 10/1/2011, 16:28

    Obrigado! Vou tentar e dou um retorno!

    Juliano

    Wink
    julianovv
    julianovv
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Dúvida com a função SeImed Empty Re: Dúvida com a função SeImed

    Mensagem  julianovv 10/1/2011, 17:27

    Olá, fiz como disse mas o resultado continua dando no mesmo. A expressão com o sinal < está retornando somente o texto "abaixo do esperado" nos três modos.
    Inseri o código na seção Detalhes mas essa seção não está sendo usada porque todo o relatório é agrupado.
    Mesmo assim obrigado pela força.

    Private Sub Detalhe_Format(Cancel As Integer, FormatCount As Integer)
    If [prev1] = [totalparcial1] Then
    Me.alerta1.Value = "100%"
    Else
    Me.alerta1 = ""
    End If

    If [prev1] > [totalparcial1] Then
    Me.alerta2.Value = "abaixo do esperado"
    Else
    Me.alerta2 = ""
    End If

    If [prev1] < [totalparcial1] Then
    Me.alerta3.Value = "acima do esperado"
    Else
    Me.alerta3 = ""
    End If
    End Sub

    Cool
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Dúvida com a função SeImed Empty Re: [Resolvido]Dúvida com a função SeImed

    Mensagem  criquio 10/1/2011, 17:33

    Podes fazer isso usando formatação condicional tambem.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Dúvida com a função SeImed Empty Re: [Resolvido]Dúvida com a função SeImed

    Mensagem  JPaulo 10/1/2011, 17:43

    Se o amigo estiver a utilizar Texto nesses campos das horas, nunca irá conseguir.

    Se tiver a utilizar formato hora, então podemos converter em decimal e comparar.


    .................................................................................
    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

    [Resolvido]Dúvida com a função SeImed Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Dúvida com a função SeImed Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Dúvida com a função SeImed Folder_announce_new Instruções SQL como utilizar...
    julianovv
    julianovv
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Dúvida com a função SeImed Empty Re: Dúvida com a função SeImed

    Mensagem  julianovv 10/1/2011, 19:15

    Sim, o campo "prev" está no formato número mas o de "horaparcial" é a soma dos campos de horas que estão no cabeçalho de funcionários e suas horas gastas. Esses campos são formato hora abreviada. Como ambos mostram a máscara 00:00, fiz um espelho dos dois para exibir 00,00. Foram "transformados" em decimal mas os campos não tem formato.

    A expressão utilizada para a soma acima de 24 horas é:

    =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")

    Logo o campo não é acoplado e não possui formatação. A própria expressão insere uma máscara para indicar que são horas.

    Obrigado

    Juliano
    Wink
    julianovv
    julianovv
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Dúvida com a função SeImed Empty Re: Dúvida com a função SeImed

    Mensagem  julianovv 10/1/2011, 19:24

    Caro Criquio, como insiro uma expressão na formatação condicional? Pelo que entendo ela usa expressões simples e formata o campo conforme a expressão utilizada.
    Posso inserir a expressão com "SeImed"?
    Obrigado

    Juliano

    Wink
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Dúvida com a função SeImed Empty Re: [Resolvido]Dúvida com a função SeImed

    Mensagem  criquio 10/1/2011, 19:40

    Seria assim: no campo Condição, você escolhe A expressão no lugar de Valor do campo e insere a expressão:

    SeImed([prev]=[horaparcial];"100%";SeImed([prev]>[horaparcial];"abaixo do previsto";"acima do previsto")


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Dúvida com a função SeImed Empty Re: [Resolvido]Dúvida com a função SeImed

    Mensagem  JPaulo 10/1/2011, 20:31

    Como expliquei acima, não funciona para texto.

    Nenhuma formula pode dizer que "Joao" > "Criquio".

    Posso fazer aqui uma função para isso, mas dessas maneiras não funfará.


    .................................................................................
    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

    [Resolvido]Dúvida com a função SeImed Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Dúvida com a função SeImed Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Dúvida com a função SeImed Folder_announce_new Instruções SQL como utilizar...
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Dúvida com a função SeImed Empty Re: [Resolvido]Dúvida com a função SeImed

    Mensagem  criquio 10/1/2011, 20:49

    Eu imaginei que o amigo estava a trabalhar com horas.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Dúvida com a função SeImed Empty Re: [Resolvido]Dúvida com a função SeImed

    Mensagem  JPaulo 10/1/2011, 20:52

    Vamos lá ver se funfa....

    1º Delete todos os Seimed`s que tiver por ae.

    Cole isto tudo dentro do evento VBA ao formatar no detalhe do seu relatorio;


    Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer)
    If [prev1] = ConverteTextoEmDecimal([totalparcial1]) Then
    Me.alerta1.Value = "100%"
    Else
    Me.alerta1 = ""
    End If

    If [prev1] > ConverteTextoEmDecimal([totalparcial1]) Then
    Me.alerta2.Value = "abaixo do esperado"
    Else
    Me.alerta2 = ""
    End If

    If [prev1] < ConverteTextoEmDecimal([totalparcial1]) Then
    Me.alerta3.Value = "acima do esperado"
    Else
    Me.alerta3 = ""
    End If
    End Sub

    Public Function ConverteTextoEmDecimal(Optional MinhaHora As String) As Double
    If IsEmpty(MinhaHora) Then MinhaHora = "00:00:00"
    Dim H As Integer
    Dim M As Double
    H = IIf(Val(Left(MinhaHora, 2)) > 0, Val(Left(MinhaHora, 2)), 0)
    If Val(Mid(MinhaHora, 4, 2)) > 0 Then
    M = Val(Mid(MinhaHora, 4, 2))
    M = ((M / 60) * 100) / 100
    Else
    M = 0
    End If
    ConverteTextoEmDecimal = Round(H + M, 2)
    End Function





    .................................................................................
    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

    [Resolvido]Dúvida com a função SeImed Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Dúvida com a função SeImed Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Dúvida com a função SeImed Folder_announce_new Instruções SQL como utilizar...
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Dúvida com a função SeImed Empty Re: [Resolvido]Dúvida com a função SeImed

    Mensagem  JPaulo 10/1/2011, 21:28

    Exemplo aqui para lhe mostrar o caminho das pedras;

    http://dl.dropbox.com/u/771097/Juliano.rar



    .................................................................................
    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

    [Resolvido]Dúvida com a função SeImed Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Dúvida com a função SeImed Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Dúvida com a função SeImed Folder_announce_new Instruções SQL como utilizar...
    julianovv
    julianovv
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Dúvida com a função SeImed Empty Re: Dúvida com a função SeImed

    Mensagem  julianovv 11/1/2011, 10:28

    Obrigado Paulo. Vou estudar e mando um retorno!

    Wink
    julianovv
    julianovv
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Dúvida com a função SeImed Empty Re: Dúvida com a função SeImed

    Mensagem  julianovv 11/1/2011, 12:03

    Oi Paulo, fiz o que você sugeriu mas continua dando erro.
    Estou disponibilizando uma réplica do sistema para analisar a tabela e o relatório. Quando abrir o relatório virá a pergunta de ano e mês. Digite 09 para 2009 e 11 para novembro.
    Os campos de borda vermelha são temporários. Eles ficarão invisiveis. É só para acompanhar os resultados.

    http://www.4shared.com/document/E08oJD8r/Controle_de_OS_-maximoaccess.html

    Obrigado pela força

    Juliano

    Wink
    julianovv
    julianovv
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Dúvida com a função SeImed Empty Re: Dúvida com a função SeImed

    Mensagem  julianovv 11/1/2011, 12:06

    Criquio, somente o campo em que o funcionário lança suas horas (horadia) é no formato de horas (hora abreviada). Todos os campos não-acoplados dos relatórios buscam os dados desse campo Horadia.
    Vou tentar sua dica e mando um retorno.
    Obrigado

    Wink
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Dúvida com a função SeImed Empty Re: [Resolvido]Dúvida com a função SeImed

    Mensagem  JPaulo 11/1/2011, 13:11

    Nada melhor que vermos onde estamos a mexer...

    Veja o simples;

    http://dl.dropbox.com/u/771097/Controle_de_OS_-maximoaccess_OLD.rar



    .................................................................................
    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

    [Resolvido]Dúvida com a função SeImed Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Dúvida com a função SeImed Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Dúvida com a função SeImed Folder_announce_new Instruções SQL como utilizar...
    julianovv
    julianovv
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Dúvida com a função SeImed Empty Re: Dúvida com a função SeImed

    Mensagem  julianovv 11/1/2011, 15:50

    Obrigado Paulo! Agora sim os resultados sairam. Vez ou outra me aparece um relatório assim para quebrar a cabeça. Obrigado e até a próxima encrenca..eheh!
    Abraço

    Juliano
    Wink
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Dúvida com a função SeImed Empty Re: [Resolvido]Dúvida com a função SeImed

    Mensagem  JPaulo 11/1/2011, 15:54

    Valew pelo retorno o forum agradece.


    .................................................................................
    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

    [Resolvido]Dúvida com a função SeImed Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Dúvida com a função SeImed Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Dúvida com a função SeImed Folder_announce_new Instruções SQL como utilizar...

    Conteúdo patrocinado


    [Resolvido]Dúvida com a função SeImed Empty Re: [Resolvido]Dúvida com a função SeImed

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 8/5/2024, 06:18