Vídeo recomendado
https://youtu.be/diWPPPhW-9E
https://youtu.be/diWPPPhW-9E
Form carregar Registro Conforme Opção [RESOLVIDO]
-
- Colaborador
- Mensagens: 74
- Registrado em: Qua Jul 25, 2012 12:42 pm
- Localização: Montes Claros-MG
Form carregar Registro Conforme Opção [RESOLVIDO]
Pessoal,
Eu uso a função abaixo pra carregar um formulário:
Private Sub CarregaRegistro()
'carrega os dados do primeiro registro
If Not IsEmpty(.Cells(indiceregistro, colCod)) Then
Me.txtCod.Text = .Cells(indiceregistro, colCod).Value
Me.CombAtivos.Value = .Cells(indiceregistro, colNomedoAtivo).Value
Me.TxtTipo.Text = .Cells(indiceregistro, colTipo).Value
Me.txtStatus.Text = .Cells(indiceregistro, colStatus).Value
End Sub
Na Coluna 2, chamada colStatus tenho 2 status: Ativo e Inativo.
Quando o form é aberto, carrega todos os dados, seja Ativo ou Inativo.
Como fazer pro usuário optar por Carregar no Form conforme a sua conveniência?
Ou seja, filtrar por Status: Ativo, Inativo, ou Todos.
Grato,
Pedro
Eu uso a função abaixo pra carregar um formulário:
Private Sub CarregaRegistro()
'carrega os dados do primeiro registro
If Not IsEmpty(.Cells(indiceregistro, colCod)) Then
Me.txtCod.Text = .Cells(indiceregistro, colCod).Value
Me.CombAtivos.Value = .Cells(indiceregistro, colNomedoAtivo).Value
Me.TxtTipo.Text = .Cells(indiceregistro, colTipo).Value
Me.txtStatus.Text = .Cells(indiceregistro, colStatus).Value
End Sub
Na Coluna 2, chamada colStatus tenho 2 status: Ativo e Inativo.
Quando o form é aberto, carrega todos os dados, seja Ativo ou Inativo.
Como fazer pro usuário optar por Carregar no Form conforme a sua conveniência?
Ou seja, filtrar por Status: Ativo, Inativo, ou Todos.
Grato,
Pedro
Editado pela última vez por pedrobb em Dom Ago 27, 2017 6:48 pm, em um total de 1 vez.
Re: Form carregar Registro Conforme Opção
pedrobb,
Para aplicar um filtro ao carregar os dados, adicione OptionButtons ou um ComboBox com os Status citados, e na rotina de carga, adicione a linha contendo o filtro.
Exemplo para o ComboBox:
Exemplo para os OptionButtons:
Experimente e retorne ok?
Abs
Para aplicar um filtro ao carregar os dados, adicione OptionButtons ou um ComboBox com os Status citados, e na rotina de carga, adicione a linha contendo o filtro.
Exemplo para o ComboBox:
Código: Selecionar todos
Private Sub CarregaRegistro()
'carrega os dados do primeiro registro
If Not IsEmpty(.Cells(indiceregistro, colCod)) Then
If ComboBox1 <>"TUDO" Or ComboBox1 <>"Tudo" Then
If .Cells(indiceregistro, colStatus) = Me.ComboBox1 Then 'linha para aplicar o filtro
Me.txtCod.Text = .Cells(indiceregistro, colCod).Value
Me.CombAtivos.Value = .Cells(indiceregistro, colNomedoAtivo).Value
Me.TxtTipo.Text = .Cells(indiceregistro, colTipo).Value
Me.txtStatus.Text = .Cells(indiceregistro, colStatus).Value
End If
Else
Me.txtCod.Text = .Cells(indiceregistro, colCod).Value
Me.CombAtivos.Value = .Cells(indiceregistro, colNomedoAtivo).Value
Me.TxtTipo.Text = .Cells(indiceregistro, colTipo).Value
Me.txtStatus.Text = .Cells(indiceregistro, colStatus).Value
End If
End If
End Sub
Código: Selecionar todos
'Filtrar apenas Ativos
Private Sub OptionButton1_Click()
'carrega os dados do primeiro registro
If Not IsEmpty(.Cells(indiceregistro, colCod)) And .Cells(indiceregistro, colStatus) = "Ativo" Then
Me.txtCod.Text = .Cells(indiceregistro, colCod).Value
Me.CombAtivos.Value = .Cells(indiceregistro, colNomedoAtivo).Value
Me.TxtTipo.Text = .Cells(indiceregistro, colTipo).Value
Me.txtStatus.Text = .Cells(indiceregistro, colStatus).Value
End If
End Sub
'Filtrar apenas Inativos
Private Sub OptionButton2_Click()
'carrega os dados do primeiro registro
If Not IsEmpty(.Cells(indiceregistro, colCod)) And .Cells(indiceregistro, colStatus) = "Inativo" Then
Me.txtCod.Text = .Cells(indiceregistro, colCod).Value
Me.CombAtivos.Value = .Cells(indiceregistro, colNomedoAtivo).Value
Me.TxtTipo.Text = .Cells(indiceregistro, colTipo).Value
Me.txtStatus.Text = .Cells(indiceregistro, colStatus).Value
End If
End Sub
'Todos os registros
Private Sub OptionButton3_Click()
'carrega os dados do primeiro registro
If Not IsEmpty(.Cells(indiceregistro, colCod)) Then
Me.txtCod.Text = .Cells(indiceregistro, colCod).Value
Me.CombAtivos.Value = .Cells(indiceregistro, colNomedoAtivo).Value
Me.TxtTipo.Text = .Cells(indiceregistro, colTipo).Value
Me.txtStatus.Text = .Cells(indiceregistro, colStatus).Value
End If
End Sub
Abs
-
- Colaborador
- Mensagens: 74
- Registrado em: Qua Jul 25, 2012 12:42 pm
- Localização: Montes Claros-MG
Re: Form carregar Registro Conforme Opção
Saulo,
Tentei com OptionButton.
Ao clicar no OptionButton1_Click() já sai do procedimento, pois o primeiro registro é "INATIVO".
Acho que precisa de While ou Do Until, Loop, etc, que é a minha dificuldade.
Pra facilitar, anexo um modelo.
Preciso que os Botões Ativos e Inativos funcionem.
Grato,
Pedro
Tentei com OptionButton.
Ao clicar no OptionButton1_Click() já sai do procedimento, pois o primeiro registro é "INATIVO".
Acho que precisa de While ou Do Until, Loop, etc, que é a minha dificuldade.
Pra facilitar, anexo um modelo.
Preciso que os Botões Ativos e Inativos funcionem.
Grato,
Pedro
- Anexos
-
- Investimento - TESTE.zip
- (394.82 KiB) Baixado 394 vezes
Re: Form carregar Registro Conforme Opção
pedrobb,
Fiz as modificações necessárias. Veja se é isso o que pretende ok?
Abs
Fiz as modificações necessárias. Veja se é isso o que pretende ok?
Abs
- Anexos
-
- Investimento - TESTE.zip
- (86.58 KiB) Baixado 425 vezes
-
- Colaborador
- Mensagens: 74
- Registrado em: Qua Jul 25, 2012 12:42 pm
- Localização: Montes Claros-MG
Re: Form carregar Registro Conforme Opção
Saulo,
Achei genial a sua idéia. Muito obrigado!
Ao passar pra minha planilha, está dando problema ao mover os registros.
Na Listbox, quando o cursor chega no último registro, as caixas de texto mostram os dados do cabeçalho.
Isso não ocorre no seu exemplo postado.
O que ocorre?
Achei genial a sua idéia. Muito obrigado!
Ao passar pra minha planilha, está dando problema ao mover os registros.
Na Listbox, quando o cursor chega no último registro, as caixas de texto mostram os dados do cabeçalho.
Isso não ocorre no seu exemplo postado.
O que ocorre?
Re: Form carregar Registro Conforme Opção
pedrobb,
Nos testes que realizei aqui, isso não ocorre. Vou verificar a possível causa disso e volto a postar aqui a solução.
Sua nova planilha possui a mesma estrutura de dados que a postada aqui? O ideal seria trabalharmos na planilha que você utilizará no dia-a-dia.
Abs
Nos testes que realizei aqui, isso não ocorre. Vou verificar a possível causa disso e volto a postar aqui a solução.
Sua nova planilha possui a mesma estrutura de dados que a postada aqui? O ideal seria trabalharmos na planilha que você utilizará no dia-a-dia.
Abs
Re: Form carregar Registro Conforme Opção
pedrobb,
Como vai amigo?
Favor, caso sua dúvida tenha sido sanada, edite o título de seu tópico com o texto [RESOLVIDO], ok?
Abs
Como vai amigo?
Favor, caso sua dúvida tenha sido sanada, edite o título de seu tópico com o texto [RESOLVIDO], ok?
Abs