ROTINA DE BLOQUEIO EM DUPLICIDADE DE DADOS
A real dificuldade está na parte por exemplo de eu inserir um registro nº [ô]1[ô] com uma determinada [ô]data = 25/08/15[ô]. Quando entro na tela de alteração e tipo se eu só entrar no formulário e alterar outros dados deste formulário e este campo [ô]data[ô] eu nem mexer e deixar o mesmo valor = [ô]25/08/15[ô], o mesmo vai me apresentar erro por causa da rotina que coloquei acima na descrição, porém no registro atual ao salvar a alteração, ele nao poderia considerar aquela regra de verificar no Banco de Dados se o registro já consta lá.
Consegui esclarecer?
Ao clicar no botão editar, variavel editando=true, variavel dataehorariocarregado=10/10/2016 12:55:10
Na hora de salvar, então se variavel editando=true e variavel dataehorariocarregado<>data atual, então faz a validação .
Citação:If lTBAgendamentos.EOF = True Then
[ô]MensagemDoSistema [Ô][ô]Data[ô] e [ô]Horário[ô] não estão cadastrados![Ô]
Else
MensagemDoSistema [Ô]Campos [ô]Data[ô] e [ô]Horário[ô] já encontram-se cadastrados, verifique antes de salvar![Ô]
cboHorario.ListIndex = 0
cboHorario.SetFocus
Exit Sub
End If
você está usando o exit sub
se o registro existe voce sai da rotina antes desta parte
Citação:If gsAgendamentos = [Ô]N[Ô] Then
RotinaDoisInserirAgendamento
Else
RotinaDoisAlterarAgendamento
End If
no form de alteração, você não pode sair da rotina após o teste
e outra coisa, não vi onde voce passa o valor para gsAgendamentos
Citação::
o problema está aqui
If lTBAgendamentos.EOF = True Then
[ô]MensagemDoSistema [Ô][ô]Data[ô] e [ô]Horário[ô] não estão cadastrados![Ô]
Else
MensagemDoSistema [Ô]Campos [ô]Data[ô] e [ô]Horário[ô] já encontram-se cadastrados, verifique antes de salvar![Ô]
cboHorario.ListIndex = 0
cboHorario.SetFocus
Exit Sub
End If
você está usando o exit sub
se o registro existe voce sai da rotina antes desta parte
If gsAgendamentos = [Ô]N[Ô] Then
RotinaDoisInserirAgendamento
Else
RotinaDoisAlterarAgendamento
End If
no form de alteração, você não pode sair da rotina após o teste
e outra coisa, não vi onde voce passa o valor para gsAgendamentos
Deu certo, obrigado
Volto aqui neste tópico para compartilhar com vocês que agora a pouco por alguns minutos estava pensando em como podia esclarecer este assunto com o intuito de criar alguma coisa que serviria para evitar salvar algum registro duplicado no modo de novo/alteração (caso possa servir de adaptação para algum colega). Dentro da minha [ô]RotinaSalvar[ô] no formulário acrescentei apenas 2 linhas a mais de código fonte e acrescentei um pouco de código dentro do lsql:
Dim GuardaIdUsuario As Integer [ô]Declarei a variável
GuardaIdUsuario = txtIdUsuario.Text [ô]Variável que guarda o id_atual do campo text que está na tela aberto
If (txtLogin.Text) <> [Ô][Ô] Then [ô]InÃcio do IF
lsql = [Ô]SELECT * FROM USUARIOS WHERE id_usuario <> [Ô] & (GuardaIdUsuario) & [Ô] AND login = [ô][Ô] & ComApostrofo(txtLogin.Text) & [Ô][ô][Ô] [ô]Sql que verifica se tem dados duplicados e não considera o registro id_atual
Desta forma era exatamente o que eu queria e o interessante que foi só parar por alguns minutos que brilhou...
O que acharam?
Ficou bom?
Comentem....
Irei deixar o tópico em aberto por algumas horas para ouvir sugestões e depois volto para encerrar...
A atualizacao nao permite pq consulta e ja encontra c essa data e horario o proprio registro q vc tenta altera, entao vc tem q fazer o update se nao encontrar a data e horario, excluindo dessa busca o registro atual
Acho super simples assim, e ja fiz num agendamento de emprestimo de locais, com verificacao inclusive se um novo agendamento nao ficava dentro de outro, tipo sala1 em uso hj das 8 as 17, tento agendar algo na sala1 das 9 as 10, nao deixa tmb, mesmo nao batendo horario, mas estando dentro de um perÃodo