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]Ajuda criação de Grafico

    avatar
    Convidado
    Convidado


    [Resolvido]Ajuda criação de Grafico Empty Ajuda criação de Grafico

    Mensagem  Convidado 30/6/2013, 21:08

    Boa tarde Pessoal!

    Atualmente uso um modelo de grafico que encontrei

    http://www.accessfaq.com.br/webroot/default.asp?http%3A//%3Ca%20href=e
    https://dl.dropboxusercontent.com/u/19875180/Grafico2K.rar

    e sempre funcionou beleza quando tinha somente um paramento para ser informado.


    Mas agora me surgiu uma necessidade de informar 2 parâmetros e não consegui adaptar esse exemplo , uma vez que esse exemplo acima usa o Grupo de Botoes. e no meu caso precisaria de 2 grupo de botoes .

    Segue em anexo algo parecido com que pretendo fazer.
    Agradeço se algum colega puder me ajudar


    Saudações!
    avatar
    Convidado
    Convidado


    [Resolvido]Ajuda criação de Grafico Empty Re: [Resolvido]Ajuda criação de Grafico

    Mensagem  Convidado 1/7/2013, 15:14

    Faça o form com os dois grupos de botões e poste aqui... especifique aqui quais critérios deseja para que possamos ver isto pra ti.

    Cumprimentos.
    avatar
    Convidado
    Convidado


    [Resolvido]Ajuda criação de Grafico Empty Re: [Resolvido]Ajuda criação de Grafico

    Mensagem  Convidado 1/7/2013, 21:44

    Obrigado Piloto Por redponder,

    Segue o BD como solicitado.

    A ideia é ter dois grupos de botoes onde o usuário pode selecionar o departamento e o Item

    Ex..
    O usuario seleciona o departamento de Frios de no outro grupo de Botoes aparece as opcoes de Frios na qual ele pode visualizar o grafico.
    De acordo com o departamento o segundo Grupo de botoes e preenchido .

    Saudacoes !
    avatar
    Convidado
    Convidado


    [Resolvido]Ajuda criação de Grafico Empty Re: [Resolvido]Ajuda criação de Grafico

    Mensagem  Convidado 2/7/2013, 03:33

    Me lembre amanha... Hoje tô dentro do litro! hehehe

    Cumprimentos.
    avatar
    Convidado
    Convidado


    [Resolvido]Ajuda criação de Grafico Empty Re: [Resolvido]Ajuda criação de Grafico

    Mensagem  Convidado 2/7/2013, 22:40

    Amigão só passando pra te lembrar !

    Tentei hoje o dia inteiro e não saiu muita coisa com 2 critérios não encontrei uma forma.

    Saudacoes !
    avatar
    Convidado
    Convidado


    [Resolvido]Ajuda criação de Grafico Empty Re: [Resolvido]Ajuda criação de Grafico

    Mensagem  Convidado 4/7/2013, 00:36

    Vou olhar rafael..

    De uma descrição mais detalhada por gentileza.

    Cumprimentos.
    avatar
    Convidado
    Convidado


    [Resolvido]Ajuda criação de Grafico Empty Re: [Resolvido]Ajuda criação de Grafico

    Mensagem  Convidado 4/7/2013, 01:53

    Boa Noite Criquio !

    No exemplo que postei.

    Digamos que não tem o campo Item nessa BD postado...
    Então o gráfico seria a quantidade Total vendidos mes a mes.(Dessa forma eu consegui adaptar) ou seja o Grupo de botoes seria carregado com os Departamento e na medida que seleciona o botao (Departamento) Mostra o quantidade vendida mes a mes.


    Mas o que estou tentando fazer é alem de Mostra o departamento gostaria de mostrar a quantidade de Item que cada departamento vendeu.
    Ex.

    seria 2 grupos de botoes o primeiro com os departamento e o outro com Itens.
    Quando selecionar o Departamento o segundo grupo de botoes mostraria os Itens daquele departamento e depois de selecionar o Item mostraria a quantidade mês a mês daquele Item

    Obs: O BD que postei.. os itens nao estao muito coerente com os departamentos...somente agora que percebi mas criei somente para entender minha ideia.

    Sds.
    avatar
    Convidado
    Convidado


    [Resolvido]Ajuda criação de Grafico Empty Re: [Resolvido]Ajuda criação de Grafico

    Mensagem  Convidado 4/7/2013, 03:15

    Boas Rafael... Vamos primeiro entender o código utilizado para gerar o gráfico ok?

    Pois bem, observe que ele move o ponteiro do recordset para um número de registro conforme o valor no grupo de opções..
    Este número é de acordo com a numeração da tabela...

    Por exemplo vamos ver de acordo com o primeiro grupo de opções

    Botão número 6 >>> ao clicar aparecerá "Congelados"
    Agora vá na tabela e observe o que está gravado no registro de número 6?
    6 - Congelados...

    Ai entra o AbsolutePosition, o que ele faz?
    - Movido o monteiro para o registro número 6 (mesmo número do botão 6)... ele agrupa todos os regitros com o mesmo valor do registro de número 6..
    Então neste caso.. ele apresentará uma SQL com os registros: 6,12,19 e 26

    Para isso como ai cima ele filtrou os 4 registros  Departamento = Congelados
    ele joga no critério a palava contida no recordset no campo Departamento

    >>>>> Critério = rs("Departamento")

    Como está filtrado.. todos os 4 registros exibirão no campo departamento o texto: Congelado

    Então ele lança este critério na consulta e voilá, eis seu gráfico de congelados..

    Compreendeu até aqui como funciona o código?


    Cumprimentos.
    avatar
    Convidado
    Convidado


    [Resolvido]Ajuda criação de Grafico Empty Re: [Resolvido]Ajuda criação de Grafico

    Mensagem  Convidado 4/7/2013, 21:26

    Sim entendi mas em qual parte do codigo ele carrega os nomes no Grupo de botoes ?
    Como iria carregar o Segundo grupo de botoes ?

    Obrigado !
    avatar
    Convidado
    Convidado


    [Resolvido]Ajuda criação de Grafico Empty Re: [Resolvido]Ajuda criação de Grafico

    Mensagem  Convidado 4/7/2013, 22:04

    O botão de número 6, se observar em propriedades, aba Dados...Valor de Opção = 6...

    Quando clica no botão de número 6, o AbsolutePosition move o ponteiro do Recordset para o Registro de número 6, que é: Congelados... Fazendo isto ele filtra apenas os registros = Congelados....

    Compreendeu?
    avatar
    Convidado
    Convidado


    [Resolvido]Ajuda criação de Grafico Empty Re: [Resolvido]Ajuda criação de Grafico

    Mensagem  Convidado 4/7/2013, 23:21

    Voce chegou a abrir esse Grafico ? (Achei na Internet)
    https://dl.dropboxusercontent.com/u/19875180/Grafico2K.rar


    Nele o Grupo de Botao nao aparece o numero e sim o nome , mas no codigo nao consigo identificar onde ele faz o select ou algo para trazer esse nome.


    avatar
    Convidado
    Convidado


    [Resolvido]Ajuda criação de Grafico Empty Re: [Resolvido]Ajuda criação de Grafico

    Mensagem  Convidado 5/7/2013, 01:41

    Rafael... Eu particularmente não gostei deste código usado neste exemplo... Nem sempre códigos complicados produzem o melhor resultado.

    Vou tentar ser claro para que você entenda o que este código faz...


    Método AbsolutPosition do Recodset

    Suponha que em uma tabela tenha 6 registros

    Registro 1 >>> Código = 1 >>> AbsolutePosition = 0
    Registro 2 >>> Código = 2 >>> AbsolutePosition = 1

    Registro 3 >>> Código = 3 >>> AbsolutePosition = 2
    Registro 4 >>> Código = 4 >>> AbsolutePosition = 3
    Registro 5 >>> Código = 5 >>> AbsolutePosition = 4
    Registro 6 >>> Código = 6 >>> AbsolutePosition = 5

    Se voce Especifica este método como = 3, o ponteiro do recodset se move para o Registro 4

    Com o ponteiro do recordset neste registro, supondo que o registro 4 o departamento seja = Congelados

    Ele aplicar em uma variável o valor do campo departamento:


    'Então de acordo com o o texto em azul a variável Critério será = Congelados   

    Critério = rs("Departamento") 

    De posse deste critério ele filtra a SQL que conterá todos os registros que Departamento = Congelados

      
           SQL = "SELECT * FROM Tbl_Produtos WHERE " _
            & "(Departamento='" & Critério & "');"




    Ocorre que este código funcionará bem para um grup de opções, porém para dois grupos voce teria que redirecionar o ponteiro para um Código do Ítem..


    E filtrando Departamento + Item.... Poderia dar erros... sendo que para um Item pode estar presente em mais departamentos




    Refiz totalmente o código e está simples e enxuto.


    333333]6]
    Como fazer...


    [/size]


    1 - Coloque botões avulsos...
    2 - O nome do botão será o nome do Departamento ou Item

    Se 6 Departamentos >>>> 6 Botões com os respectivos nome do departamento
    Se 10 Itens            >>>> 10
    Botões com os respectivos nome do Item

    Ao clicar no botão eu identifico seu nome através do comando: Me.ActiveControl.Name

    Então A variável será: 

    Critério = 
    Me.ActiveControl.Name (para departamento)
    Critério1 =  Me.ActiveControl.Name (para item)

    E Criei duas sub para O caso de:
     Departamento e Departamento + Item

    A primeira Sub (que filtra o Departamento)
    Utiliza uma SQL Agrupada com a soma dos valores nos meses
    (No Bd segue uma consulta gráfica para que entenda esta SQL)  >>>> Tbl_Produtos Consulta

    A segunda Sub (que filtra o Item)
    é baseada em dois critérios >> Departamento + Item (
    Esta nao tem necessidade de ser agrupada pois retornará apenas uma linha)

    Eis o código - Basta agora crias os botões... no código está a descrição do que fiz

    Simples e Eficiente!!!



    Option Compare Database
    Option Explicit
    'Variável para comportar o ítem clicado
    Dim Critério1 As String
    'Variável para comportar o departamento clicado
    Dim Critério  As String
    '------------------------------------------------

    '---------------------------------------------------------------------------------------
    ' Procedure     : GeraGraficoPiloto
    ' Author        : Harysohn P. Pina (PILOTO) - Harysohn@hotmail.com
    ' Fórum         : Fórum Máximo Access -  http://maximoaccess.forumeiros.com/
    ' Date          : 04/07/2013
    ' Comentários   : Carrega um gráfico baseado no botão clicado segundo o critério
    '                 do nome do botão (Departamento)
    '---------------------------------------------------------------------------------------
    Sub GeraGraficoPiloto()
    Dim Rs As DAO.Recordset
        Dim SQL As String
        Grafico1.RowSource = ""
        Grafico1.Visible = True 'Torna visível o gráfico.
       
        'Coloca na variável que servirá ao filtro, o nome do controle ativo no formulário
        'Este controle será o nome do botão clicado. As declarações desta variável fica nas declarações do módulo
        'e se deve ao fato de ter que manter o seu valor em qualquer procedimento sendo assim utilizado no segundo filtro
        Critério = Me.ActiveControl.Name
       
        'Guarda o nome da Despesa na textbox oculta.
        Me.txtDespesa = Critério
        'Carrego na SQL uma consulta agrupada, com a soma dos meses, filtrada pelo campo departamento
        SQL = "SELECT Tbl_Produtos.[Departamento], Sum(Tbl_Produtos.[Jan]) AS Jan, Sum(Tbl_Produtos.[Fev]) AS Fev," _
            & "Sum(Tbl_Produtos.[Mar]) AS Mar, Sum(Tbl_Produtos.[Abr]) AS Abr,  Sum(Tbl_Produtos.[Mai]) AS Mai," _
            & "Sum(Tbl_Produtos.[Jun]) AS Jun, Sum(Tbl_Produtos.[Jul]) AS Jul, Sum(Tbl_Produtos.[Ago]) AS Ago," _
            & "Sum(Tbl_Produtos.[Set]) AS [Set], Sum(Tbl_Produtos.[Out]) AS Out, Sum(Tbl_Produtos.[Nov]) AS Nov," _
            & "Sum(Tbl_Produtos.[Dez]) AS Dez FROM Tbl_Produtos WHERE Departamento='" & Critério & "'" _
            & " GROUP BY Tbl_Produtos.[Departamento];"
       
        Grafico1.RowSource = SQL 'Define a origem do gráfico.
        lblCredor.Caption = Critério 'Altera o título do form.

    End Sub

    '---------------------------------------------------------------------------------------
    ' Procedure     : GeraGraficoPiloto
    ' Author        : Harysohn P. Pina (PILOTO) - Harysohn@hotmail.com
    ' Fórum         : Fórum Máximo Access -  http://maximoaccess.forumeiros.com/
    ' Date          : 04/07/2013
    ' Comentários   : Carrega um gráfico baseado no botão clicado segundo dois critérios
    '                 baseado nos nomes de dois botões, Departamento/Item
    '---------------------------------------------------------------------------------------
    Sub GeraGraficoPiloto1()
        Dim SQL As String
        Grafico1.RowSource = ""
        Grafico1.Visible = True 'Torna visível o gráfico.
       
        'Coloca na variável que servirá ao filtro, o nome do controle ativo no formulário
        'Este controle será o nome do botão clicado. As declarações desta variável fica nas declarações do módulo
        'e se deve ao fato de ter que manter o seu valor em qualquer procedimento.
        Critério1 = Me.ActiveControl.Name
        'Guarda o nome do Item na textbox oculta.
        Me.txtDespesa = Critério
        'Esta SQL não há necessidade de ser agrupada pois sempre retornará um ítem
        SQL = "SELECT * FROM Tbl_Produtos WHERE Departamento='" & Critério & "' And Item='" & Critério1 & "';"

        Grafico1.RowSource = SQL 'Define a origem do gráfico.
        lblCredor.Caption = Critério & " - " & Critério1 'Altera o título do form.

    End Sub

    'Carrega o gráfico segundo o critério do botão ativo na hora que carrega o formulário
    'para o botão ficar ativo envia o foco para o mesmo
    Private Sub Form_Load()
    Me.Congelados.SetFocus
    Me.GeraGraficoPiloto
    End Sub

    '//////////////////////////////////////////////////////////////////////////////////
    'Inicio dos botões
    'Está feito para os departamentos: Congelados e Frios
    'E para os botões: Dourada,Paes,Piau e Repolho
    'Basta criar demais botões e o nomear com o nome do departamento ou item
    'A Sub GeraGraficoPiloto  >>>> Departamento
    'A Sub GeraGraficoPiloto1 >>>> Item
    '//////////////////////////////////////////////////////////////////////////////////
    Private Sub Congelados_AfterUpdate()
    Me.GeraGraficoPiloto
    End Sub

    Private Sub Frios_Click()
    Me.GeraGraficoPiloto
    End Sub

    Private Sub Dourada_Click()
    Me.GeraGraficoPiloto1
    End Sub

    Private Sub Paes_Click()
    Me.GeraGraficoPiloto1
    End Sub

    Private Sub Piau_Click()
    Me.GeraGraficoPiloto1
    End Sub

    Private Sub Repolho_Click()
    Me.GeraGraficoPiloto1
    End Sub


    Cumprimentos.
    avatar
    Convidado
    Convidado


    [Resolvido]Ajuda criação de Grafico Empty Re: [Resolvido]Ajuda criação de Grafico

    Mensagem  Convidado 5/7/2013, 02:02

    Obrigado Piloto!

    Vou estudar o Codigo e posto assim que tiver um retorno.

    Eu só usei esse exemplo pq foi o unico que conseguir adaptar ja uso ele em algumas situações mas sempre com 1 criteiro como esta no exemplo.


    Nem pelo assistente nao conseguir ate porque eu queria fazer via VBA e quando adiciono um grafico pelo assistente ele me obriga a Escolher a tabela ou consulta ...

    Se tiver algum exemplo ou uma outra maneira de gerar gráfico agradeço

    Mas de qualquer forma irei estudar esse codigo que me passou e assim que eu conseguir volto aqui.

    Outra coisa... Eu Idealizei um supermercado para ter ideia da estrutura como exemplo mas na minha realidade é uma consulta bem mais complexa com bem mais opções e caso eu tenha que criar um botão para cada opçao fica meio complicado.


    Desde de já agradeço a sempre paciência!

    Saudacoes !
    avatar
    Convidado
    Convidado


    [Resolvido]Ajuda criação de Grafico Empty Re: [Resolvido]Ajuda criação de Grafico

    Mensagem  Convidado 5/7/2013, 02:08

    mas como filtraria por item sem os botões?


    Simples... uma caixa de combinação!!!

    Eis teu exemplo.
    avatar
    Convidado
    Convidado


    [Resolvido]Ajuda criação de Grafico Empty Re: [Resolvido]Ajuda criação de Grafico

    Mensagem  Convidado 5/7/2013, 02:17

    Veja:

    http://maximoaccess.forumeiros.com/t14046-grafico-exibindo-dois-criterios-departamento-x-item-filtrando-o-departamento-e-em-seguida-ao-clique-o-item#107528

    Cumprimentos.
    avatar
    Convidado
    Convidado


    [Resolvido]Ajuda criação de Grafico Empty Re: [Resolvido]Ajuda criação de Grafico

    Mensagem  Convidado 5/7/2013, 23:07

    Piloto Você não tem noção do quanto esse seu exemplo me ajudou.

    Muito Obrigado mesmo mais uma vez aprendendo muito com você.


    Resolvido!
    avatar
    Convidado
    Convidado


    [Resolvido]Ajuda criação de Grafico Empty Re: [Resolvido]Ajuda criação de Grafico

    Mensagem  Convidado 5/7/2013, 23:25

    Olha como voce pode aprender mais....

    Eu não tinha afinidade até este tópico com o método AbsolutePosition,. nem sabia como utilizá-lo.... Fui ver o código... pesquisar e Já não é mais problema para mim... Assim na sua ajuda.. eu aprendi também...

    Faça como eu.

    Cumprimentos.

    Conteúdo patrocinado


    [Resolvido]Ajuda criação de Grafico Empty Re: [Resolvido]Ajuda criação de Grafico

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 28/3/2024, 09:04