Olá mestres...
Estou quebrando a cabeça com uma caixa de listagem, não consegui achar a solução. Sinto que é coisa boba, mas não consigo achar
Tenho a seguinte estrutura no meu projeto:
- Uma tbl e um form para cadastro de funcionário
- Uma tbl e um form para contratação de funcionários (nem todo funcionário cadastrado está contratado)
- Uma tbl e um form para fazer um histórico de ocorrências do funcionário (geração de controle de dispensas, faltas injustificadas, advertências, férias, etc...)
- Uma tbl e form para lançamento de folha de pagamento
O meu problema está no form de contratação, onde eu tenho os campos do form, alguns controles e uma caixa de listagem abaixo para visualização dos dados inseridos. Junto a essa caixa, tenho um grupo de opções, onde configurei alguns filtros. Até aqui funciona bem.
Eis o problema: Quando eu clico em alguma linha da caixa de listagem, deveria aparecer os dados da linha nos campos do form (tenho vários forms no projetos, todos funcionam super bem), porém isso não acontece de jeito nenhum, já tentei de quase tudo, nada soluciona (clico na caixa de combinação e nada acontece). Já esgotei as opções que eu conheço e nada resolve.
Abaixo deixo um print do form e também o código que uso nos filtros.
Código dos filtros
Estou quebrando a cabeça com uma caixa de listagem, não consegui achar a solução. Sinto que é coisa boba, mas não consigo achar
Tenho a seguinte estrutura no meu projeto:
- Uma tbl e um form para cadastro de funcionário
- Uma tbl e um form para contratação de funcionários (nem todo funcionário cadastrado está contratado)
- Uma tbl e um form para fazer um histórico de ocorrências do funcionário (geração de controle de dispensas, faltas injustificadas, advertências, férias, etc...)
- Uma tbl e form para lançamento de folha de pagamento
O meu problema está no form de contratação, onde eu tenho os campos do form, alguns controles e uma caixa de listagem abaixo para visualização dos dados inseridos. Junto a essa caixa, tenho um grupo de opções, onde configurei alguns filtros. Até aqui funciona bem.
Eis o problema: Quando eu clico em alguma linha da caixa de listagem, deveria aparecer os dados da linha nos campos do form (tenho vários forms no projetos, todos funcionam super bem), porém isso não acontece de jeito nenhum, já tentei de quase tudo, nada soluciona (clico na caixa de combinação e nada acontece). Já esgotei as opções que eu conheço e nada resolve.
Abaixo deixo um print do form e também o código que uso nos filtros.
Código dos filtros
- Código:
Sub Filtro()
Dim strSQL As String
If Me.Opg = 1 Then 'funcionarios fixos
strSQL = "SELECT tab_CONTRATACAO.[DATA ADMISSAO] AS ADMISSÃO, tab_CADASTRO_FUNCIONARIO.[NOME COMPLETO], tab_CONTRATACAO.MATRICULA, tab_CONTRATACAO.PIS, [cad Safras].[Ano safra] AS SAFRA, [cad Culturas].Cultura AS CULTURA, tab_CONTRATACAO.TIPO_CONTRATO AS CONTRATO FROM tab_CADASTRO_FUNCIONARIO INNER JOIN ([cad Culturas] INNER JOIN ([cad Safras] INNER JOIN tab_CONTRATACAO ON [cad Safras].[Ano safra] = tab_CONTRATACAO.ID_SAFRA) ON [cad Culturas].Id = tab_CONTRATACAO.ID_CULTURA) ON tab_CADASTRO_FUNCIONARIO.ID = tab_CONTRATACAO.ID_FUNCIONARIO WHERE (((tab_CONTRATACAO.TIPO_CONTRATO)='FIXO') AND ((tab_CONTRATACAO.[DATA DEMISSAO]) Is Null));"
ElseIf Me.Opg = 2 Then 'funcionários safristas
strSQL = "SELECT tab_CONTRATACAO.[DATA ADMISSAO] AS ADMISSÃO, tab_CADASTRO_FUNCIONARIO.[NOME COMPLETO], tab_CONTRATACAO.MATRICULA, tab_CONTRATACAO.PIS, [cad Safras].[Ano safra] AS SAFRA, [cad Culturas].Cultura AS CULTURA, tab_CONTRATACAO.TIPO_CONTRATO AS CONTRATO FROM tab_CADASTRO_FUNCIONARIO INNER JOIN ([cad Culturas] INNER JOIN ([cad Safras] INNER JOIN tab_CONTRATACAO ON [cad Safras].[Ano safra] = tab_CONTRATACAO.ID_SAFRA) ON [cad Culturas].Id = tab_CONTRATACAO.ID_CULTURA) ON tab_CADASTRO_FUNCIONARIO.ID = tab_CONTRATACAO.ID_FUNCIONARIO WHERE (((tab_CONTRATACAO.TIPO_CONTRATO)='SAFRA') AND ((tab_CONTRATACAO.[DATA DEMISSAO]) Is Null));"
ElseIf Me.Opg = 4 Then
strSQL = "SELECT tab_CONTRATACAO.DATA, tab_CONTRATACAO.[DATA ADMISSAO], tab_CONTRATACAO.MATRICULA, tab_CONTRATACAO.PIS, tab_CONTRATACAO.ID_SAFRA, tab_CONTRATACAO.ID_CULTURA, tab_CONTRATACAO.TIPO_CONTRATO, tab_CONTRATACAO.ID_FUNCIONARIO, tab_CONTRATACAO.[CUSTO DA ADMISSAO], tab_CONTRATACAO.[CUSTO DA DEMISSAO], tab_CONTRATACAO.[DATA DEMISSAO], tab_CONTRATACAO.[MOTIVO DEMISSAO], tab_CONTRATACAO.NOTA FROM tab_CADASTRO_FUNCIONARIO INNER JOIN ([cad Culturas] INNER JOIN ([cad Safras] INNER JOIN tab_CONTRATACAO ON [cad Safras].[Ano safra] = tab_CONTRATACAO.ID_SAFRA) ON [cad Culturas].Id = tab_CONTRATACAO.ID_CULTURA) ON tab_CADASTRO_FUNCIONARIO.ID = tab_CONTRATACAO.ID_FUNCIONARIO;"
Else 'demitidos
strSQL = "SELECT tab_CONTRATACAO.[DATA ADMISSAO] AS ADMISSÃO, tab_CADASTRO_FUNCIONARIO.[NOME COMPLETO], tab_CONTRATACAO.MATRICULA, tab_CONTRATACAO.PIS, [cad Safras].[Ano safra] AS SAFRA, [cad Culturas].Cultura AS CULTURA, tab_CONTRATACAO.TIPO_CONTRATO AS CONTRATO, tab_CONTRATACAO.[DATA DEMISSAO] FROM tab_CADASTRO_FUNCIONARIO INNER JOIN ([cad Culturas] INNER JOIN ([cad Safras] INNER JOIN tab_CONTRATACAO ON [cad Safras].[Ano safra] = tab_CONTRATACAO.ID_SAFRA) ON [cad Culturas].Id = tab_CONTRATACAO.ID_CULTURA) ON tab_CADASTRO_FUNCIONARIO.ID = tab_CONTRATACAO.ID_FUNCIONARIO WHERE (((tab_CONTRATACAO.[DATA DEMISSAO])>1));"
End If
Me.lista.RowSource = strSQL
End Sub
Private Sub Opg_AfterUpdate()
Call Filtro
End Sub
Private Sub Opg_BeforeUpdate(Cancel As Integer)
Call Filtro
End Sub
Private Sub Opg_Click()
Call Filtro
End Sub
- Anexos
- Capturar.jpg
- Você não tem permissão para fazer download dos arquivos anexados.
- (22 Kb) Baixado 15 vez(es)
Última edição por paulo.teixeira em 30/6/2023, 18:21, editado 1 vez(es)