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

    Insert registro campo data gera erro se ficar em branco.

    avatar
    wmluis
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 8
    Registrado : 08/10/2016

    Insert registro campo data gera erro se ficar em branco. Empty Insert registro campo data gera erro se ficar em branco.

    Mensagem  wmluis 1/3/2017, 23:01

    No cadastro de Clientes tenho um campo "DataNascimento" se eu preencher com a data o registro é cadastrado normal, entretanto se não
    preencher o campo (deixar em branco) o comando gera um erro em tempo de execução, Tipo de dados incompatível na expressão de critério.


    cSQL = "INSERT INTO Clientes (CódigoDoCliente, cnpj, NomeRazaoSocial, CEP, iest, NomeEmpresa, NomeDoContato, EndereçoDeCobrança, NumLogradouro, Complemento, Bairro, Cidade, Estado, NúmeroTelefone, Fax, Celular, DataNascimento, Email, Observacoes) "
    cSQL = cSQL & "VALUES ('" & txtCodCliente & "', '" & txtCNPJ & "', '" & TxtRazaoSocial & "', '" & txtCEP & "', '" & txtIE & "', '" & txtNomeFantasia & "', '" & txtContato & "', '" & txtEndereco & "', '" & txtNumLogradouro & "', '" & txtComplemento & "', '" & txtBairro & "', '" & txtCidade & "', '" & txtEstado & "', '" & txtTelefone & "', '" & txtFax & "', '" & txtCelular & "', '" & txtDtNascimento & "', '" & txtEmail & "', '" & txtObs & "') "
    RS.Open cSQL, cn, adOpenStatic, adLockOptimistic
    FabioPaes
    FabioPaes
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

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

    Insert registro campo data gera erro se ficar em branco. Empty Re: Insert registro campo data gera erro se ficar em branco.

    Mensagem  FabioPaes 2/3/2017, 13:14

    Experimente mudar para:
    ... , " & txtDtNascimento & ", ...

    Isso se o campo DataNascimento na tabela for do tipo Data!


    .................................................................................
    _____________________________________________________________________
    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!
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3217
    Registrado : 13/12/2016

    Insert registro campo data gera erro se ficar em branco. Empty Re: Insert registro campo data gera erro se ficar em branco.

    Mensagem  Alexandre Fim 2/3/2017, 14:39

    Olá wmluis,

    Voce pode fazer o tratamento de todos os campos antes de gravar os dados, conforme abaixo em destaque:

    cSQL = "INSERT INTO Clientes "
    cSQL = cSQL & " ("
    cSQL = cSQL & "   CódigoDoCliente"
    cSQL = cSQL & " , cnpj"
    cSQL = cSQL & " , NomeRazaoSocial"
    cSQL = cSQL & " , CEP"
    cSQL = cSQL & " , iest"
    cSQL = cSQL & " , NomeEmpresa"
    cSQL = cSQL & " , NomeDoContato"
    cSQL = cSQL & " , EndereçoDeCobrança"
    cSQL = cSQL & " , NumLogradouro"
    cSQL = cSQL & " , Complemento"
    cSQL = cSQL & " , Bairro, Cidade"
    cSQL = cSQL & " , Estado"
    cSQL = cSQL & " , NúmeroTelefone"
    cSQL = cSQL & " , Fax"
    cSQL = cSQL & " , Celular"
    cSQL = cSQL & " , DataNascimento"
    cSQL = cSQL & " , Email"
    cSQL = cSQL & " , Observacoes"
    cSQL = cSQL & " ) "
    cSQL = cSQL & "  VALUES "
    cSQL = cSQL & " ("
    cSQL = cSQL & "   '" & txtCodCliente & "'"
    cSQL = cSQL & " , '" & txtCNPJ & "'"
    cSQL = cSQL & " , '" & TxtRazaoSocial & "'"
    cSQL = cSQL & " , '" & txtCEP & "'"
    cSQL = cSQL & " , '" & txtIE & "'"
    cSQL = cSQL & " , '" & txtNomeFantasia & "'"
    cSQL = cSQL & " , '" & txtContato & "'"
    cSQL = cSQL & " , '" & txtEndereco & "'"
    cSQL = cSQL & " , '" & txtNumLogradouro & "'"
    cSQL = cSQL & " , '" & txtComplemento & "'"
    cSQL = cSQL & " , '" & txtBairro & "'"
    cSQL = cSQL & " , '" & txtCidade & "'"
    cSQL = cSQL & " , '" & txtEstado & "'"
    cSQL = cSQL & " , '" & txtTelefone & "'"
    cSQL = cSQL & " , '" & txtFax & "'"
    cSQL = cSQL & " , '" & txtCelular & "'"
    cSQL = cSQL & " , '" & IIf(IsNull(txtDtNascimento), "", txtDtNascimento) & "')"
    cSQL = cSQL & " , '" & txtEmail & "'"
    cSQL = cSQL & " , '" & txtObs & "'"
    cSQL = cSQL & " ) "


    Espero ter ajudado

    Att,
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3217
    Registrado : 13/12/2016

    Insert registro campo data gera erro se ficar em branco. Empty Re: Insert registro campo data gera erro se ficar em branco.

    Mensagem  Alexandre Fim 2/3/2017, 18:50

    wmluis,

    E ai? foi solucionado este problema?

    Att,
    avatar
    wmluis
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 8
    Registrado : 08/10/2016

    Insert registro campo data gera erro se ficar em branco. Empty Insert registro campo data gera erro se ficar em branco.

    Mensagem  wmluis 4/3/2017, 01:42

    Valeu Alexandre.
    Ontem estava doente.
    Mas acho que esta faltando um parentese ou tem um a mais. Não consegui ajustar.
    Abaixo segue a depuração como esta ficando o comando:

    cSQL = cSQL & " , '" & IIf(IsNull(txtDtNascimento), "", txtDtNascimento) & "')"

    INSERT INTO Clientes  (CódigoDoCliente, cnpj, NomeRazaoSocial, CEP, iest, NomeEmpresa, NomeDoContato, EndereçoDeCobrança, NumLogradouro, Complemento, Bairro, Cidade, Estado, NúmeroTelefone, Fax, Celular, DataNascimento, Email, Observacoes) VALUES ('233', '', 'aaaaaaaaaaaa', '', '', '', '', '', '', '', '', '', '', '', '', '' , ''), '', '' )
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3217
    Registrado : 13/12/2016

    Insert registro campo data gera erro se ficar em branco. Empty Re: Insert registro campo data gera erro se ficar em branco.

    Mensagem  Alexandre Fim 4/3/2017, 02:36

    Fala ai wmluis...blza?

    Ops...é verdade...me desculpe.

    ==== ERRADO ===
    cSQL = cSQL & " , '" & IIf(IsNull(txtDtNascimento), "", txtDtNascimento) & "')"

    === CORRETO ===
    cSQL = cSQL & " , '" & IIf(IsNull(txtDtNascimento), "", txtDtNascimento)) & "'"


    O erro ocorre porque a qtde. de campos da tabela não coincide com a qtde de valores informados.
    Ex.

    INSERT INTO CLIENTE (idcli, nomecli) VALUES ('WMLUIS') ===> Errado

    INSERT INTO CLIENTE (idcli, nomecli) VALUES (1, 'WMLUIS') ===> Correto (qtde de campos = qtde de valores)

    Abraço

    avatar
    wmluis
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 8
    Registrado : 08/10/2016

    Insert registro campo data gera erro se ficar em branco. Empty Insert registro campo data gera erro se ficar em branco.

    Mensagem  wmluis 4/3/2017, 03:48

    Alexandre, do jeito que vc colocou esta dando um erro de compilação. (era esperando: fim da instrução)

    Consegui colocar assim: cSQL = cSQL & ", '" & IIf(IsNull(txtDtNascimento), "", (txtDtNascimento)) & "'"
    Até acho que esta certo porque a quantidade de parenteses abertos são a mesma dos fechados.

    Mas executando esta aparecendo erro:
    "Tipo de dados incompatível na expressão de critério.

    Quantidade de campos são 19 tanto no "insert" quanto no "value"
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3217
    Registrado : 13/12/2016

    Insert registro campo data gera erro se ficar em branco. Empty Re: Insert registro campo data gera erro se ficar em branco.

    Mensagem  Alexandre Fim 4/3/2017, 03:53

    Por gentileza, poderia me mandar seu sistema para dar uma olhada?

    Grato
    avatar
    wmluis
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 8
    Registrado : 08/10/2016

    Insert registro campo data gera erro se ficar em branco. Empty Insert registro campo data gera erro se ficar em branco.

    Mensagem  wmluis 5/3/2017, 16:00

    Segue sistema
    Anexos
    Insert registro campo data gera erro se ficar em branco. AttachmentSistema.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (178 Kb) Baixado 7 vez(es)

    Conteúdo patrocinado


    Insert registro campo data gera erro se ficar em branco. Empty Re: Insert registro campo data gera erro se ficar em branco.

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 27/4/2024, 11:29