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


2 participantes

    [Resolvido]Obrigar sequencialmente preenchimento de campo quando ir ao proximo registro

    avatar
    alansvm
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 49
    Registrado : 17/05/2013

    [Resolvido]Obrigar sequencialmente preenchimento de campo quando ir ao proximo registro Empty [Resolvido]Obrigar sequencialmente preenchimento de campo quando ir ao proximo registro

    Mensagem  alansvm 10/8/2016, 14:47

    Prezados Colegas,

    Tentei buscar soluções no fórum para o problema que me deparei, no entanto não logrei êxito.Parece algo muito simples, desta forma recorro aos colegas mais experientes para me orientar como proceder.

    Observação: Encaminho em anexo o BD para que facilite a compreensão e para que manipulem, caso necessário, para adequação a proposta.

    Trata-se de um formulário, que possui alguns campos obrigatórios de preenchimento a saber "txtDataCadastro", "txtNomeCompleto" e "txtCarteiraIdentidade", esses dois últimos apenas habilitados quando selecionável o campo sim/não "txtTaxaEmissão".

    Desejo que ao selecionar o ícone de avançar registro ou de criar novo registro, somente vá para próximo se estiverem preenchidos os campos "txtNomeCompleto" e "txtCarteiraIdentidade", assim como aplicado para "txtDataCadastro",  assim como o seguinte código:

    Private Sub btnAvancar_Click()
    If IsNull([txtDataCadastro]) Then
           MsgBox "Obrigatório o preenchimento da data de cadastro"
           DoCmd.GoToControl "txtDataCadastro"
    Else
           DoCmd.GoToRecord , , acNext
    End If
    End Sub"


    Observe que não quero obrigar que sempre se exija o preenchimento dos campos referenciados, como acontece no campo data. Mas apenas quando estiver "txtTaxaEmissão" selecionado, porque do contrario tais campos inclusive estarão desabilitados, senão vejamos:

    Private Sub txtTaxaEmissao_AfterUpdate()
    If Me.txtTaxaEmissao = True Then
    Me.txtValorPago.Enabled = False
    Me.txtNomeCompleto.Enabled = True
    Me.txtCarteiraIdentidade.Enabled = True
    Else
    Me.txtValorPago.Enabled = True
    Me.txtNomeCompleto.Enabled = False
    Me.txtCarteiraIdentidade.Enabled = False
    End If
    End Sub"


    Portanto gostaria de fazer uma fusão desses comandos, mas não consegui. Noutra Palavras eu desejo que sempre seja obrigatório ao avançar o registro se exigir o preenchimento da data, por outro lado, se o campo "txtTaxaEmissão" estiver selecionado, também obrigar o preenchimento de "txtNomeCompleto" e "txtCarteiraIdentidade", do contrário permitir prosseguir sem seus preenchimentos.

    Pensei em algo que juntasse as funções, a exemplo do código abaixo, todavia não deu certo:

    Private Sub btnAvancar_Click()
    If IsNull([txtDataCadastro]) Then
           MsgBox "Obrigatório o preenchimento da data de cadastro"
           DoCmd.GoToControl "txtDataCadastro"
    Else
           If Me.txtTaxaEmissao = True Then
           MsgBox "Obrigatório o preenchimento do Nome Completo"
           DoCmd.GoToControl "txtNomeCompleto"        
    Elso  
           If Me.txtTaxaEmissao = True Then
           MsgBox "Obrigatório o preenchimento do RG"
           DoCmd.GoToControl "txtCarteiraIdentidade"        
    Else
           DoCmd.GoToRecord , , acNext
    End If
    End If
    End If
    End Sub"


    INFELIZMENTE isso foi o mais próximo que cheguei.
    Tentei de todos os jeitos resolver esse problema, mas não consegui.

    Assim peço ajuda dos colegas, para resolução desse problema.

    Aguardo apoio e de pronto agradeço as que colaborarem.

    Atenciosamente
    Silvio
    Silvio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5074
    Registrado : 20/04/2011

    [Resolvido]Obrigar sequencialmente preenchimento de campo quando ir ao proximo registro Empty Re: [Resolvido]Obrigar sequencialmente preenchimento de campo quando ir ao proximo registro

    Mensagem  Silvio 10/8/2016, 14:57

    Algo parecido com isso.

    Private Sub btnAvancar_Click()
    If IsNull(Me.txtDataCadastro) OR me.txtDataCadastro = "" Then
          MsgBox "Obrigatório o preenchimento da data de cadastro"
          me.txtDataCadastro.setfocus
    ElseIf IsNull (Me.txtTaxaEmissao)OR Me.txtTaxaEmissao = ""  Then
          MsgBox "Obrigatório o preenchimento do Nome Completo"
          Me.txtNomeCompleto".setfocus      
    ElseIf IsNull(Me.txtTaxaEmissao) OR Me.txtTaxaEmissao = "" Then
          MsgBox "Obrigatório o preenchimento do RG"
          Me.txtCarteiraIdentidade.setfocus      
    Else
          DoCmd.GoToRecord , , acNext
    End If

    End Sub

    Obs.:  Não testei aqui, talvez precise de alguma adequação.
    avatar
    alansvm
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 49
    Registrado : 17/05/2013

    [Resolvido]Obrigar sequencialmente preenchimento de campo quando ir ao proximo registro Empty CONTINUAÇÃO

    Mensagem  alansvm 10/8/2016, 15:20

    Fiz a seguinte modificação, vide negrito, pois o txt.TaxaEmissão é caixa de seleção SIM/NÃO:

    "Private Sub btnAvancar_Click()
    If IsNull(Me.txtDataCadastro) Or Me.txtDataCadastro = "" Then
    MsgBox "Obrigatório o preenchimento da data de cadastro"
    Me.txtDataCadastro.SetFocus
    ElseIf IsNull(Me.txtTaxaEmissao) Or Me.txtTaxaEmissao = "-1" Then
    MsgBox "Obrigatório o preenchimento do Nome Completo"
    Me.txtNomeCompleto.SetFocus
    ElseIf IsNull(Me.txtTaxaEmissao) Or Me.txtTaxaEmissao = "-1" Then
    MsgBox "Obrigatório o preenchimento do RG"
    Me.txtCarteiraIdentidade.SetFocus
    Else
    DoCmd.GoToRecord , , acNext
    End If
    End Sub"


    Porém surgiu outro problema. Quando eu clico na caixa de seleção "txtTaxaEmissao"
    ele me obriga o preenchimento de "txtNomeCompleto", perfeito!!!! Porém ao preenche-lo ele deveria permitir ir para o próximo registro, desde que preenchido também o "txtCarteiraIdentidade", mas na verdade ele fica repitindo a msgBox toda hora, mesmo já tendo preenchido o campo, e não avança.

    OBSERVAÇÃO: Segue o banco de dados em anexo

    Atenciosamente
    Anexos
    [Resolvido]Obrigar sequencialmente preenchimento de campo quando ir ao proximo registro AttachmentBanco de Dados.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (466 Kb) Baixado 7 vez(es)
    Silvio
    Silvio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5074
    Registrado : 20/04/2011

    [Resolvido]Obrigar sequencialmente preenchimento de campo quando ir ao proximo registro Empty Re: [Resolvido]Obrigar sequencialmente preenchimento de campo quando ir ao proximo registro

    Mensagem  Silvio 10/8/2016, 15:40

    Não consigui abrir o teu arquivo, eu uso o Access 2007
    avatar
    alansvm
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 49
    Registrado : 17/05/2013

    [Resolvido]Obrigar sequencialmente preenchimento de campo quando ir ao proximo registro Empty CONTINUAÇÃO

    Mensagem  alansvm 10/8/2016, 15:45

    Prezado,

    Também uso Access 2007, pra todos os efeitos salvei na versão anterior
    Tente agora

    Atenciosamente
    Anexos
    [Resolvido]Obrigar sequencialmente preenchimento de campo quando ir ao proximo registro AttachmentBD - NOVA EDIÇÃO.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (43 Kb) Baixado 8 vez(es)
    Silvio
    Silvio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5074
    Registrado : 20/04/2011

    [Resolvido]Obrigar sequencialmente preenchimento de campo quando ir ao proximo registro Empty Re: [Resolvido]Obrigar sequencialmente preenchimento de campo quando ir ao proximo registro

    Mensagem  Silvio 10/8/2016, 18:14

    Teste...

    Private Sub btnAvancar_Click()
    On Error Resume Next
    If IsNull(Me.txtDataCadastro) Or Me.txtDataCadastro = "" Then
    MsgBox "Obrigatório o preenchimento da data de cadastro"
    Me.txtDataCadastro.SetFocus
    ElseIf Me.txtTaxaEmissao = -1 And IsNull(Me.txtNomeCompleto) Or Me.txtNomeCompleto = "" Then
    MsgBox "Obrigatório o preenchimento do Nome Completo"
    Me.txtNomeCompleto.SetFocus
    ElseIf Me.txtTaxaEmissao = -1 And IsNull(Me.txtCarteiraIdentidade) Or Me.txtCarteiraIdentidade = "" Then
    MsgBox "Obrigatório o preenchimento do RG"
    Me.txtCarteiraIdentidade.SetFocus
    Else
    DoCmd.GoToRecord , , acNewRec
    End If
    End Sub
    avatar
    alansvm
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 49
    Registrado : 17/05/2013

    [Resolvido]Obrigar sequencialmente preenchimento de campo quando ir ao proximo registro Empty BINGO!!!!

    Mensagem  alansvm 10/8/2016, 18:25

    Era exatamente isso que eu precisava...

    MUITÍSSIMO OBRIGADO!!!!!!

    Caso não venha atrapalhar, se possível me ajude a solucionar outro questionamento que fiz, a saber sobre o mesmo banco de dados mas no seguinte link:
    https://www.maximoaccess.com/t27591-vincular-valor-preenchido-em-campo-do-primeiro-registro-em-todos-os-demais

    VALEU!!!!

    Conteúdo patrocinado


    [Resolvido]Obrigar sequencialmente preenchimento de campo quando ir ao proximo registro Empty Re: [Resolvido]Obrigar sequencialmente preenchimento de campo quando ir ao proximo registro

    Mensagem  Conteúdo patrocinado


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