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

    Colocar o valor mais pequeno na horizontal

    avatar
    Motar
    Intermediário
    Intermediário

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 149
    Registrado : 03/08/2010

    Colocar o valor mais pequeno na horizontal Empty Colocar o valor mais pequeno na horizontal

    Mensagem  Motar 20/1/2015, 09:48

    Viva
    Pretendia saber o valor mais pequeno de um conjunto de registos e depois transferir esse valor para o cabeçalho na horizontal, sabendo que o agrupamento nunca será superior a 4 caixas de texto na horizontal.
    Como a descrição é bastante confusa, deixo um esquema para compreenderem melhor o que pretendo.
    Tem como fazer isto?
    Um Abraço
    hiperjohn
    hiperjohn
    Intermediário
    Intermediário

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 97
    Registrado : 06/06/2013

    Colocar o valor mais pequeno na horizontal Empty Use o Dmin

    Mensagem  hiperjohn 20/1/2015, 12:27

    Você pode usar a função Dmin para determinar o menor valor.

    A sintaxe da função é a seguinte:

    DMin ("Valor_Procurado","Domínio"," [Opcional]Critério de Procura")

    O Valor_Procurado é o nome de um campo da tabela ou consulta.
    O Domínio é a tabela ou consulta onde você tem de efetuar a busca.
    O Critério de Procura é opcional.
    As três variáveis, por serem strings, devem ser colocadas entre aspas.

    Suponhamos uma tabela chamada Produtos, com campos Categoria e Preço. Para determinar o produto mais barato:
    DMin("Preço","Produtos")

    Se eu quiser saber o produto mais barato de determinada categoria (por exemplo, categoria de Carnes), ficaria assim:
    DMin("Preço","Produtos","Categoria='Carnes'")
    avatar
    Motar
    Intermediário
    Intermediário

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 149
    Registrado : 03/08/2010

    Colocar o valor mais pequeno na horizontal Empty Re: Colocar o valor mais pequeno na horizontal

    Mensagem  Motar 20/1/2015, 12:45

    Obrigado pela resposta, também já me tinha lembrado desse método, mas como relaciono o valor do relatório (Agrupado por) com cada coluna para aplicar na função DMIN?
    hiperjohn
    hiperjohn
    Intermediário
    Intermediário

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 97
    Registrado : 06/06/2013

    Colocar o valor mais pequeno na horizontal Empty Re: Colocar o valor mais pequeno na horizontal

    Mensagem  hiperjohn 20/1/2015, 14:32

    Os dados não vêm de uma tabela ou consulta? Se for assim, o Dmin consegue resolver.
    Se vc postar parte do bd, ja ajuda.
    avatar
    Motar
    Intermediário
    Intermediário

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 149
    Registrado : 03/08/2010

    Colocar o valor mais pequeno na horizontal Empty Re: Colocar o valor mais pequeno na horizontal

    Mensagem  Motar 20/1/2015, 14:43

    Dando como exemplo de produtos, e supondo que está agrupado por "Arroz", "Batatas", "Cereais" e os produtos varia de relatório para relatório, e que no cabeçalho quero saber o preço mais baixo de várias empresas que vendem o produto, como aplica o DMIN, sem associar ao relatório? porque se neste aparece em primeiro o "arroz" noutro relatório pode aparecer "Chocolate".
    Se na função DMIN dese para ir buscar o valor do registo1 e assim sucessivamente seria o ideal
    hiperjohn
    hiperjohn
    Intermediário
    Intermediário

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 97
    Registrado : 06/06/2013

    Colocar o valor mais pequeno na horizontal Empty Re: Colocar o valor mais pequeno na horizontal

    Mensagem  hiperjohn 20/1/2015, 18:00

    Rui, veja se este exemplo serve ou pode ajudá-lo a ter uma ideia melhor.

    Ele usa um Formulário para estabelecer os critérios e o botão desse form gera o relatório.

    Se os critérios forem selecionados em ordem alfabética, fica melhor.

    Se não for isso, a gente terá que esperar os craques do fórum.
    Anexos
    Colocar o valor mais pequeno na horizontal AttachmentbdExemplo.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (29 Kb) Baixado 6 vez(es)
    avatar
    Motar
    Intermediário
    Intermediário

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 149
    Registrado : 03/08/2010

    Colocar o valor mais pequeno na horizontal Empty Re: Colocar o valor mais pequeno na horizontal

    Mensagem  Motar 20/1/2015, 18:19

    Obrigado pela colaboração hiperjohn, você teve bastante trabalho ao construir a bd.
    A ideia é essa, mas que fosse automático ao abrir o relatório, sem ter que selecionar os produtos no formulário, o preço dos produtos poderia ficar em ordem ascendente e ele ir buscar o valor do primeiro registo de cada grupo do nome do produto.
    Será possivel?
    Roberto_1977
    Roberto_1977
    Super Avançado
    Super Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 831
    Registrado : 01/10/2013

    Colocar o valor mais pequeno na horizontal Empty Re: Colocar o valor mais pequeno na horizontal

    Mensagem  Roberto_1977 21/1/2015, 10:33

    Bom dia,
    Veja se isso serve..

    Abraço.. Cool
    Anexos
    Colocar o valor mais pequeno na horizontal AttachmentbdExemplo.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (44 Kb) Baixado 7 vez(es)
    avatar
    Motar
    Intermediário
    Intermediário

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 149
    Registrado : 03/08/2010

    Colocar o valor mais pequeno na horizontal Empty Re: Colocar o valor mais pequeno na horizontal

    Mensagem  Motar 21/1/2015, 11:03

    Bom dia Roberto_1977
    Não está a passar o valor mínimo para a coluna de cima, o objetivo era passar o primeiro registo de cada grupo para as colunas de cima
    Abraço e obrigado pela colaboração
    Dilson
    Dilson
    Developer
    Developer

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1743
    Registrado : 11/11/2009

    Colocar o valor mais pequeno na horizontal Empty Re: Colocar o valor mais pequeno na horizontal

    Mensagem  Dilson 21/1/2015, 11:31

    Não sei se vai lhe ajudar, mas a partir da tabela contida no exemplo eu consigo obter o menor preço de cada produto assim:

    SELECT NomeProduto, Min(PrecoProduto) AS [Preço Minimo]
    FROM tblProdutos
    GROUP BY NomeProduto;



    Daí acho que dá pra armar a referencia cruzada para mostrar no relatório.
    Roberto_1977
    Roberto_1977
    Super Avançado
    Super Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 831
    Registrado : 01/10/2013

    Colocar o valor mais pequeno na horizontal Empty Re: Colocar o valor mais pequeno na horizontal

    Mensagem  Roberto_1977 21/1/2015, 11:35

    Bom dia,

    Veja imagem anexo, está com preço menor nas colunas.
    Anexos
    Colocar o valor mais pequeno na horizontal AttachmentDoc1.doc
    Você não tem permissão para fazer download dos arquivos anexados.
    (55 Kb) Baixado 3 vez(es)
    avatar
    Motar
    Intermediário
    Intermediário

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 149
    Registrado : 03/08/2010

    Colocar o valor mais pequeno na horizontal Empty Re: Colocar o valor mais pequeno na horizontal

    Mensagem  Motar 21/1/2015, 14:50

    Viva

    Dilson
    A sua função é util o problema é como fazer referência ao campo do relatório

    SELECT NomeProduto, Min(PrecoProduto) AS [Preço Minimo]
    FROM tblProdutos WHERE NomeProduto = Selecionar o valor agrupado no registo 1
    GROUP BY NomeProduto;

    SELECT NomeProduto, Min(PrecoProduto) AS [Preço Minimo]
    FROM tblProdutos WHERE NomeProduto = Selecionar o valor agrupado no registo 2
    GROUP BY NomeProduto;

    SELECT NomeProduto, Min(PrecoProduto) AS [Preço Minimo]
    FROM tblProdutos WHERE NomeProduto = Selecionar o valor agrupado no registo  ....
    GROUP BY NomeProduto;


    Roberto_1977
    No exemplo que você mandou não preenche automaticamente, eu tenho de seleccionar no formulário, ou será que fiz algo errado?
    Roberto_1977
    Roberto_1977
    Super Avançado
    Super Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 831
    Registrado : 01/10/2013

    Colocar o valor mais pequeno na horizontal Empty Re: Colocar o valor mais pequeno na horizontal

    Mensagem  Roberto_1977 21/1/2015, 15:04

    Boa tarde,

    Só uma duvida, Voçe tem varios produtos e só tem 4 campos no formulario.
    Como quer que aparecem todos produtos nestes 4 campos??? Embarassed
    Ou voce só quer os 4 produtos mais baratos?
    avatar
    Motar
    Intermediário
    Intermediário

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 149
    Registrado : 03/08/2010

    Colocar o valor mais pequeno na horizontal Empty Re: Colocar o valor mais pequeno na horizontal

    Mensagem  Motar 21/1/2015, 15:26

    Viva Roberto_1977
    Os 4 campos foi só de exemplo, na realidade vão ser 10, mas ao fazer para 4 para mais é só copiar o código.
    Vai estar dividido por classes, cada classe tem no máximo 10, mas se forem menos de 10 simplesmente aparecem em branco.

      Data/hora atual: 16/4/2021, 21:26