Vídeo recomendado
https://youtu.be/diWPPPhW-9E

V3 - Travar cliente já cadastrado (resolvido)

Dúvidas gerais sobre Excel
Rodrigo
Manda bem
Manda bem
Mensagens: 109
Registrado em: Qua Mai 05, 2010 9:27 pm

V3 - Travar cliente já cadastrado (resolvido)

Mensagem por Rodrigo »

Olá Pessoal,


Como eu posso colocar uma rotina dentro do botão ok do castro v3 onde ele vai até o banco de dados e verificar se já existe cadastro para esse cliente conforme os dados no campo txtNomeEmpresa ?

ë uma coisa simples mesmo, baseado apenas em um campo, caso já exista esse cliente retonar um msgbox avisando e não deixar finalizar o processo.

Estou anexando a versão que tenho
Anexos
New Cadastro.7z
(51.33 KiB) Baixado 320 vezes
Editado pela última vez por Rodrigo em Sáb Set 11, 2010 3:32 pm, em um total de 1 vez.


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Avatar do usuário
webmaster
Administrador
Mensagens: 3114
Registrado em: Sex Jul 24, 2009 2:44 pm
Contato:

Re: V3 - Travar cliente já cadastrado

Mensagem por webmaster »

Rodrigo,

Dê uma olhada nesse tópico:

viewtopic.php?f=6&t=104&p=629&hilit=mod ... idade#p629

Abraços


Rodrigo
Manda bem
Manda bem
Mensagens: 109
Registrado em: Qua Mai 05, 2010 9:27 pm

Re: V3 - Travar cliente já cadastrado

Mensagem por Rodrigo »

Olá Tomaz,


Pequei a dica abaixo no site, está até funionando mas o problema é que faz a verificação retonar a informação e depois que dou o ok no msgbox ele executa salvando no banco de dados.

Lembre que estou tentando colocar essa rotina no V3, então ele tem que fazer todo aquele acesso abrir banco de dados e etc, toda essa rotina que vc cirou sabe. O que fiz então, depois de toda essa rotina quando vai para função SalvaRegistro eu coloquei um CalllocAgenda para fazer a verificação antes, ele volta uma msg falando que já existe o cadastro mas depois do ok ele salva a informação.

Qual é a sua sugestão ?


Sub LocAgenda()

Dim sRaz As String
Dim fimbase
Dim consulta
Dim NomeMed
Dim sNomeMed As String
Dim listagenda
Dim listagenda1
Dim ShAgenda As Worksheet


sNomeMed = txtNomeEmpresa.Value 'Nome do Medico

listagenda1 = txtNomeEmpresa.Value

If sNomeMed <> "" Then 'Se Campo Medico em Branco
'Application.ScreenUpdating = False

Set ShAgenda = Sheets("Fornecedores")

'Consulta Dados Agenda
ShAgenda.Activate

'Carrega Numero de consultas Agendadas - Coluna A
fimbase = Range("B60000").End(xlUp).Row

For consulta = 2 To fimbase
With ShAgenda

sRaz = .Cells(consulta, 2).Value 'Nome Medico

If sNomeMed = sRaz Then
NomeMed = sRaz 'Nome Medico



listagenda = NomeMed
End If
End With

If listagenda = listagenda1 Then
MsgBox "Ja existe consulta para esse medico"
Exit Sub
End If
Next

End If

End Sub


Avatar do usuário
Mauro Coutinho
Jedi
Jedi
Mensagens: 1561
Registrado em: Sáb Mar 13, 2010 8:10 pm
Localização: São José dos Pinhais - Pr

Re: V3 - Travar cliente já cadastrado

Mensagem por Mauro Coutinho »

Coloque essa rotina LocAgenda em um dos Eventos (AfterUpdate, Exit....) do TextBox ou Combobox, não sei qual está usando, ou crie uma Variável como Boolean e apos a mensagem de que o Cadastro já Existe a mesma deverá estar como False que é o parametro inicial, assim ao retornar para a sequencia da rotina colocar uma instrução IF que se o Valor da Variável for False sair da rotina.

[]s


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Rodrigo
Manda bem
Manda bem
Mensagens: 109
Registrado em: Qua Mai 05, 2010 9:27 pm

Re: V3 - Travar cliente já cadastrado

Mensagem por Rodrigo »

Mauro,

Estou usando um texbox . Poderia ser um pouco mais detalhado na questão do AfterUpdate, Exit.... ? Não entedi como fazer.

