Galera, mais uma vez recorro a vocês para me auxiliarem em um problema no meu BD.
Olhem o que acontece e se puder, me ajudem, os dados que seguem são apenas exemplo:
Tenho um BD, onde na tabela de "Cadastrodefuncionário"
tem as seguintes colunas: codigofunc; nomefunc; dataentrada;datasaída e outros vários....
Tenho um formulário e nesse formulário uma caixa de listagem onde relaciono os funcionários ativos:
Para relacionar apenas os funcionários ativos, fiz uma consulta e na propriedade da caixa de listagem, na aba dados, opção "Origem da Linha" tenho a seguinte linha de comando:
SELECT [ConsultaFuncAtivos].[Nomefunc] FROM ConsultaFuncAtivos ORDER BY [Nomefunc];
a lista funciona perfeitamente.
Quando clico no nome do funcionário, os dados do registro do funcionário selecionado são buscados na tabela e mostrados em outros campos no formulário, para eventual alteração. Para isso, na caixa de listagem, aba evento, opção "Após Atualizar", tenho uma macro, com as seguintes linhas:
Private Sub Lista64_AfterUpdate()
Dim rs As Object
Set rs = Me.Recordset.Clone
rs.FindFirst "[Nomefunc] = '" & Me![Lista64] & "'"
If Not rs.EOF Then Me.Bookmark = rs.Bookmark
End Sub
Até a presente data tudo funcionava perfeitamente, até ocorrer a seguinte situação.
Exemplo, um funcionário, chamaremos de Tício, entra na empresa em 01/01/2000 e sai em 31/12/2011, o cadastro dele recebe o "codigofunc" nº 10.
Por qualquer questão, o Tício volta a trabalhar na empresa, entra em 01/01/2014 e está trabalhando. Assim, cadastrado novo, agora em 2014 recebe o "codigofunc" nº 250.
o que está acontecendo, na caixa de listagem, aparece somente um nome para Tício, porém quando ele é selecionado aparece os dados do registro nº. 10, com dados desatualizados e não os novos dados cadastrados no registro 250.
Não sou expert em VBA, sou meio que autodidata e auxiliado pelos Fóruns da vida. Obrigado a todos.
Assim, pelo pouco que entendo essa macro que tenho na aba evento deveria trazer os registros da consulta, porém como direcioná-la.
Gostaria de uma ajuda,
desde já agradeço a atenção.
Olhem o que acontece e se puder, me ajudem, os dados que seguem são apenas exemplo:
Tenho um BD, onde na tabela de "Cadastrodefuncionário"
tem as seguintes colunas: codigofunc; nomefunc; dataentrada;datasaída e outros vários....
Tenho um formulário e nesse formulário uma caixa de listagem onde relaciono os funcionários ativos:
Para relacionar apenas os funcionários ativos, fiz uma consulta e na propriedade da caixa de listagem, na aba dados, opção "Origem da Linha" tenho a seguinte linha de comando:
SELECT [ConsultaFuncAtivos].[Nomefunc] FROM ConsultaFuncAtivos ORDER BY [Nomefunc];
a lista funciona perfeitamente.
Quando clico no nome do funcionário, os dados do registro do funcionário selecionado são buscados na tabela e mostrados em outros campos no formulário, para eventual alteração. Para isso, na caixa de listagem, aba evento, opção "Após Atualizar", tenho uma macro, com as seguintes linhas:
Private Sub Lista64_AfterUpdate()
Dim rs As Object
Set rs = Me.Recordset.Clone
rs.FindFirst "[Nomefunc] = '" & Me![Lista64] & "'"
If Not rs.EOF Then Me.Bookmark = rs.Bookmark
End Sub
Até a presente data tudo funcionava perfeitamente, até ocorrer a seguinte situação.
Exemplo, um funcionário, chamaremos de Tício, entra na empresa em 01/01/2000 e sai em 31/12/2011, o cadastro dele recebe o "codigofunc" nº 10.
Por qualquer questão, o Tício volta a trabalhar na empresa, entra em 01/01/2014 e está trabalhando. Assim, cadastrado novo, agora em 2014 recebe o "codigofunc" nº 250.
o que está acontecendo, na caixa de listagem, aparece somente um nome para Tício, porém quando ele é selecionado aparece os dados do registro nº. 10, com dados desatualizados e não os novos dados cadastrados no registro 250.
Não sou expert em VBA, sou meio que autodidata e auxiliado pelos Fóruns da vida. Obrigado a todos.
Assim, pelo pouco que entendo essa macro que tenho na aba evento deveria trazer os registros da consulta, porém como direcioná-la.
Gostaria de uma ajuda,
desde já agradeço a atenção.