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


3 participantes

    Gravar registo apos preencimento do ultimo campo de um formulario

    avatar
    matozinho
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 30
    Registrado : 15/02/2016

    Gravar registo apos preencimento do ultimo campo de um formulario  Empty Gravar registo apos preencimento do ultimo campo de um formulario

    Mensagem  matozinho 14/6/2016, 15:35

    ola Bom dia

    Tenho um formulário com os seguintes campos CondProcesso, processo, dataAbertura, assunto, Requerente, Cpf, O campo zona não e
    obrigatório o Preenchimento, quero que grave o registro somente o preenchimento de todos os campos/

    att Marco Matozinho
    Celso Roberto
    Celso Roberto
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1076
    Registrado : 01/03/2014

    Gravar registo apos preencimento do ultimo campo de um formulario  Empty Re: Gravar registo apos preencimento do ultimo campo de um formulario

    Mensagem  Celso Roberto 14/6/2016, 18:01

    Boa Tarde..
    Primeiro passo - grave este código em um Modulo e nomeie com "modValidarCampos" ou outro que queiras
    Segundo passo - Na folha de propiedade dos campos obrigatórios na aba "Todas", vá na linha "Marca" e coloque 1.


    Código:
    'De JPaulo - adaptado por Márcio Melo
    'VALIDAR OS CAMPOS DE UM FORM
    Public Function valNullControl(frm As Form)
    Dim ctl As Control
    Dim minhaArray As String
    Dim validacaoOk As Byte
    validacaoOk = 0
    For Each ctl In frm.Controls
    If ctl.Tag <> Null Or ctl.Tag <> "" Then
    ctl.BackColor = 16777215
    End If
    Next ctl
    For Each ctl In frm.Controls
    If ctl.Visible = True Then
    If ctl.Tag <> Null Or ctl.Tag <> "" Then
    If IsNull(ctl) = True Or ctl = "" Then
    ctl.BackColor = 255 ' vermelho '161616 cor original
    ctl.SetFocus
    validacaoOk = 1
    minhaArray = minhaArray & ctl.Tag & ", "
    End If
    End If
    End If
    Next ctl
    If validacaoOk = 1 Then
    'MsgBox "Verifique Campos Obrigatórios: " & minhaArray
    valNullControl = True 'passei um retorno da função em True quando tiver a mensagem.
    End If
    End Function


    Terceiro passo - No Botão Salvar ou gravar ou Fechar no Evento ao Clicar

    Código:
    If valNullControl(Me) = True Then
          MsgBox "Você não pode fechar o formulário... " & Chr(10) & "" _
          & "Verifique os campos obrigatórios !! ", vbExclamation + vbOKOnly + vbDefaultButton2, "Atenção"
       
          DoCmd.CancelEvent
        Else
       
          DoCmd.Close ' ou comando referente ao botão
        End If

    O formulário só será salvo ou gravado ou fechado após preenchimento de todos os campos obrigatórios

    Espero que ajude

    Abraços


    .................................................................................


    Você fica satisfeito ao ter sua dúvida solucionada?.
    Quem te ajuda também fica quando você da o tópico por "Resolvido".
    Veja como neste Link: https://www.maximoaccess.com/t860-resolucao-de-topicos



    A Única coisa que sei é que ainda nada sei, Mas em breve Saberei.....
    avatar
    matozinho
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 30
    Registrado : 15/02/2016

    Gravar registo apos preencimento do ultimo campo de um formulario  Empty Erro nesta linha

    Mensagem  matozinho 14/6/2016, 19:34

    Olá Boa tarde


    Esta dando erro nesta linha

    If IsNull(ctl) = True Or ctl = "" Then

    att,
    Celso Roberto
    Celso Roberto
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1076
    Registrado : 01/03/2014

    Gravar registo apos preencimento do ultimo campo de um formulario  Empty Re: Gravar registo apos preencimento do ultimo campo de um formulario

    Mensagem  Celso Roberto 14/6/2016, 20:59

    Olá

    Verifiquei aqui esta normal

    OBS: verifique a configuração da tabela em:
    Requerido tem que estar como Não
    Permitir comprimento Zero como Não
    Indexado como Não

    Se continuar anexe as partes envolvidas do seu BD para verificar

    Aguardo


    .................................................................................


    Você fica satisfeito ao ter sua dúvida solucionada?.
    Quem te ajuda também fica quando você da o tópico por "Resolvido".
    Veja como neste Link: https://www.maximoaccess.com/t860-resolucao-de-topicos



    A Única coisa que sei é que ainda nada sei, Mas em breve Saberei.....
    FabioPaes
    FabioPaes
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3914
    Registrado : 14/08/2013

    Gravar registo apos preencimento do ultimo campo de um formulario  Empty Re: Gravar registo apos preencimento do ultimo campo de um formulario

    Mensagem  FabioPaes 14/6/2016, 21:36

    Senhores me permitam postar um melhoramento no Código... (Também obtive o erro do Amigo a cima e foi resolvido dessa forma)

    Coloque no Modulo:
    Código:
    '------------------------------------------------------------
    'De JPaulo - adaptado por Márcio Melo
    'VALIDAR OS CAMPOS DE UM FORM
    'Editado por Fabio Paes 14/06/2016
        'Melhorado para ignorar os Botoes do Formulário
    '------------------------------------------------------------

    Public Function valNullControl(frm As Form)
    On Error Resume Next
    Dim ctl As Control
    Dim minhaArray As String
    Dim validacaoOk As Byte
    validacaoOk = 0

    For Each ctl In frm.Controls

    Select Case ctl.ControlType
    Case acTextBox, acComboBox, acListBox, acOptionGroup, acCheckBox

    If ctl.Visible = True And IsNull(ctl) Or ctl = "" Then
    ctl.BackColor = RGB(135, 206, 235)
    ctl.SetFocus
    validacaoOk = 1
    minhaArray = minhaArray & ctl.Tag & ", "

    Else
    ctl.BackColor = RGB(255, 250, 250) ' Branco Neve
    End If
    End Select
    Next ctl

    If validacaoOk = 1 Then

    valNullControl = True

    End If
    End Function

    Chame a Função, colocando isso no Botão Salvar:
    Código:
    Private Sub btSalvar_Click()

    If valNullControl(Me) = True Then
           MsgBox "Campos Obrigatorios estão em Branco!!!", vbCritical, "Atenção"
    Else
    MsgBox "Salvo com Sucesso!!!", vbInformation
    End If

    End Sub


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!
    avatar
    matozinho
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 30
    Registrado : 15/02/2016

    Gravar registo apos preencimento do ultimo campo de um formulario  Empty erro esta gravando com camos sem preencher

    Mensagem  matozinho 15/6/2016, 12:13

    ola bom dia

    o código do amigo Fabio não deu erro mas esta grava normalmente  o registo somento um o primeiro campo preenchido

    o que esta ocorrendo e que tenho uma tabela tblCadastro, como os campos

    Codprocesso = autonumeração
    processo = texto
    dataabertura = datahora
    assunto = texto
    requerente = texto
    cpf = texto
    zona texto


    tblMovimento

    codproceso =
    datamov = datahora
    setor = texto
    Responsável = texto
    status= texto

    relalacionamento muitos para um

    Uso um formularo para tablcadastro e um subformulario para tblmovimento

    Obs no formulário não uso os camo codprocesso

    so que se eu digitar somente o numero do processo e mandar gravara esta granando o registo so com u numero do processo


    att
    Marco Matozinho
    FabioPaes
    FabioPaes
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3914
    Registrado : 14/08/2013

    Gravar registo apos preencimento do ultimo campo de um formulario  Empty Re: Gravar registo apos preencimento do ultimo campo de um formulario

    Mensagem  FabioPaes 15/6/2016, 12:52

    Obs. Esse codigo e apenas para destacar os campos nao preenchido.
    Se vc so quer gravar qnd tudo for preenchido e clicar em salvat, tera que usar campos DESVINCULADOS. Se nao, a medida que for digitando vai pra tabela...


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!
    Celso Roberto
    Celso Roberto
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1076
    Registrado : 01/03/2014

    Gravar registo apos preencimento do ultimo campo de um formulario  Empty Re: Gravar registo apos preencimento do ultimo campo de um formulario

    Mensagem  Celso Roberto 15/6/2016, 20:46

    Olá...

    Desculpe, eu pensei que fosse só para verificar preenchimento de campos obrigatórios,
    Neste caso é como o Fábio disse

    Abraços



    .................................................................................


    Você fica satisfeito ao ter sua dúvida solucionada?.
    Quem te ajuda também fica quando você da o tópico por "Resolvido".
    Veja como neste Link: https://www.maximoaccess.com/t860-resolucao-de-topicos



    A Única coisa que sei é que ainda nada sei, Mas em breve Saberei.....
    Celso Roberto
    Celso Roberto
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1076
    Registrado : 01/03/2014

    Gravar registo apos preencimento do ultimo campo de um formulario  Empty Re: Gravar registo apos preencimento do ultimo campo de um formulario

    Mensagem  Celso Roberto 16/6/2016, 22:32

    Olá....
    Se for para gravar em formulário desvinculado adapte este código no botão salvar ou gravar

    Código:
    Dim db As Database
    Dim rs As Recordset

    If MsgBox("Deseja gravar?", vbYesNoCancel, "Opções") = vbYes Then
    ' Ao carregar no botão é perguntado se deseja gravar o registo ou não, no caso afirmativo continua o código senão termina
    Set db = CurrentDb()
    Set rs = db.OpenRecordset("NomeSuaTabela", dbOpenTable)
    ' Abre a tabela dados para inserir o registo

    rs.AddNew
    rs("Nomecampo1") = Me!Nomecampo1
    rs("NomeCampo2") = Me!NomeCampo2
    rs("NomeCampo3") = Me!Nomecampo3
    'Adicione quantos campos for necessários
    rs.Update ' envia os dados para a tabela
    rs.Close ' Limpa os dados e fecha o recordset
    Set rs = Nothing
    Set db = Nothing

    ' limpa os campos no formulário
    Me.NomeCampo1 = Null
    Me.NomeCampo2 = Null
    Me.NomeCampo3= Null
    'Adicione os outros
    MsgBox "Registo gravado", vbInformation, "Concluído" ' Exibe mensagem de confirmação
    Me.NomeCampo1.SetFocus ' Move o cursor para o primeiro campo
    Else: Exit Sub
    End If


    Abraços


    .................................................................................


    Você fica satisfeito ao ter sua dúvida solucionada?.
    Quem te ajuda também fica quando você da o tópico por "Resolvido".
    Veja como neste Link: https://www.maximoaccess.com/t860-resolucao-de-topicos



    A Única coisa que sei é que ainda nada sei, Mas em breve Saberei.....
    Celso Roberto
    Celso Roberto
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1076
    Registrado : 01/03/2014

    Gravar registo apos preencimento do ultimo campo de um formulario  Empty Re: Gravar registo apos preencimento do ultimo campo de um formulario

    Mensagem  Celso Roberto 27/8/2016, 12:52

    Bom Dia Matozinho, td bem?

    Gostaríamos de saber se as ajudas prestadas por nós te ajudou a resolver a sua dúvida!!
    Caso tenha resolvido, por favor encerre este tópico.
    Caso ainda não resolveu, se manifeste para darmos continuidade.

    Nota: Reveja todos os tópicos postados por você que permanece em Aberto sem sua manifestação

    Isto é muito importante para todos os membros do Fórum e também para futura pesquisas de procura de dúvidas semelhantes.

    Aguardamos sua manifestação

    Abraços


    .................................................................................


    Você fica satisfeito ao ter sua dúvida solucionada?.
    Quem te ajuda também fica quando você da o tópico por "Resolvido".
    Veja como neste Link: https://www.maximoaccess.com/t860-resolucao-de-topicos



    A Única coisa que sei é que ainda nada sei, Mas em breve Saberei.....

    Conteúdo patrocinado


    Gravar registo apos preencimento do ultimo campo de um formulario  Empty Re: Gravar registo apos preencimento do ultimo campo de um formulario

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 3/5/2024, 01:41