Ir para conteúdo
Fórum Script Brasil
  • 0

Probleminha Com Datas


brunohjoia

Pergunta

Olá pessoal... To com um problema aparentemente simples que já está torrando minha paciencia... é o seguinte:

Eu tenho na minha base de dados do access 2000 uma tabela com um campo chave primária chamado "dia" do tipo Data/Hora (formato:Data Abreviada), e no meu form um Calendar Control. Toda vez que o usuário carregar o formulário, este verifica se a data atual do sistema já está em algum dos registros dessa tabela. Caso não esteja, ele adiciona a data automaticamente na tabela. Para isso uso o seguinte código:

Private Sub Form_Load()
 Adodc2.Recordset.Find ("dia=" & Date), , , 1
 If Adodc2.Recordset.EOF Then
  Adodc2.Recordset.AddNew
  lblDia.Caption = Date
  Adodc2.Recordset.Update
  Adodc2.Recordset.MoveLast
 End If
 Calendar1.Today
End Sub
Até aí tudo bem, pois funcionou certinho. O problema é que eu também quero que, quando o usuário clique numa determinada data do Calendar Control, este me leve até o lugar onde está registrada a data no banco de dados, caso ela já esteja no banco de dados, é claro. Então eu tentei usar o seguinte código:
Private Sub Calendar1_Click()
  Adodc2.Recordset.Find ("dia=" & Calendar1.Value), , , 1
  If Adodc2.Recordset.EOF Then
     mgsbox "não existe"
  End If    
End Sub

Mas quando, para efeito de teste, eu clico numa determinada data do Calendar que ainda não está no banco de dados, ao invés de aparecer a msgbox, ele altera o registro atual, mudando assim, a sua data e, quando o registro já existe ele acusa um erro, pois não podem existir registros duplicados na base de dados...

Alguém aí pode me dizer o que está acontecendo e como posso resolver isso???

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Bom, esse código não deve estar alterando o registro. Então, o problema está em outro lugar. Você ligou a propriedade DataSource do calendário ao ADODC2 e definiu o campo também? Se tiver feito isso, desfaça. E, quanto a busca, você faz daquele jeito mesmo e funciona? Não testei aqui, mas sempre precisei usar a função DateValue() ou colocar a data entre # para poder pesquisá-la.

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0

Aew!!!! Funcionou!!! Mais uma vez, como sempre, você resolveu meu problema cara!!!!!!! É impressionante!!

Quanto a busca, eu nem conhecia essa função que você usa ("DateValue()"). Por enquanto eu não enfrentei nehum problema quanto à busca, e deu tudo certo com essa função que eu uso... Levando em consideração que meu VB6 está atualizado com o SP6. Mas se der algum erro, pelo menos eu já sei o que pode ser!!!

Vlw!

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...