Prezado Leitor(a)!
Neste tutorial inédito aqui na rede, você vai aprender passo a passo de como criar um Gráfico de Velocímetro no Access.
Este tipo de gráfico muito utilizado em dashboards, agora você terá a oportunidade de criá-los no Access.
Vamos ao tutorial então?
Primeiro passo é criarmos uma tabela para armazenarmos as escalas do nosso gráfico. Esta escala que irá compreender o nosso gráfico de velocímetro, ok?
Conforme figura abaixo, esta tabela deverá conter os seguintes campos: iD, Escala e ValorEscala.
Com base na tabela que criamos acima, agora vamos definir as escalas do gráfico. Neste nosso tutorial, vamos definir a escala Ruim (0 a 20), a Regular (20 a 40), o Bom (40 a 80) e o Ótimo (80 a 100). Não podemos esquecer de incluir o Total da escala nesta tabela.
Agora vamos criar a base do nosso gráfico. Para isso, vamos adicionar um Formulário novo em nosso projeto e adicionar um gráfico.
O Assistente de Access irá nos ajudar a criar a base do nosso Gráfico de Velocímetro no Access. Como só temos uma tabela, vamos levar todos os campos para o gráfico, com base no próximo passo do assistente.
O próximo passo do assistente é sobre o tipo de gráfico que vamos utilizar. Neste momento vamos escolher o Gráfico de Rosca.
Neste momento, recomendo que verifique o layout do gráfico para se certificar que as escalas estão disponíveis no gráfico (as escalas estão representadas pelas fatias do lado direito da rosca).
Agora precisamos fazer umas alterações neste gráfico. Para isso vamos entrar no Modo Design do formulário, clicar no gráfico e chamar a Folha de Propriedade do gráfico. Ao escolher a propriedade Origem da Linha, teremos que adicionar o campo Escala, substituir a função de agregação do campo ValorEscala para “Agrupar Por” e colocar o campo ID e ordem crescente e não visível, conforme abaixo:
Fazendo estes ajustes, nosso gráfico de rosca ficará semelhante a nossa tabela que construímos (tblEscala)
Quando exibimos o formulário, podemos notar a base do nosso Gráfico de Velocímetro no Access, totalmente pronta.
Agora precisamos girar o gráfico para que o Total(fatia rocha), fique na parte inferior do gráfico. Para isso, precisamos entrar no modo design do gráfico. Vamos aproveitar para retirar o título do gráfico também. Após retirar o título, vamos clicar na série de dados do gráfico e clicar com o botão direito e escolher a opção “Formatar Série de Dados”.
Na aba Opções vamos gira o Ângulo da Primeira Fatia para 270º. Assim conseguiremos girar o gráfico
Agora vamos aproveitar este modo design do gráfico para retirar a borda do gráfico e retirar a cor rocha da fatia total, para que o no Gráfico de Velocímetro no Access fique mais caracterizado. Vamos aproveitar também para alterar as cores das fatias e retirar a legenda.
Criando os Parâmetros Adicionais do Gráfico de Velocímetro
Uma vez seguido estes passos, a base do nosso gráfico de velocímetro ela está pronta. Agora vamos criar alguns parâmetros adicionais para complementar o nosso gráfico.
O primeiro deles é a Largura do Ponteiro.
Para isso vamos criar uma tabela, chamada tblLarguraPonteiro. Este campo numérico não poderá ser uma Chave Primária, blz?
Vamos atribuir o valor 4 para a largura do ponteiro.
Outro parâmetro é o nosso Indicador que será utilizado no gráfico de velocímetro. Para isso vamos criar mais uma tabela tblIndicador, que deverá ter o campo Indicador com as mesmas características do campo ValorEscala da tabela tblEscala. Vamos definir um valor de 70 inicialmente.
Agora vamos definir os valores que ficarão Antes do Ponteiro e Depois do Ponteiro do gráfico de velocímetro. Para definir estes valores, vamos criar campos calculados em consultas. A primeira consulta vamos criar com base na tblIndicador e tblLarguradoPronteiro.
Nesta consulta vamos criar o campo calculado Antes, que será calculado através da seguinte fórmula: [Indicador]-[Largura]/2
Agora precisamos criar um Totalizador da minha escala. Para isso vamos criar uma consulta somando todos os valores do campo ValorEscala.
Agora vamos criar o valor que ficará Depois do ponteiro do gráfico de velocímetro. Para isso vamos criar uma sub consulta, aonde incluiremos a qyrAntes, qryTotalEscala e a tabela tblLarguradoPonteiro. O campo calculado Depois será calculado com base na seguinte fórmula:[TotalEscala]-[Antes]-[L]
Obs: Para que não dê erro na consulta, já que há 2 tabelas com a nomenclatura [Largura], vamos renomear este campo para [L].
Agora precisamos incluir todos estes valores de forma ordenada em uma tabela só. Para isso vamos criar uma tabela chamada tblPonteiro, onde vou colocar os seguintes campos: ID, Posicao e Numeracao. Lembrando que o campo iD não pode ser uma chave primária, blz?
Agora através de consultas acrescentar iremos atualizar esta tabela tblPonteiro.
Vamos criar a 1ª consulta(qryAcrrescentar_Antes) acrescentar para o valor antes. Para isso vamos levar para o campo iD a expressão o valor 1, para o campo Posicao vamos levar a expressão “Antes” e para o campo Numeracao, o valor Antes.
Quando executamos esta consulta, será solicitado a confirmação para adicionar estes valores. Ao pressionar “Sim”, os dados serão adicionados a tabela tblPonteiro.
Ao fazermos uma consulta a tabela tblPonteiro, veja que estes dados estão guardados lá.
Agora vamos repetir estes passos para incluir a Largura do Ponteiro e o Valor depois do ponteiro.
Vamos criar a 2ª consulta(qryAcrescentar_Ponteiro) acrescentar para o valor da largura do ponteiro. Para isso vamos levar para o campo iD a expressão o valor 2, para o campo Posicao vamos levar a expressão “Ponteiro” e para o campo Numeracao, o valor Largura.
Ao executarmos a consulta e consultar a tabela tblPonteiro, teremos o seguinte resultado:
Vamos criar agora a 3ª e última consulta(qryAcrescentar_Depois) acrescentar para o valor depois do ponteiro. Para isso vamos levar para o campo iD a expressão o valor 3, para o campo Posicao vamos levar a expressão “Depois” e para o campo Numeracao, o valor Depois.
Ao executarmos novamente e consultar a tabela tblPonteiro, teremos o seguinte resultado:
Mas terei que fazer isso manualmente toda vez que alterar o indicador? Lógico que não, mais para frente vamos automatizar este processo!!!
Agora precisamos incluir todos estes valores no gráfico de velocímetro.
Para isso, vamos entrar no modo design do formulário e vamos selecionar o gráfico e entrar na origem da linha deste gráfico. Vamos incluir a tabela tblPonteiro para o gráfico. O grandde detalhe, quando incluimos a tabela tblPonteiro, os campos “iD” das 2 tabelas já criam uma junção automaticamente.
O problema é que se eu deixar este tipo de junção entre estas tabelas o meu resultado será incompleto. O valor da fatia “Ótimo” não irá aparecer no gráfico.
Para resolver este impasse, vamos alterar o tipo de junção entre estas tabelas para “tipo 2“. O que isto quer dizer: Eu vou trazer toda a minha escala e também os valores antes, depois e a largura do ponteiro. Não podemos esquecer de trazer também o campo Numeracao
Assim, quando eu executar novamente, eu terei os valores necessário para compor o gráfico.
Vamos exibir o gráfico. Perceba que foi inserido uma nova série de dados e o nosso gráfico de velocímetro ficou na parte interna de uma coroa circular.
Agora vamos alterar o tipo de gráfico desta 2ª série de dados que acabamos de incluir. Para isso devemos entrar no modo design do gráfico, selecionar somente a coroa circular externa, clicar com o botão direito e escolher a opção “Tipo de Gráfico” e escolher o de pizza.
Veja que o gráfico sobrepôs o gráfico de velocímetro
O mesmo giro que demos no gráfico de rosca, será necessário fazermos aqui no gráfico de pizza também. Aproveitando que estamos no modo design, basta clicar com o botão direito novamente no gráfico de pizza e escolher a aba Opções e alterar o ângulo da primeira fatia para 270º.
Agora precisamos formatar este gráfico deixando as séries antes e depois transparentes e vamos retirar a borda do gráfico. Após estes ajuste, nosso gráfico de velocímetro está pronto.
Agora precisamos automatizar a atualização deste gráfico.
O primeiro passo deste processo é criar uma consulta exclusão. Toda vez que o valor do indicador for alterado, precisaremos excluir os valores atuais da tabela tblPonteiro.
Assim vamos criar uma nova consulta exclusão chamada qryLimparValores
Criando Automação para Atualizar o Gráfico de Velocímetro
Para criar esta automação, podemos utilizar os recursos da Macro, chamada mcrAutomacao. Esta macro inclui as ações das consultas qryLimparValores, qryAcrescentar_Antes, qryAcrescentar_Ponteiro e qryAcrescentar_Depois. A ação Definir Aviso como Não, impossíbilita o access emitir uma mensagem de confirmação do usuário para cada ação executada.
Agora vamos incluir uma caixa de texto no gráfico para verificarmos a atualização automática. Toda vez que o indicador for atualizado o gráfico será atualizado.
Para isso vamos criar um evento após atualizar da caixa de texto.
Private Sub txtIndicador_AfterUpdate()
CurrentDb.Execute "UPDATE tblIndicador SET Indicador=" & Me.txtIndicador
DoCmd.RunMacro "mcrAuttomacao"
DoCmd.Requery
End Sub
Assim, toda vez que for atualizado um valor na caixa de texto (txtIndicador) o gráfico será atualizado também.
Goustou da aula?
Deixe seu comentário aqui embaixo. Queremos lhe ouvir!