MaximoAccess

Caro Usuário, não tire as suas duvidas nas Salas de Repositório, abra sempre um novo tópico relacionado, nas salas destinadas para o efeito, como Sala de Tabelas, Consultas, Formulários, Relatórios, Macros, Módulos e VBA.

Obrigado

Administração do MaximoAccess

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

    Como adicionar um IF em outro IF

    Compartilhe

    eduarte
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 31
    Registrado : 27/09/2013

    Como adicionar um IF em outro IF

    Mensagem  eduarte em Seg 01 Set 2014, 18:07

    Olá, amigos.
    Esta é fácil....... para quem sabe.
    Tenho um formulario com um codigo para fazer um log de tudo que o usuario faz e salva em uma tabela. Agora preciso obrigar o usuario a  não deixar o campo 'data' em branco. Tentei usando regra de validação mas deu problema. Pesquisando aqui no Forum consegui o codigo
    (em verde) e funcionou, porém se o usuario passar por cima do campo 'data' e focar nos proximos campos com o mouse o código se torna inviável, pois so funciona se eu entrar no campo data. Então tentei colocar esse codigo (em vermelho) também no evento 'Antes de Atualizar' do form, só que já existe o codigo abaixo no mesmo evento "Antes de Atualizar" e ai me enrolei na sintaxe, não sei como adicionar o codigo para forçar a entrada de uma data de forma que funcione sem dar erro.

    Quem puder me ajudar fico grato.

    Código:
    Option Compare Database

    Private Sub data_Exit(Cancel As Integer)
    If IsNull(Me.ActiveControl) Then
    DoCmd.CancelEvent
    MsgBox "Digite a data da Advertência...", vbCritical
    End If
    End Sub


    Private Sub Form_BeforeUpdate(Cancel As Integer)
       If Me.NewRecord Then
           CurrentDb.Execute "INSERT INTO tbLog(Acao, Usuario, Dt) VALUES('Incluída Advertência Nº " & Me!Registro & " para " & Me!Combinação15.Column(1) & "','" & Me!Operador & "',#" & Now & "#);"
       Else
           CurrentDb.Execute "INSERT INTO tbLog(Acao, Usuario, Dt) VALUES('Alterada Advertência Nº " & Me!Registro & " de " & Me!Combinação15.Column(1) & "','" & Me!Operador & "',#" & Now & "#);"
       End If
       
      ElseIf IsNull(Me.Data) Then
    DoCmd.CancelEvent
    MsgBox "Digite a data da Advertência...", vbCritical
    End If

       End Sub

    Private Sub Form_Delete(Cancel As Integer)
           CurrentDb.Execute "INSERT INTO tbLog(Acao, Usuario, Dt) VALUES('Excluída Advertência Nº " & Me!Registro & " de " & Me!Combinação15.Column(1) & "','" & Me!Operador & "',#" & Now & "#);"
    End Sub

    Jungli
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 629
    Registrado : 07/05/2010

    Re: Como adicionar um IF em outro IF

    Mensagem  Jungli em Seg 01 Set 2014, 18:19

    Opa, já pensaste em usar o código no evento LostFocus do campo?


    .................................................................................
    "Somos o que repetidamente fazemos.
    A excelência, portanto, não é um feito,
    mas um hábito."

    Aristóteles

    eduarte
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 31
    Registrado : 27/09/2013

    Como adicionar um IF em outro IF

    Mensagem  eduarte em Seg 01 Set 2014, 20:30

    Olá, JUNGLI

    Não vejo aqui essa propriedade LostFocus. Acho que o mais próximo seria "Ao liberar mouse", mas mesmo assim, continuaria deixando brecha para o usuário pular o campo 'data' e ir direto para os últimos campos e assim a data não seria digitada e o campo, obviamente, ficaria em branco. Tenho os seguintes campos: Registro, Nome, data, Insdic, N_Tarefa, N_Mat e N_Unif. Quando abro o form o foco vai direto para nome e ai era só apertar tab...tab... até chegar em data e aí o codigo que coloquei na propriedade do campo seria perfeito, porém posso preencher o campo NOME e com o mouse avançar pro ultimo campo, N_Unif deixando para trás "data" vazio e o código passaria batido. Aí entraria o código no evento do formulario, mais abrangente que impediria de continuar para o próximo registro com o campo data vazio. O ideal é embutir o código dentro do que já existe na propriedade 'Antes de Atualizar'.

    Obrigado pela resposta e se o meu raciocínio estiver errado, por favor me corrija.

    Valeu!
    Deivaldo

      Data/hora atual: Qua 07 Dez 2016, 08:34