DATA PRECISA CONTER NULO NO ACCESS

EDUARDONICE 17/01/2014 12:31:57
#433215
Olá Pessoal

Tenho, no Access, uma tabela Despesas que possui o campo DataPagto do tipo data.

Criei um form, em .net, onde o usuário lança as despesas e pode ou não lançar a data de pagamento que está num campo maskedtextbox (mskdatapagto.text)

No momento da gravação gostaria de jogar null caso não houvesse data informada. Alguém pode me ajudar?
NILSONTRES 17/01/2014 13:24:20
#433219
Resposta escolhida
Existem algumas formas, mas a mais simples e trabalhar com paramters.
Nesse caso MY_COMAND.Parameters.Add(New MySqlParameter([Ô]@Data_Cad[Ô], IIf(Data_Cad = Nothing, System.DBNull.Value, Data_Cad)))
Ai esta com Mysql, mas para access é igual.
EDUARDONICE 17/01/2014 17:06:22
#433239
NilsonTres

Desde já agradeço a sua atenção, mas desculpe a minha ignorância já que não entendi... Eu não conheço quase nada de VB.Net e estou aprendendo na raça....

Olhei o comando e acho que entendi a parte final: se o data_Cad for nothing então ele fica com nulo, caso contrário fica com a data. Porém, não entendi o início e nem mesmo sei onde colocar e usar isto. (My_Comand.Parameters.....)

Não existe nenhuma forma bem simplista de eu atribuir o valor null ao maskedtextbox ou a uma variável? Assim, quando eu executar o Insert ele gravaria sem dar erro? Mais ou menos assim:
Inst=[Ô]Insert into Despesas (Id, Descricao, DtPagto) values ( [Ô] & txtId.Text & [Ô],[ô][Ô] & txtDesc.Text&[Ô][ô], [ô][Ô] & mskDtPg.Text & [Ô][ô];[Ô]
NILSONTRES 17/01/2014 22:02:39
#433247
Tente assim:
mskDtPg.Text .maskcompleted=false
ou
not isdate(mskDtPg.Text )
Inst=[Ô]Insert into Despesas (Id, Descricao, DtPagto) values ( [Ô] & txtId.Text & [Ô],[ô][Ô] & txtDesc.Text&[Ô][ô], [ô]Null[ô];[Ô]



Aconselho a pesquisar
EDUARDONICE 19/01/2014 11:45:06
#433258
Já tinha pesquisado e verifiquei várias sugestões para resolver o problema. Andei testando algumas que não funcionaram.

Por enquanto, resolvi criando dois tipos de inserts um para data nula e outro para data preenchida. Sei que não é a forma mais elegante, mas resolveu.

Agradeço e vou encerrar o tópico.
Tópico encerrado , respostas não são mais permitidas