André
não registrado
|
|
ENUNCIADA !
|
|
|
Postada em 09/05/2008 11:41 hs
continua dando erro!
Ficou assim
Private Sub CmdSalvar_Click()
Dim valcpf As Boolean
If TextNome.Text = Empty Then MsgBox
|
|
|
|
André
não registrado
|
|
ENUNCIADA !
|
|
|
Postada em 09/05/2008 11:43 hs
continua dado erro! Ficou assim o código
Private Sub CmdSalvar_Click()
Dim valcpf As Boolean
If TextNome.Text = Empty Then MsgBox " DIGITE O NOME ", vbExclamation, " INSERIR REGISTRO " TextNome.SetFocus Exit Sub End If If TextIdade.Text = Empty Then MsgBox " DIGITE O IDADE ", vbExclamation, " INSERIR REGISTRO " TextIdade.SetFocus Exit Sub End If If TextCPF.Text = Empty Then MsgBox " DIGITE O CPF ", vbExclamation, " INSERIR REGISTRO " TextCPF.SetFocus Exit Sub End If If Len(TextCPF.Text) <> 11 Then MsgBox "CPF DEVE TER 11 DÍGITOS!", vbExclamation, "INSERIR REGISTRO" TextCPF.SetFocus Exit Sub Else valcpf = isCPF(TextCPF.Text) If valcpf = False Then MsgBox " ESTE CPF É INVÁLIDO!", vbCritical, "INSERIR REGISTRO" TextCPF.SetFocus Exit Sub End If End If Data1.MoveMin Do While Not Data1.EOF If Data1.Recordset.Fields("CPF") = TextCPF.Text Then MsgBox "CPF já cadastrado!" Exit Sub Else Data1.UpdateRecord Data1.Recordset.Bookmark = Data1.Recordset.MaxModified End Sub End If Data1.Recordset.MoveNext Loop
End Sub
|
|
|
Treze
|
SÃO VICENTE SP - BRASIL
|
|
Postada em 09/05/2008 12:26 hs
Vamos fazer de outra forma veja agora se funciona Private Sub CmdSalvar_Click()
Dim valcpf As Boolean
If TextNome.Text = Empty Then MsgBox " DIGITE O NOME ", vbExclamation, " INSERIR REGISTRO " TextNome.SetFocus Exit Sub End If If TextIdade.Text = Empty Then MsgBox " DIGITE O IDADE ", vbExclamation, " INSERIR REGISTRO " TextIdade.SetFocus Exit Sub End If If TextCPF.Text = Empty Then MsgBox " DIGITE O CPF ", vbExclamation, " INSERIR REGISTRO " TextCPF.SetFocus Exit Sub End If If Len(TextCPF.Text) <> 11 Then MsgBox "CPF DEVE TER 11 DÍGITOS!", vbExclamation, "INSERIR REGISTRO" TextCPF.SetFocus Exit Sub Else valcpf = isCPF(TextCPF.Text) If valcpf = False Then MsgBox " ESTE CPF É INVÁLIDO!", vbCritical, "INSERIR REGISTRO" TextCPF.SetFocus Exit Sub End If End If Data1.Recordset.Findfirs_t"CPF like'" & TextCPF.Text & "'" Do While Data1.Recordset.NoMatch=False If Data1.Recordset.NoMatch=true Then MsgBox "CPF já cadastrado!" Exit Sub else Data1.UpdateRecord Data1.Recordset.Bookmark = Data1.Recordset.MaxModified end if Data1.Recordset.Findnex_t"CPF like'" & TextCPF.Text & "'" Loop End Sub * coloco o Underline no Findfirs_t porque a site altera a palavra para Min
|
|
|
André
não registrado
|
|
ENUNCIADA !
|
|
|
Postada em 09/05/2008 13:03 hs
Treze,
Uma coisa que eu estava vendo é que o metodo FindFirs_t só funciona com objetos recodset tipo"dynaset" ou "snapshot".O meu objeto esta com "table".Só que no programa ja tem uma rotina "Localizar" que só funciona com o recoedset do tipo table.Então, heheh, eu te pergunto.E AGORA?
Valew
|
|
|
|
Postada em 09/05/2008 13:35 hs
nao sei se vai ajudar, mas eu faco assim: no evento LostFocus do campo cpf, eu faco um script pra ver se ja tem um registro com o valor solicitar, asisim: Private Sub txtCPF_LostFocus() sSQL = "SELECT * FROM Tabela WHERE cpf = '" & txtCF & "'" rsTemp.Open sSQL, BD, 3, 3 if not rsTemp.EOF then MsgBox "Já existe um cliente com o CPF cadastrado!! Insira outro!" end if rsTemp.Close Set rsTemp = Nothing End Sub Ou seja, bem rapido, fácil, e nao compromete os outros dados do seu banco, muito menos seus scripts anteriores...... correto pessoal??
================================================================ O Aprendizado é Direito de Todos. O Saber é Privilégio de Poucos. Começando a estudar VB.NET. Realmente é incrível!!!!
|
|
|
André
não registrado
|
|
ENUNCIADA !
|
|
|
Postada em 09/05/2008 13:46 hs
mas eu estou usando access.
|
|
|
|