GRAVAR DATA NULA

KAIBOLL 12/01/2011 09:51:29
#361990
Achei um tópico aqui sobre isso, mas num resolveu o problema....queria saber no cógo abaixo como faço para gravar uma data que não seja obrigatória, ou seja nula.

comandoDB.CommandText = [Ô]insert into tblCadastro values([Ô] & _
[Ô][ô][Ô] & Format(CDbl(txtCod.Text), [Ô][Ô]) & [Ô][ô],[Ô] & _
[Ô][ô][Ô] & txtData.Text & [Ô][ô],[Ô] & _
[Ô][ô][Ô] & IIf(txtExpira.Text = [Ô] / /[Ô], DBNull.Value, txtExpira.Text) & [Ô][ô],[Ô] & _
[Ô][ô][Ô] & IIf(chkAtivo.Checked = True, [Ô]ATIVO[Ô], [Ô]INATIVO[Ô]) & [Ô][ô],[Ô] & _
[Ô][ô][Ô] & txtNome.Text & [Ô][ô],[Ô] & _
[Ô][ô][Ô] & IIf(txtNascimento.Text = [Ô] / /[Ô], DBNull.Value, txtNascimento.Text) & [Ô][ô],[Ô] & _
[Ô][ô][Ô] & cboEstadoCivil.Text & [Ô][ô],[Ô] & _
[Ô][ô][Ô] & cboSexo.Text & [Ô][ô],[Ô] & _
[Ô][ô][Ô] & txtCep.Text & [Ô][ô],[Ô] & _
[Ô][ô][Ô] & txtEndereco.Text & [Ô][ô],[Ô] & _
[Ô][ô][Ô] & txtBairro.Text & [Ô][ô],[Ô] & _
[Ô][ô][Ô] & txtCidade.Text & [Ô][ô],[Ô] & _
[Ô][ô][Ô] & cboUF.Text & [Ô][ô],[Ô] & _
[Ô][ô][Ô] & txtNumero.Text & [Ô][ô],[Ô] & _
[Ô][ô][Ô] & txtComplemento.Text & [Ô][ô],[Ô] & _
[Ô][ô][Ô] & txtNaturalidade.Text & [Ô][ô],[Ô] & _
[Ô][ô][Ô] & txtNacionalidade.Text & [Ô][ô],[Ô] & _
[Ô][ô][Ô] & txtPai.Text & [Ô][ô],[Ô] & _
[Ô][ô][Ô] & txtMae.Text & [Ô][ô])[Ô]
comandoDB.ExecuteNonQuery()

dá erro tem que preenche as datas para funcionar, já tentei [Ô][Ô],Null, Nothing e DBNull.Value e sempre dá erro, o meu banco é access 2000/2003 e está definido para permitir valores nulos.

Desde já agradeço.
PEGUDO 12/01/2011 10:06:32
#361996
Para gravar a data com nula, você tem que passar para o BD o valor null como STRING

Exemplo:

