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]Ajuda em consulta SQL

    avatar
    Jacir
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 44
    Registrado : 09/01/2011

    [Resolvido]Ajuda em consulta SQL Empty [Resolvido]Ajuda em consulta SQL

    Mensagem  Jacir 12/5/2011, 17:17

    Olá, preciso criar uma consulta SQL/vba que filtre sempre as duas vendas mais recentes (de acordo com a data), considerando o CodigoCliente e CodigoProduto
    CodigoCliente CodigoProduto DataVenda Valor
    1 1 01/05/2011 45
    1 1 02/05/2011 34
    1 1 03/05/2011 23
    1 1 04/05/2011 23
    1 2 01/05/2011 14
    1 2 02/05/2011 16
    1 2 03/05/2011 17
    1 2 04/05/2011 32
    2 1 01/05/2011 45
    2 1 02/05/2011 34
    2 1 03/05/2011 23
    2 1 04/05/2011 23
    2 2 01/05/2011 14
    2 2 02/05/2011 16
    2 2 03/05/2011 17
    2 2 04/05/2011 32

    Considerando a tabela acima, o resultado ficaria:
    CodigoCliente CodigoProduto DataVenda Valor
    1 1 03/05/2011 23
    1 1 04/05/2011 23
    1 2 03/05/2011 17
    1 2 04/05/2011 32
    2 1 03/05/2011 23
    2 1 04/05/2011 23
    2 2 03/05/2011 17
    2 2 04/05/2011 32

    Obrigado,
    Jacir.
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Ajuda em consulta SQL Empty Re: [Resolvido]Ajuda em consulta SQL

    Mensagem  Alexandre Neves 12/5/2011, 21:18

    Boa noite, Jacir

    À primeira vista, eu utilizaria este código (verifique se funciona):
    'texto SQL
    SELECT CodigoCliente, CodigoProduto, Last(DataVenda), Last(Valor) FROM TabelaVendas GROUP BY CodigoCliente, CodigoProduto UNION SELECT CodigoCliente, CodigoProduto, PenData(CodigoCliente,CodigoProduto), PenValor(CodigoCliente,CodigoProduto) FROM TabelaVendas GROUP BY CodigoCliente, CodigoProduto

    'Criar duas funções
    Function PenData(Cliente As Integer,Produto as Integer) As Date
    Dim Rst As DAO.Recordset
    Set Rst = CurrentDb.OpenRecordset("SELECT DataVenda FROM TabelaVendas WHERE CodigoCliente=" & Cliente & " and CodigoProduto=" & Produto & " ORDER BY DataVenda DESC;")
    If Not Rst.EOF Then
    Rst.MoveNext
    If Not Rst.EOF Then PenData = Rst(0)
    End If
    End Function

    Function PenValor(Cliente As Integer,Produto as Integer) As Date
    Dim Rst As DAO.Recordset
    Set Rst = CurrentDb.OpenRecordset("SELECT DataVenda, Valor FROM TabelaVendas WHERE CodigoCliente=" & Cliente & " and CodigoProduto=" & Produto & " ORDER BY DataVenda DESC;")
    If Not Rst.EOF Then
    Rst.MoveNext
    If Not Rst.EOF Then PenData = Rst(1)
    End If
    End Function

    Cumprimentos,
    avatar
    Jacir
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 44
    Registrado : 09/01/2011

    [Resolvido]Ajuda em consulta SQL Empty Não deu certo. Deu erro.

    Mensagem  Jacir 12/5/2011, 22:47

    Oi Alexandre, obrigado pela resposta.
    Ocorreu um erro.
    Copiei ele em anexo
    Anexos
    [Resolvido]Ajuda em consulta SQL AttachmentDoc1.docx
    Você não tem permissão para fazer download dos arquivos anexados.
    (80 Kb) Baixado 6 vez(es)
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Ajuda em consulta SQL Empty Re: [Resolvido]Ajuda em consulta SQL

    Mensagem  Alexandre Neves 12/5/2011, 22:52

    Claro, Jacir

    Substitua PenData por PenValor
    Cumprimentos,
    avatar
    Jacir
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 44
    Registrado : 09/01/2011

    [Resolvido]Ajuda em consulta SQL Empty Resolvido

    Mensagem  Jacir 13/5/2011, 01:23

    Alexandre, e se ao invés dos dois primeiros, quisesse os 3 primeiros. É só mudar?
    Onde que eu deveria mudar?
    Se puder me dar mais essa dica, fico agradecido.
    Obrigado,
    Jacir.
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Ajuda em consulta SQL Empty Re: [Resolvido]Ajuda em consulta SQL

    Mensagem  Alexandre Neves 13/5/2011, 09:34

    Bom dia, Jacir

    O fórum serve para tirar dúvidas e, a partir daí, cada um deve aprender. Não deve esperar o pronto-a-servir.
    No entanto, deixo-lhe o código também para que o estude.
    SELECT CodigoCliente, CodigoProduto, Last(DataVenda), Last(Valor) FROM TabelaVendas GROUP BY CodigoCliente, CodigoProduto UNION SELECT CodigoCliente, CodigoProduto, PenData(CodigoCliente,CodigoProduto), PenValor(CodigoCliente,CodigoProduto) FROM TabelaVendas GROUP BY CodigoCliente, CodigoProduto UNION SELECT CodigoCliente, CodigoProduto, PenData2(CodigoCliente,CodigoProduto), PenValor2(CodigoCliente,CodigoProduto) FROM TabelaVendas GROUP BY CodigoCliente, CodigoProduto

    Function PenData(Cliente As Integer,Produto as Integer) As Date
    Dim Rst As DAO.Recordset
    Set Rst = CurrentDb.OpenRecordset("SELECT DataVenda FROM TabelaVendas WHERE CodigoCliente=" & Cliente & " and CodigoProduto=" & Produto & " ORDER BY DataVenda DESC;")
    If Not Rst.EOF Then
    Rst.MoveNext
    If Not Rst.EOF Then PenData = Rst(0)
    End If
    End Function

    Function PenValor(Cliente As Integer,Produto as Integer) As Date
    Dim Rst As DAO.Recordset
    Set Rst = CurrentDb.OpenRecordset("SELECT DataVenda, Valor FROM TabelaVendas WHERE CodigoCliente=" & Cliente & " and CodigoProduto=" & Produto & " ORDER BY DataVenda DESC;")
    If Not Rst.EOF Then
    Rst.MoveNext
    If Not Rst.EOF Then PenValor = Rst(1)
    End If
    End Function

    Function PenData2(Cliente As Integer,Produto as Integer) As Date
    Dim Rst As DAO.Recordset
    Set Rst = CurrentDb.OpenRecordset("SELECT DataVenda FROM TabelaVendas WHERE CodigoCliente=" & Cliente & " and CodigoProduto=" & Produto & " ORDER BY DataVenda DESC;")
    If Not Rst.EOF Then
    Rst.MoveNext
    Rst.MoveNext
    If Not Rst.EOF Then PenData2 = Rst(0)
    End If
    End Function

    Function PenValor2(Cliente As Integer,Produto as Integer) As Date
    Dim Rst As DAO.Recordset
    Set Rst = CurrentDb.OpenRecordset("SELECT DataVenda, Valor FROM TabelaVendas WHERE CodigoCliente=" & Cliente & " and CodigoProduto=" & Produto & " ORDER BY DataVenda DESC;")
    If Not Rst.EOF Then
    Rst.MoveNext
    Rst.MoveNext
    If Not Rst.EOF Then PenValor2 = Rst(1)
    End If
    End Function

    Cumprimentos,
    avatar
    Jacir
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 44
    Registrado : 09/01/2011

    [Resolvido]Ajuda em consulta SQL Empty Resolvido

    Mensagem  Jacir 13/5/2011, 14:51

    Obrigado. Jacir.
    avatar
    Jacir
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 44
    Registrado : 09/01/2011

    [Resolvido]Ajuda em consulta SQL Empty Incluir mais um campo de valor

    Mensagem  Jacir 17/5/2011, 04:15

    Oi Alexandre.
    Estou tentando inclui mais um campo de valor chamado ValorDesconto, o qual gostaria que estivesse no formulário.
    Tentei de todas maneiras, mas não consegui fazer.
    Poderia me dar uma dica.
    Obrigado amigo.
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Ajuda em consulta SQL Empty Re: [Resolvido]Ajuda em consulta SQL

    Mensagem  Alexandre Neves 17/5/2011, 15:52

    Boa tarde, Jacir

    Tem de estudar SQL.
    A instrução é SELECT Campo1, Campo2, ... FROM Tabela WHERE condição ORDER BY CampoOrdem;"
    Cumprimentos,
    avatar
    Jacir
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 44
    Registrado : 09/01/2011

    [Resolvido]Ajuda em consulta SQL Empty Quase

    Mensagem  Jacir 17/5/2011, 19:14

    Oi Alexandre, desculpe amigo.
    Tentei colocar os campos na sql mas dá o seguinte erro "o número de colunas nas duas tabelas ou consultas selecionadas de uma consulta união não coicidem."


    Desculpe amigo, mas tentei de tudo.

    Se puder me ajudar.

    Obrigado,

    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Ajuda em consulta SQL Empty Re: [Resolvido]Ajuda em consulta SQL

    Mensagem  Alexandre Neves 17/5/2011, 19:26

    Sim, e não consegue vislumbrar que tem que adicionar os campos nas duas selecções:
    SELECT CampoAdicionado, .... UNION SELECT CampoAdicionado ...
    Cumprimentos,
    avatar
    Jacir
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 44
    Registrado : 09/01/2011

    [Resolvido]Ajuda em consulta SQL Empty Obrigado Alexandre

    Mensagem  Jacir 17/5/2011, 20:16

    Amigo Alexandre, consegui fazer.

    Muito Obrigado amigo.

    Jacir.

    Conteúdo patrocinado


    [Resolvido]Ajuda em consulta SQL Empty Re: [Resolvido]Ajuda em consulta SQL

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 3/5/2024, 01:35