- 02 Jul 2016 às 15:10
#12394
Boa tarde, a todos!
Criei uma rotina de cadastro de clientes, com a intenção de não deixar repetir os nomes nem dado algum, só que não esta funcionando, ele até me da uma mensagem de clientes existente, mas faço alteração dos dados o problema que esta duplicando o registro, vou enviar o código para ver onde estou errando
Um detalhe as vezes quero alterar da seguinte forma, quando faço um cadastro rapidamente pego só o primeiro nome depois faço o dastro completo e gostaria que ele mantesse o mesmo numero de registro na mesma linha do banco de dados...
Private Sub btSalvar_Click()
Application.ScreenUpdating = False
Plan1.Select
Range("A2").Select
Dim iRow As Long
Dim WS As Worksheet
Set WS = Worksheets("Cadastro_de_Clientes")
Range("B2").Select
While ActiveCell <> ""
If cx_nome_cliente.Text = ActiveCell Then
If MsgBox("Cliente já Existe, deseja susbtituir?", vbYesNo) = vbYes Then
Else
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'C_AGENDA_DE_MEDIDAS.txtFcodcliente = ""
C_AGENDA_DE_MEDIDAS.cx_nome_cliente = ""
C_AGENDA_DE_MEDIDAS.cx_tel_celular = ""
C_AGENDA_DE_MEDIDAS.cx_tel_fixo = ""
C_AGENDA_DE_MEDIDAS.cx_tel_trabalho = ""
C_AGENDA_DE_MEDIDAS.cx_email = ""
C_AGENDA_DE_MEDIDAS.cx_endereço = ""
C_AGENDA_DE_MEDIDAS.cx_numero = ""
C_AGENDA_DE_MEDIDAS.cx_ap = ""
C_AGENDA_DE_MEDIDAS.cx_Bloco = ""
C_AGENDA_DE_MEDIDAS.cx_predio = ""
C_AGENDA_DE_MEDIDAS.cx_Bairro = ""
C_AGENDA_DE_MEDIDAS.cx_cidade = ""
C_AGENDA_DE_MEDIDAS.cx_aproximidade = ""
C_AGENDA_DE_MEDIDAS.cx_afazeres = ""
C_AGENDA_DE_MEDIDAS.txtDataCompromisso = ""
C_AGENDA_DE_MEDIDAS.cx_hora_compromisso = ""
C_AGENDA_DE_MEDIDAS.cmbnome_funcionario = ""
C_AGENDA_DE_MEDIDAS.ComboBox1 = ""
C_AGENDA_DE_MEDIDAS.ComboBox2 = ""
C_AGENDA_DE_MEDIDAS.ComboBox3 = ""
C_AGENDA_DE_MEDIDAS.ComboBox4 = ""
C_AGENDA_DE_MEDIDAS.ComboBox5 = ""
C_AGENDA_DE_MEDIDAS.ComboBox6 = ""
C_AGENDA_DE_MEDIDAS.ComboBox7 = ""
C_AGENDA_DE_MEDIDAS.ComboBox8 = ""
C_AGENDA_DE_MEDIDAS.ComboBox9 = ""
C_AGENDA_DE_MEDIDAS.ComboBox10 = ""
C_AGENDA_DE_MEDIDAS.ComboBox11 = ""
C_AGENDA_DE_MEDIDAS.ComboBox12 = ""
C_AGENDA_DE_MEDIDAS.cx_observações = ""
C_AGENDA_DE_MEDIDAS.cmb_pesquisa.SetFocus
Exit Sub
End If
End If
ActiveCell.Offset(1, 0).Activate
Wend
If cx_nome_cliente.Value = "" Then
MsgBox " Selecione Algum Nome Para Poder Cadastrar!"
Exit Sub
End If
iRow = ActiveCell.Row
WS.Cells(iRow, 1).Value = Me.txtFcodcliente.Value
WS.Cells(iRow, 2).Value = Me.cx_nome_cliente.Value
WS.Cells(iRow, 3).Value = Me.cx_tel_celular.Value
WS.Cells(iRow, 4).Value = Me.cx_tel_fixo.Value
WS.Cells(iRow, 5).Value = Me.cx_tel_trabalho.Value
WS.Cells(iRow, 6).Value = Me.cx_email.Value
WS.Cells(iRow, 7).Value = Me.cx_endereço.Value
WS.Cells(iRow, 8).Value = Me.cx_numero.Value
WS.Cells(iRow, 9).Value = Me.cx_ap.Value
WS.Cells(iRow, 10).Value = Me.cx_Bloco.Value
WS.Cells(iRow, 11).Value = Me.cx_predio.Value
WS.Cells(iRow, 12).Value = Me.cx_Bairro.Value
WS.Cells(iRow, 13).Value = Me.cx_cidade.Value
WS.Cells(iRow, 14).Value = Me.cx_aproximidade.Value
WS.Cells(iRow, 15).Value = Me.cx_afazeres.Value
WS.Cells(iRow, 16).Value = Me.txtDataCompromisso.Value
WS.Cells(iRow, 17).Value = Format(Me.cx_hora_compromisso.Value, "HH:MM")
WS.Cells(iRow, 18).Value = Me.cmbnome_funcionario.Value
WS.Cells(iRow, 19).Value = Me.ComboBox1.Value
WS.Cells(iRow, 20).Value = Me.ComboBox2.Value
WS.Cells(iRow, 21).Value = Me.ComboBox3.Value
WS.Cells(iRow, 22).Value = Me.ComboBox4.Value
WS.Cells(iRow, 23).Value = Me.ComboBox5.Value
WS.Cells(iRow, 24).Value = Me.ComboBox6.Value
WS.Cells(iRow, 25).Value = Me.ComboBox7.Value
WS.Cells(iRow, 26).Value = Me.ComboBox8.Value
WS.Cells(iRow, 27).Value = Me.ComboBox9.Value
WS.Cells(iRow, 28).Value = Me.ComboBox10.Value
WS.Cells(iRow, 29).Value = Me.ComboBox11.Value
WS.Cells(iRow, 30).Value = Me.ComboBox12.Value
WS.Cells(iRow, 31).Value = Me.cx_observações.Value
Call Bordas_II
continue:
MsgBox "Cliente Salvo com Sucesso!!!", , ""
''''#########################################################################################
''Gera o codigo de cliente automático...................................
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Linha = 2
contador = 0
Do Until Sheets("Cadastro_de_Clientes").Cells(Linha, 1) = ""
If Sheets("Cadastro_de_Clientes").Cells(Linha, 1) > contador Then
contador = contador + 1
Linha = Linha + 1
Else
End If
Loop
contador = contador + 1
txtFcodcliente = contador & "." & Format(Date, "dd.m.yy")
'''''#################################################################################################
ActiveWorkbook.Save
Application.ScreenUpdating = True
End Sub
Criei uma rotina de cadastro de clientes, com a intenção de não deixar repetir os nomes nem dado algum, só que não esta funcionando, ele até me da uma mensagem de clientes existente, mas faço alteração dos dados o problema que esta duplicando o registro, vou enviar o código para ver onde estou errando
Um detalhe as vezes quero alterar da seguinte forma, quando faço um cadastro rapidamente pego só o primeiro nome depois faço o dastro completo e gostaria que ele mantesse o mesmo numero de registro na mesma linha do banco de dados...
Private Sub btSalvar_Click()
Application.ScreenUpdating = False
Plan1.Select
Range("A2").Select
Dim iRow As Long
Dim WS As Worksheet
Set WS = Worksheets("Cadastro_de_Clientes")
Range("B2").Select
While ActiveCell <> ""
If cx_nome_cliente.Text = ActiveCell Then
If MsgBox("Cliente já Existe, deseja susbtituir?", vbYesNo) = vbYes Then
Else
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'C_AGENDA_DE_MEDIDAS.txtFcodcliente = ""
C_AGENDA_DE_MEDIDAS.cx_nome_cliente = ""
C_AGENDA_DE_MEDIDAS.cx_tel_celular = ""
C_AGENDA_DE_MEDIDAS.cx_tel_fixo = ""
C_AGENDA_DE_MEDIDAS.cx_tel_trabalho = ""
C_AGENDA_DE_MEDIDAS.cx_email = ""
C_AGENDA_DE_MEDIDAS.cx_endereço = ""
C_AGENDA_DE_MEDIDAS.cx_numero = ""
C_AGENDA_DE_MEDIDAS.cx_ap = ""
C_AGENDA_DE_MEDIDAS.cx_Bloco = ""
C_AGENDA_DE_MEDIDAS.cx_predio = ""
C_AGENDA_DE_MEDIDAS.cx_Bairro = ""
C_AGENDA_DE_MEDIDAS.cx_cidade = ""
C_AGENDA_DE_MEDIDAS.cx_aproximidade = ""
C_AGENDA_DE_MEDIDAS.cx_afazeres = ""
C_AGENDA_DE_MEDIDAS.txtDataCompromisso = ""
C_AGENDA_DE_MEDIDAS.cx_hora_compromisso = ""
C_AGENDA_DE_MEDIDAS.cmbnome_funcionario = ""
C_AGENDA_DE_MEDIDAS.ComboBox1 = ""
C_AGENDA_DE_MEDIDAS.ComboBox2 = ""
C_AGENDA_DE_MEDIDAS.ComboBox3 = ""
C_AGENDA_DE_MEDIDAS.ComboBox4 = ""
C_AGENDA_DE_MEDIDAS.ComboBox5 = ""
C_AGENDA_DE_MEDIDAS.ComboBox6 = ""
C_AGENDA_DE_MEDIDAS.ComboBox7 = ""
C_AGENDA_DE_MEDIDAS.ComboBox8 = ""
C_AGENDA_DE_MEDIDAS.ComboBox9 = ""
C_AGENDA_DE_MEDIDAS.ComboBox10 = ""
C_AGENDA_DE_MEDIDAS.ComboBox11 = ""
C_AGENDA_DE_MEDIDAS.ComboBox12 = ""
C_AGENDA_DE_MEDIDAS.cx_observações = ""
C_AGENDA_DE_MEDIDAS.cmb_pesquisa.SetFocus
Exit Sub
End If
End If
ActiveCell.Offset(1, 0).Activate
Wend
If cx_nome_cliente.Value = "" Then
MsgBox " Selecione Algum Nome Para Poder Cadastrar!"
Exit Sub
End If
iRow = ActiveCell.Row
WS.Cells(iRow, 1).Value = Me.txtFcodcliente.Value
WS.Cells(iRow, 2).Value = Me.cx_nome_cliente.Value
WS.Cells(iRow, 3).Value = Me.cx_tel_celular.Value
WS.Cells(iRow, 4).Value = Me.cx_tel_fixo.Value
WS.Cells(iRow, 5).Value = Me.cx_tel_trabalho.Value
WS.Cells(iRow, 6).Value = Me.cx_email.Value
WS.Cells(iRow, 7).Value = Me.cx_endereço.Value
WS.Cells(iRow, 8).Value = Me.cx_numero.Value
WS.Cells(iRow, 9).Value = Me.cx_ap.Value
WS.Cells(iRow, 10).Value = Me.cx_Bloco.Value
WS.Cells(iRow, 11).Value = Me.cx_predio.Value
WS.Cells(iRow, 12).Value = Me.cx_Bairro.Value
WS.Cells(iRow, 13).Value = Me.cx_cidade.Value
WS.Cells(iRow, 14).Value = Me.cx_aproximidade.Value
WS.Cells(iRow, 15).Value = Me.cx_afazeres.Value
WS.Cells(iRow, 16).Value = Me.txtDataCompromisso.Value
WS.Cells(iRow, 17).Value = Format(Me.cx_hora_compromisso.Value, "HH:MM")
WS.Cells(iRow, 18).Value = Me.cmbnome_funcionario.Value
WS.Cells(iRow, 19).Value = Me.ComboBox1.Value
WS.Cells(iRow, 20).Value = Me.ComboBox2.Value
WS.Cells(iRow, 21).Value = Me.ComboBox3.Value
WS.Cells(iRow, 22).Value = Me.ComboBox4.Value
WS.Cells(iRow, 23).Value = Me.ComboBox5.Value
WS.Cells(iRow, 24).Value = Me.ComboBox6.Value
WS.Cells(iRow, 25).Value = Me.ComboBox7.Value
WS.Cells(iRow, 26).Value = Me.ComboBox8.Value
WS.Cells(iRow, 27).Value = Me.ComboBox9.Value
WS.Cells(iRow, 28).Value = Me.ComboBox10.Value
WS.Cells(iRow, 29).Value = Me.ComboBox11.Value
WS.Cells(iRow, 30).Value = Me.ComboBox12.Value
WS.Cells(iRow, 31).Value = Me.cx_observações.Value
Call Bordas_II
continue:
MsgBox "Cliente Salvo com Sucesso!!!", , ""
''''#########################################################################################
''Gera o codigo de cliente automático...................................
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Linha = 2
contador = 0
Do Until Sheets("Cadastro_de_Clientes").Cells(Linha, 1) = ""
If Sheets("Cadastro_de_Clientes").Cells(Linha, 1) > contador Then
contador = contador + 1
Linha = Linha + 1
Else
End If
Loop
contador = contador + 1
txtFcodcliente = contador & "." & Format(Date, "dd.m.yy")
'''''#################################################################################################
ActiveWorkbook.Save
Application.ScreenUpdating = True
End Sub