MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

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


    [Resolvido]Erro Select Max pelo VBA

    avatar
    Feltz
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Erro Select Max pelo VBA Empty [Resolvido]Erro Select Max pelo VBA

    Mensagem  Feltz 15/10/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.forumeiros.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
    avatar
    Feltz
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Erro Select Max pelo VBA Empty Re: [Resolvido]Erro Select Max pelo VBA

    Mensagem  Feltz 15/10/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: 19/4/2024, 09:23