[txt-color=#0000f0]Dim[/txt-color] strData [txt-color=#0000f0]As String[/txt-color] = TextBox1.Text

[txt-color=#0000f0]If[/txt-color] strData = [txt-color=#e80000][Ô][Ô][/txt-color] [txt-color=#0000f0]then[/txt-color]
comandoDB.CommandText = [txt-color=#e80000][Ô]insert into tblCadastro (data) values (null)[Ô][/txt-color]
[txt-color=#0000f0]Else[/txt-color]
comandoDB.CommandText = [txt-color=#e80000][Ô]insert into tblCadastro (data) values ([ô][Ô][/txt-color] & strData & [txt-color=#e80000][Ô][ô])[Ô][/txt-color]
[txt-color=#0000f0]End If[/txt-color]

e você esqueceu de dizer ao programa em quais colunas da tabela você quer inserir os dados.

Lembre-se de que Isto é um exemplo. Se lhe ajudar, adapte o conceito às necessidades de seu código
KAIBOLL 12/01/2011 10:21:29
#362001
deu certo não
PEGUDO 12/01/2011 10:30:54
#362005
Discrimine qual o erro que aparece pra você

to vendo aqui que faltou as colunas a receberes os dados enviados:

comandoDB.CommandText = [Ô]insert into tblCadastro [txt-color=#0000f0](cod,data,expira,ativo,nome,nascimento,estadocivil,sexo,cep,endereco,bairro,Cidade,UF,Numero,Complemento,Naturalidade,Nacionalidade,Pai,Mae)[/txt-color] values([Ô] & _
[Ô][ô][Ô] & Format(CDbl(txtCod.Text), [Ô][Ô]) & [Ô][ô],[Ô] & _
[Ô][ô][Ô] & txtData.Text & [Ô][ô],[Ô] & _
[Ô][ô][Ô] & IIf(txtExpira.Text = [Ô] / /[Ô], DBNull.Value, txtExpira.Text) & [Ô][ô],[Ô] & _
[Ô][ô][Ô] & IIf(chkAtivo.Checked = True, [Ô]ATIVO[Ô], [Ô]INATIVO[Ô]) & [Ô][ô],[Ô] & _
[Ô][ô][Ô] & txtNome.Text & [Ô][ô],[Ô] & _
[Ô][ô][Ô] & IIf(txtNascimento.Text = [Ô] / /[Ô], DBNull.Value, txtNascimento.Text) & [Ô][ô],[Ô] & _
[Ô][ô][Ô] & cboEstadoCivil.Text & [Ô][ô],[Ô] & _
[Ô][ô][Ô] & cboSexo.Text & [Ô][ô],[Ô] & _
[Ô][ô][Ô] & txtCep.Text & [Ô][ô],[Ô] & _
[Ô][ô][Ô] & txtEndereco.Text & [Ô][ô],[Ô] & _
[Ô][ô][Ô] & txtBairro.Text & [Ô][ô],[Ô] & _
[Ô][ô][Ô] & txtCidade.Text & [Ô][ô],[Ô] & _
[Ô][ô][Ô] & cboUF.Text & [Ô][ô],[Ô] & _
[Ô][ô][Ô] & txtNumero.Text & [Ô][ô],[Ô] & _
[Ô][ô][Ô] & txtComplemento.Text & [Ô][ô],[Ô] & _
[Ô][ô][Ô] & txtNaturalidade.Text & [Ô][ô],[Ô] & _
[Ô][ô][Ô] & txtNacionalidade.Text & [Ô][ô],[Ô] & _
[Ô][ô][Ô] & txtPai.Text & [Ô][ô],[Ô] & _
[Ô][ô][Ô] & txtMae.Text & [Ô][ô])[Ô]
comandoDB.ExecuteNonQuery()

Em azul, eu coloquei nomes de colunas fictícias. troque estes nomes pelo nome das colunas da sua tabela.
Se puder postar que tipo de erro está aparecendo pra você, seria até melhor.
SAMUKA 12/01/2011 10:37:06
#362008
Resposta escolhida
Vc tem certeza que o txtNascimento.Text = [Ô] / /[Ô] é realmente [Ô] / /[Ô] qdo não contem data ???

Pq no meu caso era [Ô]__/__/____[Ô]

Confirme isso depois altere o valor nulo para

IIf(txtNascimento.Text = [Ô]  /  /[Ô], [Ô]Null[Ô], txtNascimento.Text)
RODRIGUESRM 12/01/2011 10:44:21
#362012
Citação:

:
Discrimine qual o erro que aparece pra você

to vendo aqui que faltou as colunas a receberes os dados enviados:

comandoDB.CommandText = [Ô]insert into tblCadastro [txt-color=#0000f0](cod,data,expira,ativo,nome,nascimento,estadocivil,sexo,cep,endereco,bairro,Cidade,UF,Numero,Complemento,Naturalidade,Nacionalidade,Pai,Mae)[/txt-color] values([Ô] & _
[Ô][ô][Ô] & Format(CDbl(txtCod.Text), [Ô][Ô]) & [Ô][ô],[Ô] & _
[Ô][ô][Ô] & txtData.Text & [Ô][ô],[Ô] & _
[Ô][ô][Ô] & IIf(txtExpira.Text = [Ô] / /[Ô], DBNull.Value, txtExpira.Text) & [Ô][ô],[Ô] & _
[Ô][ô][Ô] & IIf(chkAtivo.Checked = True, [Ô]ATIVO[Ô], [Ô]INATIVO[Ô]) & [Ô][ô],[Ô] & _
[Ô][ô][Ô] & txtNome.Text & [Ô][ô],[Ô] & _
[Ô][ô][Ô] & IIf(txtNascimento.Text = [Ô] / /[Ô], DBNull.Value, txtNascimento.Text) & [Ô][ô],[Ô] & _
[Ô][ô][Ô] & cboEstadoCivil.Text & [Ô][ô],[Ô] & _
[Ô][ô][Ô] & cboSexo.Text & [Ô][ô],[Ô] & _
[Ô][ô][Ô] & txtCep.Text & [Ô][ô],[Ô] & _
[Ô][ô][Ô] & txtEndereco.Text & [Ô][ô],[Ô] & _
[Ô][ô][Ô] & txtBairro.Text & [Ô][ô],[Ô] & _
[Ô][ô][Ô] & txtCidade.Text & [Ô][ô],[Ô] & _
[Ô][ô][Ô] & cboUF.Text & [Ô][ô],[Ô] & _
[Ô][ô][Ô] & txtNumero.Text & [Ô][ô],[Ô] & _
[Ô][ô][Ô] & txtComplemento.Text & [Ô][ô],[Ô] & _
[Ô][ô][Ô] & txtNaturalidade.Text & [Ô][ô],[Ô] & _
[Ô][ô][Ô] & txtNacionalidade.Text & [Ô][ô],[Ô] & _
[Ô][ô][Ô] & txtPai.Text & [Ô][ô],[Ô] & _
[Ô][ô][Ô] & txtMae.Text & [Ô][ô])[Ô]
comandoDB.ExecuteNonQuery()

Em azul, eu coloquei nomes de colunas fictícias. troque estes nomes pelo nome das colunas da sua tabela.
Se puder postar que tipo de erro está aparecendo pra você, seria até melhor.



KAIBOLL,

Tente desta forma:

IIf(isdate(txtNascimento.Text), [Ô][ô][Ô] & txtNascimento.Text & [Ô][ô][Ô], [Ô]NULL[Ô]) & [Ô],[Ô] & _
SAMUKA 12/01/2011 11:08:37
#362018
Tem mais um detalhezinho que faz toda diferença

como vc está utilizando instruções SQL, vc terá que converter a data para o formato MM/dd/yyyy qdo for salvar.

Espero ter ajudado
KAIBOLL 12/01/2011 14:19:31
#362048
Variavel



Codigo


Erro


Já tentei de todo jeito e nada ainda
WEBSTERGONTIJO 12/01/2011 14:26:19
#362050
projeto seu e grande manda ele ai deixa eu debur ela para ver se encontro o erro!!!
SAMUKA 12/01/2011 14:54:28
#362053
A mensagem diz que vc tá atribuindo [Ô] / /[Ô] ao campo data e isso não é perrmitido

Tente isso:

  
[Ô] [Ô] & IIf(txtNascimento.Text = [Ô] / /[Ô], [Ô]Null[Ô], [Ô]#[Ô] & Format(txtNascimento.Text,[Ô]MM/dd/yyyy)[Ô]) & [Ô]#[Ô] & [Ô],[Ô] & _


Caso aparece algum erro, poste pra gente
KAIBOLL 12/01/2011 15:32:09
#362065
Pronto, fiz um exemplo simples de como é a aplicação, tentei de todas as formas acima, mas nenhuma deu certo.

segue o exemplo:

Obrigado a todos que estão me ajudando
Página 1 de 2 [12 registro(s)]
Tópico encerrado , respostas não são mais permitidas