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


    [Resolvido]Validar campo Sim Não

    avatar
    jcmenezes1960
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 61
    Registrado : 08/05/2010

    [Resolvido]Validar campo Sim Não Empty Validar campo Sim Não

    Mensagem  jcmenezes1960 26/5/2013, 13:55

    Bom dia a todos

    Estou tentando ajustar o código abaixo para validar um campo sim/não, necessito que quando o campo estiver marcado como Sim, exiba uma caixa de mensagem informando que o campo já esta assinalado e se eu desejo desmarca-lo. Caso ele esteja assinalado como Não abrir um determinado formulário. Já substitui para 0 e -1, mas não deu certo.
    Existe algum jeito para isso?

    Desde já agradeço a todos.

    Um abraço

    Menezes

    Private Sub Command4_Click()
    'By JPaulo ® Maximo Access
    If ValidaCamposNulos = False Then
    Cancel = True
    Else (aqui gostaria de abrir um formulário)
    DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
    MsgBox "Registro Salvo com Sucesso...", vbInformation
    DoCmd.Close
    End If
    End Sub


    Private Function ValidaCamposNulos() As Boolean
    'By JPaulo ® Maximo Access
    ValidaCamposNulos = True
    Dim ctl As Control
    Dim strName As String
    For Each ctl In Me.Controls
    If IsNull(ctl) Then
    strName = ctl.Controls(0).Caption
    ValidaCamposNulos = False
    MsgBox "Preencha o Campo " & Chr(34) & strName, vbCritical (aqui a mensagem para decidir se desmarca ou não o campo)
    ctl.SetFocus
    Exit Function
    End If
    Next ctl
    End Function
    avatar
    Convidado
    Convidado


    [Resolvido]Validar campo Sim Não Empty Re: [Resolvido]Validar campo Sim Não

    Mensagem  Convidado 26/5/2013, 14:49

    O Que este código acima faz é checar em todos os contrles do formulário se estão nulos... com campos sim/não talvez não funcione...


    Tente adicionar uma claúsula Or na linha em azul:

    Private Function ValidaCamposNulos() As Boolean
    'By JPaulo ® Maximo Access
    ValidaCamposNulos = True
    Dim ctl As Control
    Dim strName As String
    For Each ctl In Me.Controls
    If IsNull(ctl) or ctl = -1 Then
    strName = ctl.Controls(0).Caption
    ValidaCamposNulos = False
    MsgBox "Preencha o Campo " & Chr(34) & strName,
    vbCritical (aqui a mensagem para decidir se desmarca ou não o campo)
    ctl.SetFocus
    Exit Function
    End If
    Next ctl
    End Function
    avatar
    jcmenezes1960
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 61
    Registrado : 08/05/2010

    [Resolvido]Validar campo Sim Não Empty Re: [Resolvido]Validar campo Sim Não

    Mensagem  jcmenezes1960 26/5/2013, 15:00

    Bom dia Piloto

    Deu o seguinte erro na linha em azul

    Erro 438 O Objeto não aceita esta propriedade ou método.

    Grato

    Menezes
    avatar
    Convidado
    Convidado


    [Resolvido]Validar campo Sim Não Empty Re: [Resolvido]Validar campo Sim Não

    Mensagem  Convidado 26/5/2013, 15:08

    Manda ai o modelo do bd para que possamos ver isto pra ti.

    Cumprimentos.
    avatar
    jcmenezes1960
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 61
    Registrado : 08/05/2010

    [Resolvido]Validar campo Sim Não Empty Resolvido Validar Campos Sim Não

    Mensagem  jcmenezes1960 26/5/2013, 15:25

    Caro Piloto

    Resolvi com o código abaixo do Plinio Mabesi:

    Private Sub DoencaFamilia_BeforeUpdate(Cancel As Integer)
    If Not DoencaFamilia Then
    Cancel = True

    Dim Mensagem, estilo, Titulo, resposta

    Mensagem = "Você deseja realmente desmarcar esta opção? " & Chr(13) & "Deseja continuar ?"
    estilo = vbYesNo + vbExclamation + vbDefaultButton2
    Titulo = "Cancelar"

    resposta = MsgBox(Mensagem, estilo, Titulo)
    If resposta = vbNo Then Exit Sub

    Cancel = False
    DoCmd.OpenForm "FO-DoFam"
    End If
    End Sub

    Agradeço sua preciosa atenção.

    Bom domingo

    Menezes
    avatar
    jcmenezes1960
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 61
    Registrado : 08/05/2010

    [Resolvido]Validar campo Sim Não Empty Re: [Resolvido]Validar campo Sim Não

    Mensagem  jcmenezes1960 26/5/2013, 15:29

    Tópico resolvido

    Grato
    avatar
    Convidado
    Convidado


    [Resolvido]Validar campo Sim Não Empty Re: [Resolvido]Validar campo Sim Não

    Mensagem  Convidado 26/5/2013, 15:32

    No Código no botão acrescente a parte em azul:


    Private Sub btnValida_Click()
    'By JPaulo ® Maximo Access
    Me.ChecaCampo
    If ValidaCamposNulos = False Then
    Cancel = True
    'Else (aqui gostaria de abrir um formulário)
    DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
    MsgBox "Registro Salvo com Sucesso...", vbInformation
    DoCmd.Close
    End If
    End Sub


    Crie esta sub:


    Sub ChecaCampo()
    If Me.CampoSimNao.Value = 0 Then
    MsgBox "Campo Desmarcado", vbInformation, "ATENÇÃO"
    'DoCmd.OpenForm "NomeDoForm"
    ElseIf Me.CampoSimNao.Value = -1 Then
    MsgBox "Campo Marcado", vbInformation, "ATENÇÃO"
    End If
    End Sub


    Cumprimentos.
    avatar
    Convidado
    Convidado


    [Resolvido]Validar campo Sim Não Empty Re: [Resolvido]Validar campo Sim Não

    Mensagem  Convidado 26/5/2013, 15:36

    Se resolveu, resolvido está.

    Cumprimentos.
    avatar
    jcmenezes1960
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 61
    Registrado : 08/05/2010

    [Resolvido]Validar campo Sim Não Empty Validar campo Sim Não (Reabrir)

    Mensagem  jcmenezes1960 2/6/2013, 14:36

    Bom dia Piloto,

    Dei como resolvido o tópico, só que surgiu um probleminha agora. Poderia me ajudar?

    Estou anexando parte do BD para avaliação.

    No formanamnese apliquei o código (conforme havia dito anteriormente) marquei como código ao lado. No demais abaixo deixei com as macros que vinha utilizando.

    O que ocorre é o seguinte, quando opto pela opção de não desmarcar e clico em qualquer outro campo, ele abre o formulário determinado no código, quando ele deveria parar o procedimento.

    Preciso que quando eu optar por não desmarcar ele pare o procedimento, quando optar por desmarcar ele limpe os dados do form a ser aberto e pare o procedimento, quando marcar novamente ele abra o form para inclusão.

    Não sei se fui claro.

    Grato

    Menezes


    Anexos
    [Resolvido]Validar campo Sim Não AttachmentAnamnese.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (66 Kb) Baixado 12 vez(es)
    avatar
    Convidado
    Convidado


    [Resolvido]Validar campo Sim Não Empty Re: [Resolvido]Validar campo Sim Não

    Mensagem  Convidado 7/6/2013, 14:43

    De mais detalhes citando o passo a passo.

    Cumprimentos.
    avatar
    Convidado
    Convidado


    [Resolvido]Validar campo Sim Não Empty Re: [Resolvido]Validar campo Sim Não

    Mensagem  Convidado 7/6/2013, 15:43

    Não entendi.. seja mais específico citando em qual botào está clicando e o que deseja que aconteça.

    Cumprimentos.
    avatar
    jcmenezes1960
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 61
    Registrado : 08/05/2010

    [Resolvido]Validar campo Sim Não Empty Validar campo Sim Não (Reabrir)

    Mensagem  jcmenezes1960 8/6/2013, 12:20

    Bom dia Piloto,

    Segue abaixo detalhes:

    No formulário FormAnamnese que abre quando inicia o BD quando clico no campo Doenças na Família nos últimos anos (em vermelho – escrito código na frente) deve ocorrer o seguinte:

    1) Se não estiver marcado: abre o formulário FO-DoFam para inclusão de dados.
    2) Quando fecho o formulário FO-DoFam, se o campo for nulo desmarcar a caixa Doenças na Família nos últimos anos, se não for nulo mantém a caixa marcada.
    3) Ate aqui funciona OK.

    A) Se estiver marcado: exibe a mensagem se desejo desmarcar a caixa (código abaixo), se a resposta for Não para o procedimento e mantém a caixa marcada. Se a resposta for Sim executa a Consulta1 (para limpar os dados do Formulário FO-DoFam) desmarca a caixa e para o procedimento.
    B) Até aqui funciona OK
    C) Só que quando executo o procedimento acima e clico na resposta como Sim ele mantém a caixa marcada, mas se eu clicar em por exemplo Retornar para sair do formulário, abre o formulário FO-DoFam.

    Option Explicit
    Dim Cancel As Boolean

    Private Sub DoencaFamilia_BeforeUpdate(Cancel As Integer)
    If Not DoencaFamilia Then
    Cancel = True

    Dim Mensagem, estilo, Titulo, resposta

    Mensagem = "Você deseja realmente desmarcar esta opção? " & Chr(13) & "Deseja continuar ?"
    estilo = vbYesNo + vbExclamation + vbDefaultButton2
    Titulo = "Confirmação"

    resposta = MsgBox(Mensagem, estilo, Titulo)
    If resposta = vbNo Then Exit Sub

    Cancel = False
    DoCmd.OpenQuery "Consulta1", acViewNormal, acEdit

    End If
    End Sub

    Private Sub DoencaFamilia_Click()
    If Not DoencaFamilia Then
    Cancel = True
    Else
    DoCmd.OpenForm "FO-DoFam"
    End If
    End Sub

    Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
    Select Case KeyCode
    Case vbKeyF6
    KeyCode = 0
    DoCmd.RunMacro "Anamnese.EditarFO"
    End Select

    Select Case KeyCode
    Case vbKeyF7
    KeyCode = 0
    DoCmd.Close
    Forms!FormAvaliacaoFisica.Visible = True
    DoCmd.RunCommand acCmdRefresh

    End Select

    End Sub

    Private Sub Form_Open(Cancel As Integer)
    Me.Caption = "Avaliação Física: " & [Cliente] & " - " & [Idade] & " anos"

    End Sub

    Private Sub Retornar_Click()
    DoCmd.Close
    Forms!FormAvaliacaoFisica.Visible = True
    DoCmd.RunCommand acCmdRefresh

    End Sub

    Estou travado neste procedimento, já tentei de tudo e não dá certo.

    Agradeço sua atenção.

    Menezes
    avatar
    Convidado
    Convidado


    [Resolvido]Validar campo Sim Não Empty Re: [Resolvido]Validar campo Sim Não

    Mensagem  Convidado 8/6/2013, 13:08

    C) Só que quando executo o procedimento acima e clico na resposta como
    Sim ele mantém a caixa marcada, mas se eu clicar em por exemplo Retornar
    para sair do formulário, abre o formulário FO-DoFam.


    Não entendi essa parte.....
    Vamos lá...

    Suponhamos que a caixa esteja marcada...

    Clico, exibe a mensagem... Caso:

    Sim >>>> Está limpando
    Não >>> Retorna sem alterações
    F-7 Retornar >>>> Se estiver marcada... Esta pedindo para abrir o FormAvaliacaoFisica


    O que deseja então?

    cumprimentos.
    avatar
    Convidado
    Convidado


    [Resolvido]Validar campo Sim Não Empty Re: [Resolvido]Validar campo Sim Não

    Mensagem  Convidado 8/6/2013, 13:13

    O problema está residindo que ao clicar em Retornar... ele vai para o End If do código Antes de atualizar da caixa de seleção e executa o click do botão..

    criei uma variável do tipo Vertdadeiro/Falso
    Se clicar em não a deixa como verdadeira e no clique da caixa se for verdadeira... coloca como Falsa e sai do procedimento.

    Veja se é isto:

    Option Compare Database
    Dim Cancela As Boolean

    Private Sub DoencaFamilia_BeforeUpdate(Cancel As Integer)

    If Not DoencaFamilia Then
    Cancel = True

    Dim Mensagem, estilo, Titulo, resposta

    Mensagem = "Você deseja realmente desmarcar esta opção? " & Chr(13) & "Deseja continuar ?"
    estilo = vbYesNo + vbExclamation + vbDefaultButton2
    Titulo = "Confirmação"

    resposta = MsgBox(Mensagem, estilo, Titulo)
    If resposta = vbNo Then Cancela = True: Exit Sub

    Cancel = False
    DoCmd.OpenQuery "Consulta1", acViewNormal, acEdit

    End If
    End Sub

    Private Sub DoencaFamilia_Click()
    If Cancela = True Then Cancela = False: Exit Sub
    If Not DoencaFamilia Then
    Cancel = True
    Else
    DoCmd.OpenForm "FO-DoFam"
    End If
    End Sub


    Cumprimentos.
    avatar
    jcmenezes1960
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 61
    Registrado : 08/05/2010

    [Resolvido]Validar campo Sim Não Empty Re: [Resolvido]Validar campo Sim Não

    Mensagem  jcmenezes1960 8/6/2013, 14:46

    Bom dia Piloto,

    valeu o rapido retorno, só um porém agora, "tamo" quase lá, sabia que estava havendo algum "vai e vem" no procedimento, só não conseguia identificar. Ficou só um problema agora no evento ao Clicar:

    Private Sub DoencaFamilia_Click()
    If Cancela = True Then Cancela = False: Exit Sub
    If Not DoencaFamilia Then
    Cancel = True
    Else
    DoCmd.OpenForm "FO-DoFam"
    End If
    End Sub

    Se mantenho na forma acima dá variavel não definida Cancel, se altero para Cancela quando clico para abrir o form FO-DoFam, não abre.

    O resto ficou perfeito, onde errei?

    Muito grato

    Menezes
    avatar
    jcmenezes1960
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 61
    Registrado : 08/05/2010

    [Resolvido]Validar campo Sim Não Empty Re: [Resolvido]Validar campo Sim Não

    Mensagem  jcmenezes1960 8/6/2013, 15:04

    Bom dia Piloto,

    1)Criei a variavel Cancel e tudo se resolveu, funcionou perfeitamente agora.

    Estou fazendo os testes finais aqui, ate agora não deu problema. Daqui a pouco retorno com uma posição definitiva.

    2) Com relação a sua pergunta anterior, pedir para abrir o FormAvaliaçãoFisica é porque mandei só parte do BD e esqueci de colocar o form.


    Grato

    Menezes

    avatar
    Convidado
    Convidado


    [Resolvido]Validar campo Sim Não Empty Re: [Resolvido]Validar campo Sim Não

    Mensagem  Convidado 8/6/2013, 15:12

    Detalhe melhor isto..
    Que ação toma e o que ocorre..

    Cumprimentos.
    avatar
    Convidado
    Convidado


    [Resolvido]Validar campo Sim Não Empty Re: [Resolvido]Validar campo Sim Não

    Mensagem  Convidado 8/6/2013, 15:19

    Ok.
    avatar
    jcmenezes1960
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 61
    Registrado : 08/05/2010

    [Resolvido]Validar campo Sim Não Empty Re: [Resolvido]Validar campo Sim Não

    Mensagem  jcmenezes1960 8/6/2013, 16:10

    Oi Piloto,

    realmente agora funcionou tudo como eu queria, segue código abaixo e BD corrigido para analise e estudos.

    Option Explicit
    Dim Cancela As Boolean
    Dim Cancel As Boolean

    Private Sub DoencaFamilia_BeforeUpdate(Cancel As Integer)
    If Not DoencaFamilia Then
    Cancel = True

    Dim Mensagem, estilo, Titulo, resposta

    Mensagem = "Você deseja realmente desmarcar esta opção? " & Chr(13) & "Deseja continuar ?"
    estilo = vbYesNo + vbExclamation + vbDefaultButton2
    Titulo = "Confirmação"

    resposta = MsgBox(Mensagem, estilo, Titulo)
    If resposta = vbNo Then Cancela = True: Exit Sub

    Cancel = False
    DoCmd.OpenQuery "Consulta1", acViewNormal, acEdit

    End If
    End Sub

    Private Sub DoencaFamilia_Click()
    If Cancela = True Then Cancela = False: Exit Sub
    If Not DoencaFamilia Then
    Cancel = True
    Else
    DoCmd.OpenForm "FO-DoFam"
    End If
    End Sub

    Muitíssimo obrigado.

    Menezes

    Anexos
    [Resolvido]Validar campo Sim Não AttachmentAnamnese.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (120 Kb) Baixado 9 vez(es)
    avatar
    Convidado
    Convidado


    [Resolvido]Validar campo Sim Não Empty Re: [Resolvido]Validar campo Sim Não

    Mensagem  Convidado 8/6/2013, 22:17

    O Fórum agradece o Retorno

    Conteúdo patrocinado


    [Resolvido]Validar campo Sim Não Empty Re: [Resolvido]Validar campo Sim Não

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 28/3/2024, 16:12