Formulário com uso de classes

Text Box, Form's, rotinas, etc.
Regras do fórum
Sua dúvida foi respondida? Marque como RESOLVIDO em seus tópicos, usando o botão com marca verde. Imagem

Formulário com uso de classes

Mensagempor MarceloCB » Qui Mai 16, 2019 3:08 pm

Olá a todos,

Não sei se tópico está no local correto, porém vamos lá.
Estou criando um formulário para cadastro e busca de itens, consigo fazer o cadastro normalmente, indo cada item para seu campo corretamente, o problema ocorre quando vou tentar fazer a busca.
Como funciona: após atualização no campo do nome, o sistema pega esse nome informado e o "joga" para uma classe para encontrar um número de linha onde correspondências se coincidem, registrando esse número de linha.
Após isso, outro campo onde contém informação onde gostaria que mostrasse, pega esse número de linha que contem mesma correspondência com número da coluna correspondente.
O erro ocorre pois no método para encontrar o número de linha, funciona normalmente, porém quando vou buscar esse valor, ele informa como 0
Classe:
Código: Selecionar todos
Option Explicit

Private Equal As Boolean 'informa se projeto já existe ou não - momento inserção - fazer
Private PjtNo As Integer 'número linha vazia
Private LineNo As Integer 'número linha correspondencia igual

Public Sub NameSearch() 'busca pelo nome
    EmptyLine
   
    'encontra numero da linha onde informações correspondem
    LineNo = WorksheetFunction.Match(FullForm.schName.Value, Sheets("Data").Range("B:B"), 1)
   
End Sub

Property Get SearchLineNo() As Integer 'retorna valor da linha
    SearchLineNo = LineNo 'Line No se encontra zerado(PQ?)
       
End Property


Código do formuláio:
Código: Selecionar todos
Private Sub schName_AfterUpdate()
    Dim Class As New clsForm 'cria nova classe
   
    If schName.Value = "" Then
        ClearFields
    End If
   
    If schName.Value <> "" Then
      Class.NameSearch 'chama funcao presente na classe para encontrar número da linha correspondente
      ShowResult
    End If
   
End Sub

Private Sub ShowResult() '39 campos de formulario
    Dim Class As New clsForm
    'retorna ao campo de busca o valor da celula linha: correspondencia coluna: 17
    schPE.Value = Sheets("Data").Cells(Class.SearchLineNo, 17).Value

End Sub
MarceloCB
Membro
Membro
 
Mensagens: 1
Registrado em: Qui Mai 16, 2019 2:52 pm
Has thanked: 0 time
Have thanks: 0 time

{ SO_SELECT }

Re: Formulário com uso de classes

Mensagempor wagner » Qui Mai 16, 2019 10:29 pm

MarceloCB,

Boa noite!

Seja muito bem vindo ao fórum.

DICAS para aproveitar ao máximo o fórum e sempre manter o mesmo de forma organizada, sugiro ler os tópico da regras abaixo:
viewtopic.php?f=7&t=16757
viewtopic.php?f=7&t=203
viewtopic.php?f=7&t=7903
viewtopic.php?f=7&t=3841
viewtopic.php?f=7&t=12600
viewtopic.php?f=7&t=3371

Algumas solicitações especiais que pedimos, por gentileza, ficar atento:
1 - Não inserir no titulo de suas postagens expressões como Help, Ajuda, etc. O título deve ser um resumo da sua necessidade para que outras pessoas que tenham a mesma dúvida possam efetuar a pesquisa e achar como foi resolvido.
2 - Não insira em suas mensagens frases todas escritas em letras maiúsculas. Isso, na Internet, é compreendido como gritos e muitos usuários sequer respondem somente por esse fato!
3 - Insira sempre um arquivo exemplo compactado com .ZIP aqui mesmo no fórum. Existe, logo abaixo da caixa de mensagens, uma aba chamada "Adicionar um anexo" para essa finalidade. O arquivo exemplo deve ser pequeno, com apenas 5 linhas no máximo, compactado com .ZIP e ter o mesmo layout (nome do arquivo, nome das abas/guias/folhas, mesma linha/coluna onde os dados se iniciam) do arquivo original. Links de arquivos enviados para sites de compartilhamento de arquivos, muitas vezes são bloqueados pelas empresas, por conterem muitos vírus. Alguns usuários que acessam o fórum a partir de empresas não conseguem baixar tais arquivos.
4 - Não utilize a ferramenta CITAR para inserir o inteiro teor das mensagens que lhe são encaminhadas como resposta. Citações, se estritamente necessárias ao entendimento da mensagem que você quer enviar, devem ser apenas de pequenos trechos das mensagens.
5 - Se for postar códigos VBA aqui no fórum, utilize a ferramenta CODE localizada logo no início da caixa de mensagens (quinto botão da esquerda para a direita). As linhas de código devem ficar entre as palavras "CODE e /CODE".
6 - Agradeça sempre às pessoas que lhe responderam e às mensagens que atenderam a necessidade de sua demanda. Esse agradecimento deve ser clicando na mãozinha que fica localizada ao lado da ferramenta CITAR. Lembre-se: o fórum é gratuito e esse é o único incentivo para as pessoas que prestam ajuda. Você pode agradecer a quantos usuários quiser.
7 - O título ou o texto das mensagens postadas não devem ser escritos todo em letras maiúsculas. Na internet, tudo escrito em letras maiúsculas é interpretado como gritos e muitos usuários sequer olham para esse tipo de mensagem.
8 - Não Utilize o Botão CITAR para efetuar as suas respostas. Para fazer isso use apenas o Botão RESPONDER.
Se a resposta foi útil para você, por gentileza, Amigo, clique na mãozinha ao lado direito da ferramenta CITAR, no canto superior direito.

Atenciosamente
Wagner Morel
Avatar do usuário
wagner
Moderador
Moderador
 
Mensagens: 5247
Registrado em: Sáb Out 20, 2012 12:49 pm
Localização: Fortaleza - CE
Has thanked: 93 times
Have thanks: 2243 times


Voltar para Formulários

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 0 visitantes