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???
Pergunta
brunohjoia
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:
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: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
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.