MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    [Resolvido]Preenchimento de campo com uma condição

    Compartilhe

    moacirfj
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 51
    Registrado : 23/12/2013

    [Resolvido]Preenchimento de campo com uma condição

    Mensagem  moacirfj em Seg 07 Abr 2014, 15:25

    Srs,

    Necessito de uma ajuda.

    Tenho uma tabela que contém um campo chamado horas e outro chamado turno.
    No formulário, tenho a necessidade de que o campo turno seja preenchido automático conforme a condição abaixo:

    Se o horário for entre 05:40 e 14:00, preencher com 1º Turno
    Se o horário for entre 14:00 e 22:40, preencher com 2º Turno
    Se o horário for entre 22:20 e 05:40, preenhcer com 3º Turno

    Por ser três condições não pude utilizar a função SeIsMed(), pensei em utilizar VBA com a rotina CASE mas não soube como desenvolver.

    Fico no aguardo.

    Att.

    Moacir
    avatar
    clynton
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 307
    Registrado : 08/07/2013

    Re: [Resolvido]Preenchimento de campo com uma condição

    Mensagem  clynton em Seg 07 Abr 2014, 22:43

    moacirfj

    Na Tabela, coloque o 'Tipo de Dados' do Campo 'Horas' como: 'Data/Hora.

    No Formulário coloque no evento 'Após atualizar' do campo 'Horas':

    If Me.Horas.Value >= "05:40:00" And Me.Horas.Value < "13:59:59" Then
    Me.Turno.Value = "1º Turno"
    End If

    If Me.Horas.Value >= "14:00:00" And Me.Horas.Value < "22:19:59" Then
    Me.Turno.Value = "2º Turno"
    End If

    If Me.Horas.Value >= "22:20:00" And Me.Horas.Value < "23:59:59" Then
    Me.Turno.Value = "3º Turno"
    End If

    If Me.Horas.Value >= "00:00:00" And Me.Horas.Value < "05:39:59" Then
    Me.Turno.Value = "3º Turno"
    End If

    Se não der certo só avisar que verificaremos.
    avatar
    Avelino Sampaio
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido]Preenchimento de campo com uma condição

    Mensagem  Avelino Sampaio em Ter 08 Abr 2014, 04:18

    Olá!

    Veja mais uma forma de escrita:

    Private Sub HoraInicio_AfterUpdate()
    Dim Turno(4)
    Turno(1) = Eval("#" & Me!HoraInicio & "# between #05:40:00# and #13:59:59#")
    Turno(2) = Eval("#" & Me!HoraInicio & "# between #14:00:00# and #22:19:59#")
    Turno(3) = Eval("#" & Me!HoraInicio & "# between #22:20:00# and #23:59:59#")
    Turno(4) = Eval("#" & Me!HoraInicio & "# between #00:00:00# and #05:39:59#")
    Me!Turno = Switch(Turno(1), "1º Turno", Turno(2), "2º Turno", Turno(3), "3º Turno", Turno(4), "3º Turno")
    End Sub


    Bom estudo!
    avatar
    mathusalmeida
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 263
    Registrado : 30/08/2011

    Re: [Resolvido]Preenchimento de campo com uma condição

    Mensagem  mathusalmeida em Ter 08 Abr 2014, 07:18

    Parabéns ao clynton e ao avelino sampaio.

    Como é bom vermos as várias possibilidades de atendermos nossas necessidades.

    Sucesso a todos.

    moacirfj
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 51
    Registrado : 23/12/2013

    Re: [Resolvido]Preenchimento de campo com uma condição

    Mensagem  moacirfj em Ter 08 Abr 2014, 07:57

    Amigos,

    Os códigos apresentados resultaram em sucesso.
    Agradeço a todos pela imensa ajuda e desejo sucesso e muita PAZ.

    Att.

    Moacir

      Data/hora atual: Sex 23 Jun 2017, 14:10