Vídeo recomendado
https://youtu.be/diWPPPhW-9E
https://youtu.be/diWPPPhW-9E
V3 - Travar cliente já cadastrado (resolvido)
V3 - Travar cliente já cadastrado (resolvido)
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
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.
Re: V3 - Travar cliente já cadastrado
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
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
- Mauro Coutinho
- 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
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
[]s
Re: V3 - Travar cliente já cadastrado
Mauro,
Estou usando um texbox . Poderia ser um pouco mais detalhado na questão do AfterUpdate, Exit.... ? Não entedi como fazer.
Obrigado.
Estou usando um texbox . Poderia ser um pouco mais detalhado na questão do AfterUpdate, Exit.... ? Não entedi como fazer.
Obrigado.
- Mauro Coutinho
- 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
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.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.
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
Re: V3 - Travar cliente já cadastrado
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 ?
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 ?
- Mauro Coutinho
- 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
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:
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
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
abraços
Re: V3 - Travar cliente já cadastrado
Fala Mauro,
Gostário de agradecer a sua paciencia comigo . 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.
Gostário de agradecer a sua paciencia comigo . 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
Re: V3 - Travar cliente já cadastrado (resolvido)
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
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