ERRO NA INSTRUCAO INSERT INTO

USUARIO.EXCLUIDOS 01/08/2007 10:25:32
#228726
Bom dia, galera do VBM!
Estou com problema na instrução insert. Eu uso o Acess.

A tabela tem os seguintes campos: ID, tipopessoa, sede, nome, fantasia, razaosocial, datafundacao, datanascimento, clientedesde, natural, InscEstadual, InscMunicipal, Identidade, CNPJ, CPF, Endereco, CEP, bairro, cidade, uf, fone, celular, fax.

em alguns momentos não preciso inserir dados em todos os campos, porem está me retornando um erro:

run-time error '-2147217904(8004e10)
nenhum valor foi fornecido para um ou mais parametro necessario

"INSERT INTO Clientes(ID, TipoPessoa, Sede, Fantasia, RazaoSocial, DataFundacao, ClienteDesde, CNPJ, Endereco, CEP, Bairro, Fone) VALUES (" & codigo & ", " & vPessoa & ", " & vSede & ", '" & txtNome.Text & "', '" & txtSocial.Text & "', '" & txtFundacao.Text & "', '" & txtDesde.Text & "', '" & txtCNPJ.Text & "', '" & txtEndereco.Text & "', '" & txtCEP.Text & "', '" & txtBairro.Text & "', '" & txtFone.Text & "');"

Alguem pode me ajudar?


USUARIO.EXCLUIDOS 01/08/2007 10:32:24
#228731
Bom, algum campo que você está incluíndo, que não é um valor obrigatório está marcado na propriedade Permitir Comprimento Zero = Não, para resolver, verifique os campos que não são obrigatórios e coloque essa propriedade para Sim(Permitir Comprimento Zero = Sim).
USUARIO.EXCLUIDOS 01/08/2007 10:52:59
#228740
Piolho, valeu pela ajuda, mais continua dando o mesmo erro.
USUARIO.EXCLUIDOS 01/08/2007 10:58:43
#228741
Rafael,

Os campos numéricos em sua instrução SQL, aqueles que não são delimitados por aspas simples, precisam ter algum conteúdo, nem que seja um 0.


Se não tiverem sua instrução ficará com duas vírgulas juntas, tipo assim ",," resultando então neste erro aí que vc passou.
USUARIO.EXCLUIDOS 01/08/2007 11:06:39
#228746
MARCELOHF, infelizmente ta dando o mesmo erro. todos os campos numericos possuem numeros na hora que gravo os dados.

Valeu mesmo pela ajuda.
USUARIO.EXCLUIDOS 01/08/2007 13:06:38
#228798
Amigo, na hora que der o erro, pegue esta string que vc postou e cole no Imediate, com um ponto de interrogação a frente. Tipo assim:

Citação:

?"INSERT INTO Clientes(ID, TipoPessoa, Sede, Fantasia, RazaoSocial, DataFundacao, ClienteDesde, CNPJ, Endereco, CEP, Bairro, Fone) VALUES (" & codigo & ", " & vPessoa & ", " & vSede & ", '" & txtNome.Text & "', '" & txtSocial.Text & "', '" & txtFundacao.Text & "', '" & txtDesde.Text & "', '" & txtCNPJ.Text & "', '" & txtEndereco.Text & "', '" & txtCEP.Text & "', '" & txtBairro.Text & "', '" & txtFone.Text & "');"



Ai vc da ENTER.

Ele vai te gerar a Query que está sendo executada para inserir, verifica aí então se tem alguma coisa faltando, aquilo que te falei das vírgulas é uma boa forma de ver.


Provavelmente o erro está entre os 3 primeiros campos.

USUARIO.EXCLUIDOS 01/08/2007 13:54:10
#228818
MARCELOHF, eu fiz o teste e me retornou isso:
INSERT INTO Clientes(Codigo, TipoPessoa, Sede, Fantasia, RazaoSocial, DataFundacao, ClienteDesde, InscricaoEstadual, CNPJ, InscricaoMunicipal, Endereco, CEP, Bairro, Cidade, UF, Fone, Celular, Fax) VALUES (1, 1, Verdadeiro, 'Rpcinfo', 'Rpc Informatica E Serviços', 01/06/2007, 10/07/2007, '123654789', '123456789', '123654789', 'Rua Cap Gustavo, 3361', '60120-140', 'Joaquim Tavora', 'Fortaleza', 'CE', '3472-127', '8818-700', '3472-127')

Não consigo ve nenhum error
USUARIO.EXCLUIDOS 01/08/2007 14:28:02
#228828
Qual o tipo do campo Sede?

Vc não tem condições de postar um banco de dados aqui vazio, somente com essa tabela Clientes?

Aí eu posso dar uma olhada melhor, pq realmente está difícil de achar o erro.


De qualquer forma, tente assim:
"INSERT INTO Clientes(ID, TipoPessoa, Sede, Fantasia, RazaoSocial, DataFundacao, ClienteDesde, CNPJ, Endereco, CEP, Bairro, Fone) VALUES (" & codigo & ", " & vPessoa & ", " & vSede & ", '" & txtNome.Text & "', '" & txtSocial.Text & "', #" & txtFundacao.Text & "#, #" & txtDesde.Text & "#, '" & txtCNPJ.Text & "', '" & txtEndereco.Text & "', '" & txtCEP.Text & "', '" & txtBairro.Text & "', '" & txtFone.Text & "')"

USUARIO.EXCLUIDOS 01/08/2007 15:31:13
#228844
ao invés de verdadeiro, tente gravar 1 para o vSede para true e 0 para false, ou ainda true ou false...

Acho que daí vai funcionar...
DAVID.SP 01/08/2007 16:35:47
#228862
Amigao,

E se vc fizer uma gambis...

colocar alguns ifs antes de dar um insert verificando se o conteudo do campo for empty coloque um "", exemplo:

if txtnome.text = empty then
txtnome.text = " "
endif

Só fazer nos campos em que o preenchimento nao seja obrigatorio

é uma gambis, mas com isso ele gravará um espaço em branco e pensará que tem um registro.
USUARIO.EXCLUIDOS 01/08/2007 20:02:44
#228923
MARCELOHF está ai o banco de dados vazio.

Agradeço a todos o interesse em me ajudar.

Desta forma será realmente mais facil vcs me ajudarem, vaelus mesmo.
Página 1 de 2 [18 registro(s)]
Tópico encerrado , respostas não são mais permitidas