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]Campo Data vazio

    avatar
    alantb
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 257
    Registrado : 25/07/2017

    [Resolvido]Campo Data vazio Empty [Resolvido]Campo Data vazio

    Mensagem  alantb 11/10/2018, 03:17

    Olá pessoal, tenho um formulário de cadastro no Acccess2016 com nove(9) campos. Especificamente dentre eles, tenho dois campos tipo Data/Hora que recebem datas no formato dd/mm/yyyy e outro tipo Número. Em 99% dos cadastros estes campos recebem valores. Entretanto haverá situações em que não será necessário o preenchimento destes três campos, só o restante. Abrindo diretamente a tabela se vê os dados lá gravados. Porém percebi que se deixo estes campos em branco, não consigo exibir esses registros em controles como Caixa de Listagem carregados por consultas.  Então como resolver essa questão, ou tem como atribuir um valo qualquer para que se faça a manutenção destes registros????
    Tentei assim, mas não deu certo:

    CurrentDb.Execute "Insert into tbContrato(Matricula, codPessoa, codSecretaria, codSetor, codCargo, chefe, dtNomeacao, codClasse, dtClasse, Obs ) values (" & txtMatricula & "," & txtCodPessoa & "," & txtCodSecretaria & "," & txtCodSetor & "," & txtCodCargo & "," & ChkChefe & ",'" & IIf(IsNull(txtDataNomeacao) Or Me.txtDataNomeacao = "", "Null", "#" & Format(Me.txtDataNomeacao, "dd/mm/yyyy") & "#") & "'," & txtCodClasse & ",'" & IIf(IsNull(txtDataClasse) Or Me.txtDataClasse = "", "Null", "#" & Format(Me.txtDataClasse, "dd/mm/yyyy") & "#") & "','" & txtObs & "')"
         


    Ps: os campos em questão são: dtNomeacao(txtDataNomeacao); dtClasse(txtDataClasse) e codClasse(txtCodClasse)

    ALAN
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Campo Data vazio Empty Re: [Resolvido]Campo Data vazio

    Mensagem  JPaulo 11/10/2018, 12:10

    Olá;

    Use a função NZ para tratar nulos.

    Exemplo:
    Código:
    Nz([SeuCampo];0)


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

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Campo Data vazio Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Campo Data vazio Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Campo Data vazio Folder_announce_new Instruções SQL como utilizar...
    avatar
    alantb
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 257
    Registrado : 25/07/2017

    [Resolvido]Campo Data vazio Empty Re: [Resolvido]Campo Data vazio

    Mensagem  alantb 11/10/2018, 15:45

    JPaulo, inseri a "NZ" da maneira abaixo, mas não deu certo. Dá erro de sintaxe em isert into....Sigo na busca...

    CurrentDb.Execute "Insert into tbContrato(Matricula, codPessoa, codSecretaria, codSetor, codCargo, chefe, dtNomeacao, codClasse, dtClasse, Obs ) values (" & txtMatricula & "," & txtCodPessoa & "," & txtCodSecretaria & "," & txtCodSetor & "," & txtCodCargo & "," & ChkChefe & ",'" & Nz([txtDataNomeacao], 0) & "'," & Nz([txtCodClasse], 0) & ",'" & Nz([txtDataClasse], 0) & "','" & txtObs & "')"


    ALAN
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Campo Data vazio Empty Re: [Resolvido]Campo Data vazio

    Mensagem  JPaulo 11/10/2018, 17:42

    Teste;

    Código:
    CurrentDb.Execute "INSERT INTO " _
    & " tbContrato(Matricula, codPessoa, codSecretaria, codSetor, codCargo, chefe, dtNomeacao, codClasse, dtClasse, Obs )" _
    & " VALUE (" & txtMatricula & "," & txtCodPessoa & "," & txtCodSecretaria & "," & txtCodSetor & "," & txtCodCargo & "," _
    & "" & ChkChefe & ", #" & IIf(Not IsDate(Me.txtDataNomeacao), Null, Format(Me.txtDataNomeacao, "dd/mm/yyyy")) & "#, " & txtCodClasse & "," _
    & "#" & IIf(Not IsDate(Me.txtDataNomeacao), Null, Format(Me.txtDataClass, "dd/mm/yyyy")) & "#,'" & txtObs & "')"


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

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Campo Data vazio Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Campo Data vazio Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Campo Data vazio Folder_announce_new Instruções SQL como utilizar...
    avatar
    alantb
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 257
    Registrado : 25/07/2017

    [Resolvido]Campo Data vazio Empty Re: [Resolvido]Campo Data vazio

    Mensagem  alantb 11/10/2018, 21:19

    Mestre JPaulo, fiz conforme a última mensagem, mas mesmo assim dá erro de erro de sintaxe no insert into. O VBA deixa a query toda em amarelo e não grava. Passando o ponteiro do mouse sobre os txts da query dá para ver os dados que foram digitados para gravar e os campos em questão mostram o valor como "Nulo". Sigo adiante.....

    ALAN
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Campo Data vazio Empty Re: [Resolvido]Campo Data vazio

    Mensagem  JPaulo 12/10/2018, 10:42

    Anexe aqui parte do seu por favor.


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

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Campo Data vazio Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Campo Data vazio Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Campo Data vazio Folder_announce_new Instruções SQL como utilizar...
    avatar
    alantb
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 257
    Registrado : 25/07/2017

    [Resolvido]Campo Data vazio Empty Re: [Resolvido]Campo Data vazio

    Mensagem  alantb 15/10/2018, 13:58

    Olá mestre JPaulo, não respondi antes pois estive fora da cidade. Então para melhor entendimento segue, cópia do bd. Para teste acessar o frmContrato.

    ALAN
    Anexos
    [Resolvido]Campo Data vazio Attachmentpromo1.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (1.5 Mb) Baixado 7 vez(es)
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Campo Data vazio Empty Re: [Resolvido]Campo Data vazio

    Mensagem  JPaulo 15/10/2018, 14:40

    Código:
    Private Sub cmdGravar_Click()
    Dim temMatricula As Recordset

          If vInclusao = True Then
     
       If Not IsNull(Me.txtMatricula) Then
      
             strSQL = "SELECT Matricula FROM tbContrato WHERE Matricula = " & Me.txtMatricula & ""
             Set temMatricula = CurrentDb.OpenRecordset(strSQL)
            
             If temMatricula.RecordCount <> 0 Then
                 MsgBox "Já existe pessoa registrada com esse número de Matrícula,verifique!!!.", vbInformation, "Aviso"
             Exit Sub
             End If
            
        End If
          
    CurrentDb.Execute "INSERT INTO " _
    & " tbContrato(Matricula, codPessoa, codSecretaria, codSetor, codCargo, chefe, dtNomeacao, codClasse, dtClasse, Obs )" _
    & " VALUE (" & Nz(txtMatricula, 0) & "," & Nz(txtCodPessoa, 0) & "," & Nz(txtCodSecretaria, 0) & "," & Nz(txtCodSetor, 0) & "," & Nz(txtCodCargo, 0) & "," _
    & " " & Nz(ChkChefe, 0) & ", #" & Nz(IIf(Not IsDate(Me.txtDataNomeacao), Null, Format(Me.txtDataNomeacao, "dd/mm/yyyy")), "") & "#, " & Nz(txtCodClasse, 0) & "," _
    & "#" & Nz(IIf(Not IsDate(Me.txtDataNomeacao), Null, Format(Me.txtDataClasse, "dd/mm/yyyy")), "") & "#,'" & Nz(txtObs, "") & "')"
            
            MsgBox ("Registro Salvo com Sucesso!!"), vbInformation, "Inclusão de Registro"
            LimpaCampos
            Forms!frmContrato!ListBox1.Requery
            DesabilitaCampos
            HabilitaCmd
            
        Else
            On Error Resume Next
            CurrentDb.Execute "UPDATE tbContrato SET codSecretaria=" & Me.txtCodSecretaria & ", codSetor=" & Me.txtCodSetor & ", codCargo=" & Me.txtCodCargo & ", chefe=" & Me.ChkChefe & ",dtNomeacao='" & Me.txtDataNomeacao & "' ,codClasse=" & Me.txtCodClasse & " ,dtClasse='" & Me.txtDataClasse & "', Obs='" & Me.txtObs & "' where Matricula=" & Me.txtMatricula

       MsgBox ("Registro Atualizado com Sucesso!!"), vbInformation, "Atualização de Registro"
      
       LimpaCampos
       Forms!frmContrato!ListBox1.Requery
       DesabilitaCampos
       DesabilitaSeleciona
       HabilitaCmd

    End If
    End Sub


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

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Campo Data vazio Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Campo Data vazio Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Campo Data vazio Folder_announce_new Instruções SQL como utilizar...
    avatar
    alantb
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 257
    Registrado : 25/07/2017

    [Resolvido]Campo Data vazio Empty Re: [Resolvido]Campo Data vazio

    Mensagem  alantb 15/10/2018, 15:19

    JPaulo, usei o código conforme indicou anteriormente, mas continua dando erro na instrução Insert Into. No grifado em amarelo na janela do VBA, passando o mouse em cima dos txts exibe os valores preenchidos para os primeiros campos normalmente, e, os campos data e classe com valores NULO, entretanto não grava na tbContrato. Fora a modificação no código há alguma alteração na tabela ou no form a ser feita???

    ALAN
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Campo Data vazio Empty Re: [Resolvido]Campo Data vazio

    Mensagem  JPaulo 15/10/2018, 17:08

    Amigão, testei e funciona;

    Download

    Se o problema continuar, diga-me como está a testar, para eu reproduzir o erro.


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

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Campo Data vazio Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Campo Data vazio Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Campo Data vazio Folder_announce_new Instruções SQL como utilizar...
    avatar
    alantb
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 257
    Registrado : 25/07/2017

    [Resolvido]Campo Data vazio Empty Re: [Resolvido]Campo Data vazio

    Mensagem  alantb 15/10/2018, 17:37

    JPaulo, para testar primeiro adiciona-se uma pessoa (Cadastro de Pessoas), depois no Cadastro de Contrato(frmContrato) atribui-se uma matricula a pessoa cadastrada; e seleciona os outros dados: secretaria, setor, cargo. No caso testei deixando os campos data e classe em branco ou digitando zero, e também não gravou.Como fizeste o teste ai????

    ALAN
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Campo Data vazio Empty Re: [Resolvido]Campo Data vazio

    Mensagem  JPaulo 18/10/2018, 10:59

    Ola bom dia!

    Ok, testei e refiz algumas coisas que estavam mal.

    Alterei a consulta "ConsultaContrato" que alimenta a lista do form Contrato.
    Alterei o código de insert, com Recordset.
    Alterei a chamada do "CarregaLista" e inseri logo após o Recordset adicionar o registro.

    Valide por favor, apenas inseri uma pesso nova "JPaulo".

    Download






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

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Campo Data vazio Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Campo Data vazio Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Campo Data vazio Folder_announce_new Instruções SQL como utilizar...
    avatar
    alantb
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 257
    Registrado : 25/07/2017

    [Resolvido]Campo Data vazio Empty Re: [Resolvido]Campo Data vazio

    Mensagem  alantb 18/10/2018, 12:28

    Mestre JPaulo, com as últimas alterações, finalmente deu certo por aqui. Mais uma vez agradeço a atenção e o empenho em ajudar. Sendo assim encerramos por aqui e RESOLVIDO!!

    ALAN
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Campo Data vazio Empty Re: [Resolvido]Campo Data vazio

    Mensagem  JPaulo 18/10/2018, 13:30

    Fico feliz pelo tempo investido e pelo seu retorno.

    Aproveite e veja este tópico
    https://www.maximoaccess.com/t5357-como-contribuir-com-o-forum-via-paypal


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

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Campo Data vazio Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Campo Data vazio Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Campo Data vazio Folder_announce_new Instruções SQL como utilizar...

    Conteúdo patrocinado


    [Resolvido]Campo Data vazio Empty Re: [Resolvido]Campo Data vazio

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 19/3/2024, 07:20