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 05/09/2005 18:43 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
   
kerplunk
Pontos: 2843 Pontos: 2843 Pontos: 2843
SÃO PAULO
SP - BRASIL
Postada em 06/09/2005 08:24 hs         
Faça a mesma coisa só que no evento Validate.
     
Nilton Vianna
AMPARO
SP - BRASIL
Postada em 08/08/2009 23:50 hs         
' Fiz assim de deu certo
 
RS.Open "CadCliente", CnSql, 1, 3
If txtNome.Text = RS.Fields("Nome") Then
MsgBox Me.txtNome & ": já esta Cadastrado ! ", vbMagenta, "  Sisnews Informações"
txtNome.SetFocus
SelecionaTexto txtNome
End If
RS.Close
 
     
LCRamos
Pontos: 2843
GOIANIA
GO - BRASIL
Postada em 10/08/2009 08:29 hs            
Amigo, incrivel, mas acontece cada uma, já tive este problema, me parece que ao perder o foco voce manda o foco para o mesmo text, e o evento LostFocus (não sei porque) não aceita,ai mostra esta pane.
Voce pode resolver isto da seguinte forma:
Com uma variavel True ou False, quando chegar o foco no proximo controle, se for True continua se for False retorna o Foco p/ o nome.
Agora isto no evento GotFocus.
 
vlu//
 
 
     
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