MaximoAccess

Caro Usuário, não tire as suas duvidas nas Salas de Repositório, abra sempre um novo tópico relacionado, nas salas destinadas para o efeito, como Sala de Tabelas, Consultas, Formulários, Relatórios, Macros, Módulos e VBA.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    [Resolvido]Erro Select Max pelo VBA

    Compartilhe

    Feltz
    Novato
    Novato

    Respeito às Regras 100%

    Localização : Anónimo
    Mensagens : 18
    Registrado : 15/12/2009

    [Resolvido]Erro Select Max pelo VBA

    Mensagem  Feltz em Qua 15 Out 2014, 15:28

    Bom dia amigos,

    Preciso de uma ajuda para resolver um probleminha...
    Eu preciso fazer um select para buscar um setor em uma determinada data... Dai estou tentando fazer um Select onde a segunda condição é um Select Max, mas acho que estou errando algo na segunda condição...

    No select (nº 2 abaixo) está gerando o erro: Item não encontrado nesta coleção, conseguem me ajudar?

    Código:
    Sub SetorNaData()
    'http://maximoaccess.maisforum.com/t2595-resolvidousar-o-select-no-vba-para-preencher-um-formulario-com-dados-de-outra-tabela

    Dim db As DAO.Database
    Dim rs As DAO.Recordset
    Dim strSQL As String

    VMatricula = 3
    VCompetencia = #1/1/2014#

    '1ª Select + 1º critério da clausula where = OK
    'strSQL = "Select [DT_ALT_HIS_SETOR] FROM [TBL_HIS_SETOR] WHERE [ID_FUNC] = " & VMatricula

    '2ª Select Max que vai ser a 2ª condição do select anterior = ERRO: Item não encontrado nesta coleção
    strSQL = "Select Max ([DT_ALT_HIS_SETOR]) FROM [TBL_HIS_SETOR] WHERE [ID_FUNC] = " & VMatricula & "AND [DT_ALT_HIS_SETOR] <= " & VCompetencia

    '3º unificar select 1 e 2


    Set db = CurrentDb
    Set rs = db.OpenRecordset(strSQL)
    If Not rs.BOF Then
       VMat = rs("[DT_ALT_HIS_SETOR]")
       MsgBox VMat
    End If

    rs.Close
    Set rs = Nothing
    db.Close
    Set db = Nothing
    End Sub

    Abraço,
    Feltz

    Feltz
    Novato
    Novato

    Respeito às Regras 100%

    Localização : Anónimo
    Mensagens : 18
    Registrado : 15/12/2009

    Re: [Resolvido]Erro Select Max pelo VBA

    Mensagem  Feltz em Qua 15 Out 2014, 16:33

    Consegui achar o problema da instrução, faltava colocar um AS NOME antes do FROM...

    Código corrigido:

    Código:
    strSQL = "Select Max ([DT_ALT_HIS_SETOR]) AS DATA_HIS FROM [TBL_HIS_SETOR] WHERE [ID_FUNC] = " & VMatricula & "AND [DT_ALT_HIS_SETOR] <= #" & VCompetencia & "#"

    Obrigado.
    Att,
    Luis

      Data/hora atual: Qui 08 Dez 2016, 00:03