IMPEDIR REGISTRO DUPLICADO
Boa tarde pessoal,
é possÃvel fazer com que um campo impeça de inserir um dado, se o mesmo já estiver sido cadastrado?
Tenho um mskCPF, e neste, preciso que ao informar um CPF, o sistema informa que o mesmo já existe cadastrado.
Testei esta rotina no meu sistema, mas não deu certo.
Private Sub mskCPF_LostFocus()
On Error GoTo A
If mskCPF.Text = AdoCadCli.Recordset.Fields([Ô]CPF_CNPJ[Ô]) Then
MsgBox ([Ô]CPF já cadastrado, [Ô]) & mskCPF.Text, 48, [Ô]Cadastro.[Ô]
mskCPF = [Ô][Ô]
mskCPF.SetFocus
AdoCadCli.Refresh
End If
A:
If Len(mskCPF.Text) < 1 Then
cmdConfirmar.Enabled = True
End If
é possÃvel fazer com que um campo impeça de inserir um dado, se o mesmo já estiver sido cadastrado?
Tenho um mskCPF, e neste, preciso que ao informar um CPF, o sistema informa que o mesmo já existe cadastrado.
Testei esta rotina no meu sistema, mas não deu certo.
Private Sub mskCPF_LostFocus()
On Error GoTo A
If mskCPF.Text = AdoCadCli.Recordset.Fields([Ô]CPF_CNPJ[Ô]) Then
MsgBox ([Ô]CPF já cadastrado, [Ô]) & mskCPF.Text, 48, [Ô]Cadastro.[Ô]
mskCPF = [Ô][Ô]
mskCPF.SetFocus
AdoCadCli.Refresh
End If
A:
If Len(mskCPF.Text) < 1 Then
cmdConfirmar.Enabled = True
End If
Atléticano, use consulta Sql para verificar se existe o Cpf se está registrado.
Adodc nem pensar.
Adodc nem pensar.
Coloca um indice do tipo unique na tabela
Se for o referido,ai sim.
Bom dia
A tabela é Clientes e o campo da tabela é CPF_CNPJ. Estou usando o mskCPF como campo para inserir o CPF.
Porém, sou um mero aprendiz neste mundo VB, e gostaria da contribuição de vocês.
Desde já agradeço.
Abraços!!!
A tabela é Clientes e o campo da tabela é CPF_CNPJ. Estou usando o mskCPF como campo para inserir o CPF.
Porém, sou um mero aprendiz neste mundo VB, e gostaria da contribuição de vocês.
Desde já agradeço.
Abraços!!!
Você está fazendo via VB6 ou direto no Access?
Primeiro em um Módulo Copie e Cole, se der erro e só procurar a referencia da conexão no Google, eu não me lembro dela no momento
Public db As New ADODB.Connection
Public rs As New ADODB.Recordset
Public Path As String
Public Sub ConnectBD()
Path = App.Path & [Ô]\Banco.mdb[Ô]
db.Open [Ô]Provider=microsoft.jet.oledb.4.0;data source=[Ô] & Path
End Sub
Public Sub DesconnectBD()
If rs.State = 1 Then rs.Close: Set rs = Nothing
If db.State = 1 Then db.Close: Set db = Nothing
End Sub
[ô]FAZ A VERIFICAÇÃO SE O REGISTRO Jà ESTà CADASTRADO
ConnectBD
rs.Open [Ô]SELECT * FROM tbCadCliente WHERE Cnpj LIKE [ô][Ô] & txt_Cnpj.Text & [Ô]%[ô] ORDER BY Codigo[Ô], db, 3, 3
Do Until (rs.EOF)
If txt_Cnpj.Text = rs(3) Then
MsgBox [Ô]Cliente já consta na base de dados![Ô], vbExclamation
DesconnectBD
Exit Sub
Else
rs.MoveNext
End If
Loop
Public db As New ADODB.Connection
Public rs As New ADODB.Recordset
Public Path As String
Public Sub ConnectBD()
Path = App.Path & [Ô]\Banco.mdb[Ô]
db.Open [Ô]Provider=microsoft.jet.oledb.4.0;data source=[Ô] & Path
End Sub
Public Sub DesconnectBD()
If rs.State = 1 Then rs.Close: Set rs = Nothing
If db.State = 1 Then db.Close: Set db = Nothing
End Sub
[ô]FAZ A VERIFICAÇÃO SE O REGISTRO Jà ESTà CADASTRADO
ConnectBD
rs.Open [Ô]SELECT * FROM tbCadCliente WHERE Cnpj LIKE [ô][Ô] & txt_Cnpj.Text & [Ô]%[ô] ORDER BY Codigo[Ô], db, 3, 3
Do Until (rs.EOF)
If txt_Cnpj.Text = rs(3) Then
MsgBox [Ô]Cliente já consta na base de dados![Ô], vbExclamation
DesconnectBD
Exit Sub
Else
rs.MoveNext
End If
Loop
Faça seu login para responder