Obrigado.


Avatar do usuário
Mauro Coutinho
Jedi
Jedi
Mensagens: 1561
Registrado em: Sáb Mar 13, 2010 8:10 pm
Localização: São José dos Pinhais - Pr

Re: V3 - Travar cliente já cadastrado

Mensagem por Mauro Coutinho »

Rodrigo escreveu:Mauro,

Estou usando um texbox . Poderia ser um pouco mais detalhado na questão do AfterUpdate, Exit.... ? Não entedi como fazer.

Obrigado.
Rodrigo, os eventos acima foram só uma citação dos Eventos que consistem os Controles em um Formulários, você deve colocar a chamada a sua rotina em um dos eventos, fica a seu critério escolher o que melhor satisfazer, pode ser em um dos que mencionei acima ou outros.

De uma olhada em um exemplo basico dos Eventos Change e Exit e que pode ser adaptado para os outros eventos.

http://www.ricardo.horta.nom.br/ms_exce ... h0600.html

[]s


Rodrigo
Manda bem
Manda bem
Mensagens: 109
Registrado em: Qua Mai 05, 2010 9:27 pm

Re: V3 - Travar cliente já cadastrado

Mensagem por Rodrigo »

Fala Mauro,

Dei um olhada lá mas não é o que eu quero, na verdade eu tenho que colocar a Rotina LocAgenda dentro da rotina SalvaRegistro do V3, antes de salvar o registro ele encontra o item que está sendo cadastrado ele trava a rotina e volta com msgbox informando que já existe esse produto.

Tem como vc fazer isso pra mim nessa arquivo ?


Avatar do usuário
Mauro Coutinho
Jedi
Jedi
Mensagens: 1561
Registrado em: Sáb Mar 13, 2010 8:10 pm
Localização: São José dos Pinhais - Pr

Re: V3 - Travar cliente já cadastrado

Mensagem por Mauro Coutinho »

Rodrigo, a sua adaptação nessa rotina está um pouco confusa para mim, não sei ao certo qual a variável está usando, mas a principio teria de ser assim, acerte conformes os nomes dos Controles e Variaveis que esta a utilizar:

Código: Selecionar todos

Private Sub txtNomeEmpresa_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    Call LocAgenda 'Ao sair do textbox irá procurar se o cadastro já existe

    If txtNomeEmpresa.Value = listagenda Then ' Se existir ....
            txtNomeEmpresa.SelStart = 0 ' Seleciona todo.........
            txtNomeEmpresa.SelLength = Len(txtNomeEmpresa.Text) 'O texto do TxtBox para dgitar outro
            Cancel = True 'Trava todos os outros campos impedindo qq ação
       Else
            Cancel = False 'Se o cadastro não existir, libera os Conttroles e continua com sua rotina
    End If

End Sub
Como eu disse anteriormente fica um pouco dificil conseguirmos dar respostas exatas, se nas adaptações não corrigem os nomes dos controless e referencias, mas essa ai deve ajudar.

abraços


Rodrigo
Manda bem
Manda bem
Mensagens: 109
Registrado em: Qua Mai 05, 2010 9:27 pm

Re: V3 - Travar cliente já cadastrado

Mensagem por Rodrigo »

Fala Mauro,

Gostário de agradecer a sua paciencia comigo :D . Na verdade, essa função não vai funcionar pois ele tem que ir até o banco de dados que é Modelocadastro_dados para fazer essa verificação.

Então Vamos partir do Zero. Em anexo está o V3 que agora tem o banco de dado, com seu conhecimento, como vc colocaria uma rotina de checagem no V3 que quando clicar em "Novo para adicionar o cliente ele vai até o Modelocadastro_dados e verifica se já existe esse cliente ?

Esquece o a rotina LocAgenda, como vc faria ? Segue em anexo o arquivo que eu tenho que fazer isso.
Anexos
New Cadastro.7z
(51.33 KiB) Baixado 308 vezes


Rodrigo
Manda bem
Manda bem
Mensagens: 109
Registrado em: Qua Mai 05, 2010 9:27 pm

Re: V3 - Travar cliente já cadastrado (resolvido)

Mensagem por Rodrigo »

Fala Mauro,

Gostaria de agradecer a sua ajuda. Conseguir resolver a questão. O problema é era que eu não tinha definido o caminho.

Agoar está ok.
Muito Brigado


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder