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]Problemas com Formulário de Preenchimento

    avatar
    luiis_carlos
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 34
    Registrado : 07/09/2011

    [Resolvido]Problemas com Formulário de Preenchimento Empty Problemas com Formulário de Preenchimento

    Mensagem  luiis_carlos 22/10/2011, 18:36

    Boa Tarde,

    Caros,

    Sou novato em access e sou até grato a esse forum que me ajudou muito em desenvolver grandes soluções para o meu dia a dia.

    Estou tentando utilizar a sugestão colocada pelo JPaulo no meu formulário, onde estando campos marcados sem preencher retonará com mensagem e marcando os campos, o que está funcionando perfeitamente até então.

    O problema está quando todos os campos do formulário estão preenchidos, pois mesmo assim a função encerra o código e não está inserindo os dados na tabela.

    http://maximoaccess.forumeiros.com/t174-resolvido-problemas-com-formulario-de-preenchimento

    Segue como coloquei todos o código:

    1 - Função

    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 = 161616
    validacaoOk = 1
    minhaArray = minhaArray & ctl.Tag & ", "
    End If
    End If
    End If
    Next ctl
    If validacaoOk = 1 Then MsgBox "Campo Obrigatório: " & minhaArray

    End Function


    Código no Botão:

    Private Sub Salvar_Click()

    Dim db As Database
    Dim rs As Recordset

    If MsgBox("Gravar registro?", vbYesNoCancel, "Opções") = vbYes Then

    If valNullControl(Me) = False Then
    Exit Sub
    End If

    Set db = CurrentDb()
    Set rs = db.OpenRecordset("BD_Registro_55", dbOpenTable)
    rs.AddNew


    rs("DT_GNRE") = Me.DT_GNRE
    rs("UF_SUBST") = Me.UF_SUBST
    rs("BANCO_GNRE") = Me.BANCO_GNRE
    rs("AG_GNRE") = Me.AG_GNRE
    rs("N_GNRE") = Me.N_GNRE
    rs("VLR_GNRE") = Me.VLR_GNRE
    rs("DT_VENC") = Me.DT_VENC
    rs("MES_ANO") = Me.MES_ANO

    rs.Update
    rs.Close
    Set rs = Nothing
    Set db = Nothing

    Me.DT_GNRE = Null
    Me.UF_SUBST = Null
    Me.BANCO_GNRE = Null
    Me.AG_GNRE = Null
    Me.N_GNRE = Null
    Me.VLR_GNRE = Null
    Me.DT_VENC = Null
    Me.MES_ANO = Null


    MsgBox "Registo gravado com sucesso", vbInformation, "Concluído"
    Me.DT_GNRE.SetFocus
    Else: Exit Sub
    End If
    End Sub


    Desde agradeço,

    Luis Neri
    avatar
    João afonso
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 396
    Registrado : 24/05/2011

    [Resolvido]Problemas com Formulário de Preenchimento Empty Re: [Resolvido]Problemas com Formulário de Preenchimento

    Mensagem  João afonso 22/10/2011, 22:42

    Amigão seja bem vindo ao forum.

    reveja o código ao clicar no botão, depois do msgbox "Gravar registro?"
    veja se da certo como esta abaixo

    Código no Botão:

    Private Sub Salvar_Click()

    Dim db As Database
    Dim rs As Recordset

    If MsgBox("Gravar registro?", vbYesNoCancel, "Opções") = vbYes Then

    Set db = CurrentDb()
    Set rs = db.OpenRecordset("BD_Registro_55", dbOpenTable)
    rs.AddNew

    rs("DT_GNRE") = Me.DT_GNRE
    rs("UF_SUBST") = Me.UF_SUBST
    rs("BANCO_GNRE") = Me.BANCO_GNRE
    rs("AG_GNRE") = Me.AG_GNRE
    rs("N_GNRE") = Me.N_GNRE
    rs("VLR_GNRE") = Me.VLR_GNRE
    rs("DT_VENC") = Me.DT_VENC
    rs("MES_ANO") = Me.MES_ANO

    rs.Update
    rs.Close
    Set rs = Nothing
    Set db = Nothing

    Me.DT_GNRE = Null
    Me.UF_SUBST = Null
    Me.BANCO_GNRE = Null
    Me.AG_GNRE = Null
    Me.N_GNRE = Null
    Me.VLR_GNRE = Null
    Me.DT_VENC = Null
    Me.MES_ANO = Null

    MsgBox "Registo gravado com sucesso", vbInformation, "Concluído"
    Me.DT_GNRE.SetFocus
    Exit Sub
    Else
    If valNullControl(Me) = False Then
    Exit Sub
    End If

    End If
    End Sub

    avatar
    luiis_carlos
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 34
    Registrado : 07/09/2011

    [Resolvido]Problemas com Formulário de Preenchimento Empty Re: [Resolvido]Problemas com Formulário de Preenchimento

    Mensagem  luiis_carlos 23/10/2011, 15:36

    Obrigado Joao Afonso pela resposta... Mas se colocar a função conforme sugerido acaba perdendo a finalidade que é verificar se tem campos nulos casos o usuário confirme sim para gravar o que somente faria casos a opção fosse não. Da maneira sugerida acaba gravando na tabela campos sem preencher o que gostaria que não ocorrece.

    avatar
    João afonso
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 396
    Registrado : 24/05/2011

    [Resolvido]Problemas com Formulário de Preenchimento Empty Re: [Resolvido]Problemas com Formulário de Preenchimento

    Mensagem  João afonso 23/10/2011, 21:17

    veja se esse outro exemplo da para você adptar no bd.


    Private Sub Salvar_Click()

    Dim db As Database
    Dim rs As Recordset

    If IsNull (campoX) then
    MsgBox “O campo X esta em branco?” , vbInformation, "Aviso"
    Me.CampoX.SetFocus
    Exit Sub

    End If
    If IsNull (campoY) then
    MsgBox “O campo Y esta em branco?” , vbInformation, "Aviso"
    Me.CampoY.SetFocus
    Exit Sub
    End If

    If Not IsNull (campoX) and Not IsNull (campoY) then

    ’’’If MsgBox("Gravar registro?", vbYesNoCancel, "Opções") = vbYes Then
    Set db = CurrentDb()
    Set rs = db.OpenRecordset("BD_Registro_55", dbOpenTable)
    rs.AddNew

    rs("DT_GNRE") = Me.DT_GNRE
    rs("UF_SUBST") = Me.UF_SUBST
    rs("BANCO_GNRE") = Me.BANCO_GNRE
    rs("AG_GNRE") = Me.AG_GNRE
    rs("N_GNRE") = Me.N_GNRE
    rs("VLR_GNRE") = Me.VLR_GNRE
    rs("DT_VENC") = Me.DT_VENC
    rs("MES_ANO") = Me.MES_ANO

    rs.Update
    rs.Close
    Set rs = Nothing
    Set db = Nothing

    Me.DT_GNRE = Null
    Me.UF_SUBST = Null
    Me.BANCO_GNRE = Null
    Me.AG_GNRE = Null
    Me.N_GNRE = Null
    Me.VLR_GNRE = Null
    Me.DT_VENC = Null
    Me.MES_ANO = Null

    MsgBox "Registo gravado com sucesso", vbInformation, "Concluído"
    Me.DT_GNRE.SetFocus
    Exit Sub
    End If
    End Sub
    avatar
    luiis_carlos
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 34
    Registrado : 07/09/2011

    [Resolvido]Problemas com Formulário de Preenchimento Empty Re: [Resolvido]Problemas com Formulário de Preenchimento

    Mensagem  luiis_carlos 24/10/2011, 14:12

    Bom dia João,

    Dessa forma até funciona, o problema que ele fica validando um cenário de cada vez né.
    E essa função faz isso o unico problema é que ela retorna mesmo com os campos prenchidos como Falso e por isso encerra o código.

    att,

    Neri
    avatar
    João afonso
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 396
    Registrado : 24/05/2011

    [Resolvido]Problemas com Formulário de Preenchimento Empty Re: [Resolvido]Problemas com Formulário de Preenchimento

    Mensagem  João afonso 24/10/2011, 14:30

    Você pode disponibilizar somente essa parte do bd para ver melhor.
    avatar
    luiis_carlos
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 34
    Registrado : 07/09/2011

    [Resolvido]Problemas com Formulário de Preenchimento Empty Re: [Resolvido]Problemas com Formulário de Preenchimento

    Mensagem  luiis_carlos 24/10/2011, 15:04

    Oi João, segue ai o BD..
    avatar
    luiis_carlos
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 34
    Registrado : 07/09/2011

    [Resolvido]Problemas com Formulário de Preenchimento Empty Re: [Resolvido]Problemas com Formulário de Preenchimento

    Mensagem  luiis_carlos 24/10/2011, 15:07

    Oi João..agora sim..segue o arquivo...
    Anexos
    [Resolvido]Problemas com Formulário de Preenchimento AttachmentBanco de Dados7.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (34 Kb) Baixado 6 vez(es)
    avatar
    luiis_carlos
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 34
    Registrado : 07/09/2011

    [Resolvido]Problemas com Formulário de Preenchimento Empty Re: [Resolvido]Problemas com Formulário de Preenchimento

    Mensagem  luiis_carlos 24/10/2011, 18:26

    Boa Tarde,

    João Muito obrigado pelo empenho, mas consegui achar a solução com um amigo aqui da empresa de TI (Mac)
    Quero encerrar postando a solução pq sei que sempre aparece alguem precisando.

    Função:

    Public Function valNullControl(frm As Form) As Boolean
    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 = 161616
    validacaoOk = 1
    minhaArray = minhaArray & ctl.Tag & ", "

    End If
    End If
    End If
    Next ctl

    If validacaoOk = 1 Then
    valNullControl = False
    MsgBox "Os campos destacados são de preenchimento obrigatório: " & Chr(13) & minhaArray
    Else
    valNullControl = True
    End If
    End Function


    Código no botão Salva:


    Private Sub Salvar_Click()

    Dim db As Database
    Dim rs As Recordset

    If MsgBox("Gravar registro?", vbQuestion + vbYesNo, "Opções") = vbYes Then

    If valNullControl(Me) = False Then
    Exit Sub
    End If

    Set db = CurrentDb()
    Set rs = db.OpenRecordset("BD_Registro_55", dbOpenTable)
    rs.AddNew


    rs("DT_GNRE") = Me.DT_GNRE
    rs("UF_SUBST") = Me.UF_SUBST
    rs("BANCO_GNRE") = Me.BANCO_GNRE
    rs("AG_GNRE") = Me.AG_GNRE
    rs("N_GNRE") = Me.N_GNRE
    rs("VLR_GNRE") = Me.VLR_GNRE
    rs("DT_VENC") = Me.DT_VENC
    rs("MES_ANO") = Me.MES
    rs("PERIODO") = Me.MES

    rs.Update
    rs.Close
    Set rs = Nothing
    Set db = Nothing

    Me.DT_GNRE = Null
    Me.UF_SUBST = Null
    Me.BANCO_GNRE = Null
    Me.AG_GNRE = Null
    Me.N_GNRE = Null
    Me.VLR_GNRE = Null
    Me.DT_VENC = Null
    Me.MES = Null


    MsgBox "Registo gravado com sucesso", vbInformation, "Concluído"
    Me.DT_GNRE.SetFocus
    Else: Exit Sub
    End If
    End Sub
    Anexos
    [Resolvido]Problemas com Formulário de Preenchimento AttachmentBanco de Dados7_.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (42 Kb) Baixado 7 vez(es)
    avatar
    luiis_carlos
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 34
    Registrado : 07/09/2011

    [Resolvido]Problemas com Formulário de Preenchimento Empty Re: [Resolvido]Problemas com Formulário de Preenchimento

    Mensagem  luiis_carlos 24/10/2011, 18:29

    Resolvido.
    avatar
    João afonso
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 396
    Registrado : 24/05/2011

    [Resolvido]Problemas com Formulário de Preenchimento Empty Re: [Resolvido]Problemas com Formulário de Preenchimento

    Mensagem  João afonso 24/10/2011, 19:31

    obrigado pelo retorno amigo

    Conteúdo patrocinado


    [Resolvido]Problemas com Formulário de Preenchimento Empty Re: [Resolvido]Problemas com Formulário de Preenchimento

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 2/5/2024, 04:29