TRATANDO DATAS

 Tópico anterior Próximo tópico Novo tópico

TRATANDO DATAS

VB / VBA

 Compartilhe  Compartilhe  Compartilhe
#748 - 12/12/2003 00:13:39

CLEVERTON
SERRINHA
Cadast. em:Dezembro/2003


Membro da equipe
por favor quem me responder, mande para meu e-mail
cleverton.n@pop.com.br

estou com um pequeno probleminha de tratamento de datas.
minha tabela o seguinte
meu BD e 2.0
campo0 = tipo longo(autonumerao)
campo1 = tipo data/hora
campo2 = tipo texto

meu problema o seguinte:
quando adiciono e gravo um registro sem informar a data tudo bem, mas quando eu tento
editar o registro e no informo a data, ele d erro 3421,(que um erro de tipo invlido de dados)
como eu fao agora para editar esse registro sem dr esse erro.
vamos supor que eu queira editar o registro, mas deixo o campo de data vazio.
como fao para gravar sem dar esse erro

abaixo est o cdigo do meu teste

Option Explicit
Dim db As Database
Dim tb As Recordset

Private Sub cmd_add_update_Click()
On Error Resume Next
tb.AddNew
tb(1) = Text2
tb(2) = Text3
tb.Update
End Sub

Private Sub cmd_avancar_Click()
tb.MoveNext
If tb.EOF Then
    tb.MovePrevious
End If
mostrar

End Sub

Private Sub cmd_del_Click()
tb.Delete
cmd_voltar_Click
End Sub

Private Sub cmd_editar_Click()
tb.Edit
If Not IsNull(Text2.Text) Then
     tb(1) = ""
Else
     tb(1) = Text2
End If
tb(2) = Text3
tb.Update

End Sub

Private Sub cmd_voltar_Click()
tb.MovePrevious
If tb.BOF Then
    tb.MoveNext
End If
mostrar
End Sub

Function mostrar()
On Error GoTo erro
Text1 = tb(0)
If Not IsNull(tb(1)) Then
     Text2 = tb(1)
Else
      Text2 = ""
End If
If Not IsNull(Text3 = tb(2)) Then
     Text3 = tb(2)
Else
    Text3 = ""
End If
Label1.Caption = (tb.AbsolutePosition + 1)
erro:
If err.Number  0 Then MsgBox err.Number
End Function


Private Sub Form_Load()
Set db = OpenDatabase(App.Path & "\testedata.mdb")
Set tb = db.OpenRecordset("tabela", 2)
Label1.Caption = (tb.AbsolutePosition + 1)
Text1 = tb(0)
If Not IsNull(tb(1)) Then
     Text2 = tb(1)
Else
      Text2 = ""
End If
If Not IsNull(Text3 = tb(2)) Then
     Text3 = tb(2)
Else
    Text3 = ""
End If

End Sub




Resposta escolhida #749 - 12/12/2003 00:43:36

USUARIO.EXCLUIDOS

Cadast. em:


Cleverton, campos da tabela que so datas devem ser gravados como nulo para no gerar erro. Aspas simples o sistema reconhece como string.



Private Sub cmd_editar_Click()
tb.Edit
tb(1) =iif( isdate(text2.text),text2.text,null)
tb(2) = Text3
tb.Update

Private Sub cmd_add_update_Click()
On Error Resume Next
tb.AddNew
tb(1) = iif( isdate(text2.text),text2.text,null)
tb(2) = Text3
tb.Update
End Sub



Maier



 Tópico anterior Próximo tópico Novo tópico


Tópico encerrado, respostas não sao permitidas
Encerrado por WEBMASTER em 18/08/2009 10:03:45