USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Duplicidade
Robsonslz
SÃO LUÍS
MA - BRASIL
ENUNCIADA !
Postada em 31/08/2005 16:53 hs            
Olá Pessoal...
 
Coloquei no eventos LOSTFOCUS p/ não aceitar duplicidade no campo (TEXTBOX) o nome dos clientes cadastrado, mas toda vez que vou incluir um cliente o  sistema dispara e lhe informa que já existe um cliente cadastrado. Sendo que ainda nem incluir... Já verifiquei no banco (Access) e nada. O disparo só acontece no ato que vou Incluir e/ou movimentar os registros... O que há de errado?

Já tentei c/ os três, citados abaixos e nada...
'---------------------------------------------------------------------------------
Private Sub txtCliente_LostFocus()
If Trim$(txtCliente) = "" Then Exit Sub
Set TblCliente = BD.OpenRecordset("TblCliente", dbOpenTable, False)
TblCliente.Index = "Cliente"
TblCliente.Seek "=", txtCliente.Text
If TblCliente.NoMatch = True Then
Else
MsgBox txtCliente.Text & ", Já existe este cliente cadastrado no Banco de Dados.", vbCritical, "Cliente"
txtCliente.SetFocus
End If
End Sub
'---------------------------------------------------------------------------------Private Sub txtCliente_LostFocus()
Set TblCliente = BD.OpenRecordset("tblCliente", dbOpenTable)
TblCliente.Index = "Cliente" ' Campo Indexado (O mesmo deverá passar em branco ou nulo)
TblCliente.Seek "=", txtCliente.Text ' verifica se o que foi digitado existe
If TblCliente.NoMatch = True Then   'O cliente existe
Exit Sub
Else
MsgBox txtCliente.Text & ", Já existe este cliente cadastrado no Banco de Dados.", vbCritical, "Cliente"
txtCliente.SetFocus
End If
End Sub
'---------------------------------------------------------------------------------Private Sub txtCliente_LostFocus()
Dim sSQL As String
Dim r As Recordset
sSQL = "SELECT Cliente FROM tblCliente WHERE (Cliente = " & Chr(34) & txtCliente & Chr(34) & ");"
Set r = BD.OpenRecordset(sSQL, dbOpenSnapshot)
If Not r.BOF Then    'Existe registros na tabela, ou seja, encontrou clientes com o nome digitado
MsgBox txtCliente.Text & ", Já existe este cliente cadastrado no Banco de Dados.", vbCritical, "Clientes"
txtCliente.SetFocus
Exit Sub
End If
End Sub
'---------------------------------------------------------------------------------
 
Grato,
 
Robson´s
 
   
Elieser Topassi
Pontos: 2843 Pontos: 2843
SÃO JOSÉ DO RIO PRETO
SP - BRASIL
ENUNCIADA !
Postada em 31/08/2005 17:04 hs            
Robson,
 
Faz mto tempo q eu nao programo em DAO, mas ainda lembro bem como eh...
Para mim os 3 codigos estão certos... deve ser alguma outra coisa...
verifica sua logica... outros eventos, etc... para mim ai esta tudo certo...
 
Ah, mais uma coisa... tome cuidado com o momento em que  esse codigo é disparado. O LostFocus é um evento perigoso. Vc deve colocar um If no inicio, q diz ao seu programa se está sendo realizada uma inclusão... senão nao executa o codigo...
 
Sinto nao poder te ajudar mto...
 
Flw!


Elieser Carlos Topassi
Analista de Sistemas - Desenvolvedor VB/ASP/.Net

e-mail/msn:
elieser_topassi@yahoo.com.br
São José do Rio Preto,SP - Brasil
_____________________________________________________
Emoções "O caminho do tolo aos seus prórios olhos lhe parece reto, mas o sábio ouve conselhos" (Pv 12:15)

   
7Cordas
PORTO ALEGRE
RS - BRASIL
ENUNCIADA !
Postada em 01/09/2005 10:35 hs            
Complicado de analisar assim sem ver os fontes... Mas te dou uma dica. Ao inves d usar o evento LostFocus para validar dados, utilize o Validate. O Validate é disparado um pouco antes do lostfocus, ou seja, ele ainda não perdeu o foco, entendeu?! Para o validate funcionar sete a propriedade CausesValidation do objeto para True.

Cristiano Fischer
Projeto SIGA - Sistemas Integrados de Gestão
   
Página(s): 1/1    


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2025   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página