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


2 participantes

    [Resolvido]erro de sintaxe usando o MAX

    avatar
    fabiobarreto10
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 165
    Registrado : 15/12/2011

    [Resolvido]erro de sintaxe usando o MAX Empty erro de sintaxe usando o MAX

    Mensagem  fabiobarreto10 24/6/2012, 03:38

    Amigos, estou tentando fazer uma consulta com esta sql:

    SELECT TblAnalista.NomeDoAnalista, TblEmpresa.NomeDaEmpresa, TblProduto.NomeDoProduto, TblProduto.[Ativado], MAX(TblPassosStatus.CodPassosStatus), TblPassosStatus.DataRealizada
    FROM ((TblAnalista INNER JOIN TblEmpresa ON TblAnalista.CodAnalista=TblEmpresa.CodAnalista) INNER JOIN TblProduto ON TblEmpresa.CodEmpresa=TblProduto.CodEmpresa) INNER JOIN TblPassosStatus ON TblProduto.CodProduto=TblPassosStatus.CodProduto
    WHERE (((TblProduto.[Ativado])=Yes) AND ((TblPassosStatus.DataRealizada) Is Not Null));

    Estou precisando saber o maior valor do campo CodPassosStatus, por isso coloquei "MAX" na expressão, mas eu recebo a seguinte mensagem:

    Você tentou executar uma consulta que não inclui a expressão 'NomeDoAnalista' especificada como parte de uma função agregada.

    Obrigado por ajudar.
    avatar
    Convidado
    Convidado


    [Resolvido]erro de sintaxe usando o MAX Empty Re: [Resolvido]erro de sintaxe usando o MAX

    Mensagem  Convidado 24/6/2012, 03:59

    Disponibilize a tabela e consulta envolvidos para que possamos ver isso.

    Cumprimentos.
    avatar
    fabiobarreto10
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 165
    Registrado : 15/12/2011

    [Resolvido]erro de sintaxe usando o MAX Empty Re: [Resolvido]erro de sintaxe usando o MAX

    Mensagem  fabiobarreto10 24/6/2012, 06:13

    Piloto, obrigado por ajudar e por me guiar.

    Segue banco em anexo com as tabelas e a consulta.

    Obrigado.
    Anexos
    [Resolvido]erro de sintaxe usando o MAX AttachmentBanco de Dados7.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (28 Kb) Baixado 4 vez(es)
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8503
    Registrado : 05/11/2009

    [Resolvido]erro de sintaxe usando o MAX Empty Re: [Resolvido]erro de sintaxe usando o MAX

    Mensagem  Alexandre Neves 24/6/2012, 10:42

    Bom dia, fabio

    Experimente

    SELECT TblAnalista.NomeDoAnalista, TblEmpresa.NomeDaEmpresa, TblProduto.NomeDoProduto, TblProduto.[Ativado], MAX(TblPassosStatus.CodPassosStatus), TblPassosStatus.DataRealizada
    FROM ((TblAnalista INNER JOIN TblEmpresa ON TblAnalista.CodAnalista=TblEmpresa.CodAnalista) INNER JOIN TblProduto ON TblEmpresa.CodEmpresa=TblProduto.CodEmpresa) INNER JOIN TblPassosStatus ON TblProduto.CodProduto=TblPassosStatus.CodProduto
    WHERE TblProduto.[Ativado]=true AND Not IsNull(TblPassosStatus.DataRealizada) GROUP BY TblAnalista.NomeDoAnalista, TblEmpresa.NomeDaEmpresa, TblProduto.NomeDoProduto, TblProduto.[Ativado],TblPassosStatus.DataRealizada;
    avatar
    Convidado
    Convidado


    [Resolvido]erro de sintaxe usando o MAX Empty Re: [Resolvido]erro de sintaxe usando o MAX

    Mensagem  Convidado 24/6/2012, 13:31

    Testei e está Ok Mestre ALexandre... Aguardaremos o colega...

    Abraços...

    Ele só clicou no Joinha errado.. rsrs


    avatar
    fabiobarreto10
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 165
    Registrado : 15/12/2011

    [Resolvido]erro de sintaxe usando o MAX Empty Re: [Resolvido]erro de sintaxe usando o MAX

    Mensagem  fabiobarreto10 24/6/2012, 16:59

    Piloto e Alexandre, Obrigado. Funcionou, mas não como estou tentando.

    Estou tentando obter o máximo de Codpassos, ou seja um único registro, mas com data realizada com valor.
    Envio uma imagem em anexo, neste exemplo.

    eu gostaria de obter apenas o último registro(CodPassos 6154), com o valor DataRealizada 06/07/2012. Se neste caso o campo
    DataRealizada estiver vazio, não retorna nenhum registro.

    Como corrijo?

    Obrigado.
    Anexos
    [Resolvido]erro de sintaxe usando o MAX Attachmentmax.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (208 Kb) Baixado 6 vez(es)
    avatar
    Convidado
    Convidado


    [Resolvido]erro de sintaxe usando o MAX Empty Re: [Resolvido]erro de sintaxe usando o MAX

    Mensagem  Convidado 25/6/2012, 21:55

    Neste caso conforme for o seu uso, se quer retornar apenas um registro (o maior)

    Dependendo da utilização dessa informação seria melhor utilizar o Dmax, utilizando a data como critério..

    Descreva qual a utilização dessa informação no teu sistema.

    Cumprimentos.
    avatar
    fabiobarreto10
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 165
    Registrado : 15/12/2011

    [Resolvido]erro de sintaxe usando o MAX Empty Re: [Resolvido]erro de sintaxe usando o MAX

    Mensagem  fabiobarreto10 26/6/2012, 01:14

    Piloto,

    Estou tentando o seguinte, conforme a imagem que eu enviei: Eu tenho um tipo especifico de acompanhamento de produtos.
    Cada produto segue alguns passos(16 no total). Ao cadastrar um produto, este vem com um "kit" de passos, após o término deste
    kit, quem acompanha o produto tem que dar seguimento com o próximo passo (que não segue um padrão), ou finalizar o produto com dois
    passos especificos.

    A tentativa na minha consulta era: pegar o produto ativo, o último passo e se o campo DAtaRealizada deste último passo tiver um valor,
    eu saberia qual analista, empresa e produto estaria sem acompanhamento. Esta consulta seria usada para gerar um relatório.

    Eu tentei usar o Dmax (apenas coloquei o 'D' na frente do max), mas retornou um mensagem de erro:

    Número incorreto de argumentos usados com a função na expressão de consulta.

    Obrigado por ajudar.
    avatar
    Convidado
    Convidado


    [Resolvido]erro de sintaxe usando o MAX Empty Re: [Resolvido]erro de sintaxe usando o MAX

    Mensagem  Convidado 26/6/2012, 01:50

    O DMax não e utilizado assim...
    Se puder envie-nos o form envolvido e descreva o processo, para que possamos ver.

    Cumprimentos.
    avatar
    fabiobarreto10
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 165
    Registrado : 15/12/2011

    [Resolvido]erro de sintaxe usando o MAX Empty Re: [Resolvido]erro de sintaxe usando o MAX

    Mensagem  fabiobarreto10 26/6/2012, 02:16

    Estou enviando um bd com form (nome:fFiltros) se este não abrir automaticamente. O nome da consulta é: Falta de acompanhamento.

    No form, clique em assessor, depois escolha fabioteste, alguma empresa , acompanhamento e algum produto.

    Novamente, obrigado por ajudar.
    avatar
    Convidado
    Convidado


    [Resolvido]erro de sintaxe usando o MAX Empty Re: [Resolvido]erro de sintaxe usando o MAX

    Mensagem  Convidado 26/6/2012, 02:58

    Descreva todo o processo que utiliza no form... para que eu possa seguir.. e descreva sua necessidade.

    Cumprimentos.
    avatar
    fabiobarreto10
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 165
    Registrado : 15/12/2011

    [Resolvido]erro de sintaxe usando o MAX Empty Re: [Resolvido]erro de sintaxe usando o MAX

    Mensagem  fabiobarreto10 27/6/2012, 01:05

    Piloto, descupe por demorar a responder, estava sem internet.

    Estou tentando o seguinte. Eu tenho um tipo especifico de acompanhamento de produtos.
    Cada produto segue alguns passos(16 no total). Ao cadastrar um produto, este vem com um "kit" de passos, após o término deste
    kit, quem acompanha o produto tem que dar seguimento com o próximo passo (que não segue um padrão), ou finalizar o produto com dois
    passos especificos.

    A tentativa na minha consulta era: pegar o produto ativo, o último passo e se o campo DAtaRealizada deste último passo tiver um valor,
    eu saberia qual analista, empresa e produto estaria sem acompanhamento. Esta consulta seria usada para gerar um relatório.

    Obrigado por ajudar.
    avatar
    Convidado
    Convidado


    [Resolvido]erro de sintaxe usando o MAX Empty Re: [Resolvido]erro de sintaxe usando o MAX

    Mensagem  Convidado 27/6/2012, 03:41

    Veja este print, segui os teus passos e cheguei aqui..

    Me fale o que pretende, segundo esse print.

    [Resolvido]erro de sintaxe usando o MAX FabioBarreto
    avatar
    fabiobarreto10
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 165
    Registrado : 15/12/2011

    [Resolvido]erro de sintaxe usando o MAX Empty Re: [Resolvido]erro de sintaxe usando o MAX

    Mensagem  fabiobarreto10 27/6/2012, 14:08

    Segundo este print eu preciso saber o valor do campo data realizada do maximo valor do campo CodPassos(6125), neste caso o valor
    é nulo, ou seja o produto ainda esta em acompanhamento, com isso não retornaria nenhum registro. Agora se o valor do campo DataRealizada
    tivesse um valor, retornaria um registro.(Assessor, empresa e produto).

    Obrigado por ajudar.
    avatar
    fabiobarreto10
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 165
    Registrado : 15/12/2011

    [Resolvido]erro de sintaxe usando o MAX Empty Re: [Resolvido]erro de sintaxe usando o MAX

    Mensagem  fabiobarreto10 1/7/2012, 02:41

    Piloto, finalmente consegui resolver o meu problema com este código:


    Dim pegarCodProduto As Integer
    Dim pegarCodEmpresa As Integer
    Dim pegarCodAssessor As Integer
    Dim pegarNomeProduto As Variant
    Dim pegarNomeEmpresa As Variant
    Dim pegarNomeAssessor As Variant
    Dim pegarValorDRealizada As Variant
    Dim Db As Database, rs As Recordset, sql As String, rs2 As Recordset, rs3 As Recordset
    Set Db = CurrentDb
    Set rs = Db.OpenRecordset("SELECT Assessor FROM tblFaltaAcompanhamento")
    Set rs2 = Db.OpenRecordset("SELECT CodProduto FROM TblProduto WHERE Ativado = -1 ")



    If rs.BOF Then
    GoSub mark1
    Else
    CurrentDb.Execute "DELETE * FROM tblFaltaAcompanhamento"
    Me.Refresh
    End If
    mark1:



    rs2.MoveFirst

    While Not rs2.EOF

    pegarCodProduto = rs2.Fields(0)

    pegarNomeProduto = DLookup("NomeDoProduto", "TblProduto", "CodProduto =" & pegarCodProduto)

    pegarCodEmpresa = DLookup("CodEmpresa", "TblProduto", "CodProduto =" & pegarCodProduto)

    pegarNomeEmpresa = DLookup("NomeDaEmpresa", "TblEmpresa", "CodEmpresa =" & pegarCodEmpresa)

    pegarCodAssessor = DLookup("CodAnalista", "TblEmpresa", "CodEmpresa =" & pegarCodEmpresa)

    pegarNomeAssessor = DLookup("NomeDoAnalista", "TblAnalista", "CodAnalista =" & pegarCodAssessor)



    Set rs3 = Db.OpenRecordset("SELECT DataRealizada, CodPassosStatus FROM TblPassosStatus WHERE CodProduto =" & pegarCodProduto)

    rs3.MoveLast

    pegarValorDRealizada = rs3.Fields(0)

    If Not IsNull(pegarValorDRealizada) Then

    sql = "INSERT INTO tblFaltaAcompanhamento(Assessor, Empresa, Produto) VALUES ('" & pegarNomeAssessor & "', '" & pegarNomeEmpresa & "', '" & pegarNomeProduto & "')"

    Me.Refresh
    CurrentDb.Execute sql
    End If

    rs2.MoveNext
    Wend

    Dim teste As Variant
    Dim testeusuario As Variant
    Dim testeAssessor As Variant
    Dim contador1 As Integer
    Dim contador2 As Integer



    teste = DCount("[Assessor]", "tblFaltaAcompanhamento")

    If teste <> 0 Then

    DoCmd.OpenReport "Falta Acompanhamento", acViewPreview

    Else
    MsgBox "Todos os produtos estão ok!", vbInformation, "Aviso!"
    End If

    Acho que eu poderia ter feito uma simples consulta, mas como não consegui...

    Muito obrigado por ajudar.
    avatar
    Convidado
    Convidado


    [Resolvido]erro de sintaxe usando o MAX Empty Re: [Resolvido]erro de sintaxe usando o MAX

    Mensagem  Convidado 1/7/2012, 14:05

    Que bom.. Se resolveu, Resolvido está.


    O Fórum agradece o retorno.
    avatar
    fabiobarreto10
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 165
    Registrado : 15/12/2011

    [Resolvido]erro de sintaxe usando o MAX Empty Re: [Resolvido]erro de sintaxe usando o MAX

    Mensagem  fabiobarreto10 1/7/2012, 17:58

    Obrigado.

    Conteúdo patrocinado


    [Resolvido]erro de sintaxe usando o MAX Empty Re: [Resolvido]erro de sintaxe usando o MAX

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 27/11/2024, 06:03