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]Critério em três campos de Sub formulário.

    Compartilhe
    avatar
    XPTOS
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 542
    Registrado : 20/01/2014

    [Resolvido]Critério em três campos de Sub formulário.

    Mensagem  XPTOS em Sex 19 Maio 2017, 17:32

    Amigos, boa tarde,

    Estou tentando implementar o código abaixo que é chamado por um botão no (frmCriaRecursosRealizados) pelo botão btnJust, mas não está rodando, ou seja, se (If) os três campos combinados no subformulário for Nulo exibe a mensagem critica, caso contrario faça (Then).

    Código:
    If Not IsNull(Forms![frmCriaRecursosRealizados]![SFrmDetFatura].Form![Texto80]) And (Forms![frmCriaRecursosRealizados]![SFrmDetFatura].Form![Texto82]) And (Forms![frmCriaRecursosRealizados]![SFrmDetFatura].Form![Texto85]) Then
    Else
    Resp = MsgBox("Verificar se todos os itens estão justificados e/ou acatados.", vbCritical, "Cancelado")
    End If

    Recorro aos amigos para alguma dica, pois o código não está obedecendo os critérios citados.

    Grato
    avatar
    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido]Critério em três campos de Sub formulário.

    Mensagem  JPaulo em Sex 19 Maio 2017, 18:00

    Você não está a aplicar a condições para os outrs dois;

    If Not IsNull blablabla AND If Not IsNull blablabla AND If Not IsNull blablablabla


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver este link.]

    Sucesso e Bons Estudos
    Success and Good Studies

    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    avatar
    XPTOS
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 542
    Registrado : 20/01/2014

    Re: [Resolvido]Critério em três campos de Sub formulário.

    Mensagem  XPTOS em Dom 04 Jun 2017, 00:56

    Não funcionou legal amigo, pois a mensagem critica aparece sempre não obedece o critério, veja:

    No pequeno exemplo com duas linhas no subform (AAAfrmCriaRecursoSubFormJustificativaAcatado), ou seja, ao clicar no botão FINALIZAR PROCESSO e se os tres campos da linha 58456 estiver vazio o código deveria exibir a mensagem critica, caso contrário, prossegue.
    Anexos
    ExemploErro.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (121 Kb) Baixado 5 vez(es)


    .................................................................................
    Grato,
    avatar
    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido]Critério em três campos de Sub formulário.

    Mensagem  JPaulo em Ter 06 Jun 2017, 12:54

    Ola,

    Faça o teste e retorne por favor;

    Pode comentar as mensagens de OK, que servem apenas para teste.

    Código:
    Private Sub btnFinalizaRecurso_Click()
    Dim Resp As String
    Dim RS As DAO.Recordset

        Set RS = CurrentDb.OpenRecordset("select * from tblRecursoRegistros where IDOS=" & Me.IDOS)
        'se não encontrar registos para o IDOS, morre aqui
        If RS.RecordCount = 0 Then Exit Sub
        'coloca-se no 1º registro
        RS.MoveFirst
        'percorre todos os registros da tabela tblRecursoRegistros
        Do While Not RS.EOF
        MsgBox "A verificar o registro " & RS("IDRegistro")
        'se encontrar um dos seguintes campos vazios, informa
            If IsNull(RS.Fields("JustificarRecurso")) = True Or IsNull(RS.Fields("JustificarIntegral")) = True Or IsNull(RS.Fields("JustificarAcato")) = True Then
                Resp = MsgBox("Verificar se todos os itens estão justificados e/ou acatados.", vbCritical, "Cancelado")
                Else
        ' se tudo estiver bem, diz Ok
                MsgBox "Registro " & RS("IDRegistro") & " Ok"
            End If
        'avança para o seguinte registro
            RS.MoveNext
        Loop
    RS.Close: Set RS = Nothing
    End Sub


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver este link.]

    Sucesso e Bons Estudos
    Success and Good Studies

    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    avatar
    XPTOS
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 542
    Registrado : 20/01/2014

    Re: [Resolvido]Critério em três campos de Sub formulário.

    Mensagem  XPTOS em Ter 06 Jun 2017, 19:13

    Perfeito Mestre.

    Era isso mesmo, fiz apenas pequenas alterações de OR para AND como segue, e funcionou legal:

    Código:
    Dim Resp As String
    Dim RS As DAO.Recordset

        Set RS = CurrentDb.OpenRecordset("select * from tblRecursoRegistros where IDOS=" & Me.IDOS)
        'se não encontrar registos para o IDOS, morre aqui
        If RS.RecordCount = 0 Then Exit Sub
        'coloca-se no 1º registro
        RS.MoveFirst
        'percorre todos os registros da tabela tblRecursoRegistros
        Do While Not RS.EOF
        'se encontrar um dos seguintes campos vazios, informa
            If IsNull(RS.Fields("JustificarRecurso")) = True And IsNull(RS.Fields("JustificarIntegral")) = True And IsNull(RS.Fields("JustificarAcato")) = True Then
                Resp = MsgBox("Processo não finalizado. Linha " & RS("IDRegistro") & " não pode ser nulo.", vbCritical, "Cancelado")
                Else
            End If
            'avança para o seguinte registro
            RS.MoveNext
        Loop
    RS.Close:
    Set RS = Nothing

    Obrigado!!!


    .................................................................................
    Grato,
    avatar
    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido]Critério em três campos de Sub formulário.

    Mensagem  JPaulo em Qua 07 Jun 2017, 13:58

    Fico feliz.

    Obrigado pelo retorno o forum agradece.


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver este link.]

    Sucesso e Bons Estudos
    Success and Good Studies

    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]

      Data/hora atual: Qua 22 Nov 2017, 10:57