Tópico anterior Próximo tópico Novo tópico
VB.NET
#485790 - 06/12/2018 13:30:14 | ||||
![]() APRENDENDOVB JOINVILLE Cadast. em:Novembro/2018 ![]() |
Anexos estao visíveis somente para usuários registrados Senhores,Criei um form onde mostra a receita do 1º Trimestre do ano. Até tudo certo, porém não consigo colocar mais a despesa (mais um Y). Abaixo o código de deu certo da receita. Public Class frm_grafico Dim Y_receita() As Double = {25000, 30000, 40000} Dim xPaises() As String = {"Janeiro", "Fevereiro", "Marco"} Private Sub frm_grafico_Load(sender As Object, e As EventArgs) Handles MyBase.Load Chart1.Series(0).Points.DataBindXY(xPaises, Y_receita) End Sub End Class Tentei colocar mais um Y (despesa) na série no gráfico, mas não deu certo. Abaixo a tentativa sem sucesso Public Class frm_grafico Dim Y_receita() As Double = {25000, 30000, 40000} Dim Y_Despesa() As Double = {5000, 5000, 7000} Dim xPaises() As String = {"Janeiro", "Fevereiro", "Marco"} Private Sub frm_grafico_Load(sender As Object, e As EventArgs) Handles MyBase.Load Chart1.Series(0).Points.DataBindXY(xPaises, Y_receita, Y_Despesa) End Sub End Class O que eu estou fazendo de errado? |
|||
#485798 - 06/12/2018 16:56:41 | ||||
![]() OMAR2011 MONTES CLAROS Cadast. em:Setembro/2011 ![]() |
Acredito que isto dê uma luz na seu propósito.
http://www.macoratti.net/16/04/vbn_datgraf1.htm |
|||
#485802 - 06/12/2018 22:32:28 | ||||
![]() NICKOSOFT SANTO ANDRE Cadast. em:Maio/2009 ![]() |
nas propriedades do chart, em series vc deve adicionar qnts series precisa......
depois no codigo vc pode alimentar os valores |
|||
#485894 - 10/12/2018 23:50:47 | ||||
![]() APRENDENDOVB JOINVILLE Cadast. em:Novembro/2018 ![]() |
Citação: : nas propriedades do chart, em series vc deve adicionar qnts series precisa...... depois no codigo vc pode alimentar os valores Deu certo Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Dim Y_receita() As Double = {25000, 30000, 40000} Dim Y_despesa() As Double = {22000, 24000, 38000} Dim xPaises() As String = {"Janeiro", "Fevereiro", "Marco"} Chart1.Series(0).Points.DataBindXY(xPaises, Y_receita) Chart1.Series(1).Points.DataBindXY(xPaises, Y_despesa) End Su |
|||
#485895 - 10/12/2018 23:53:32 | ||||
![]() APRENDENDOVB JOINVILLE Cadast. em:Novembro/2018 ![]() |
Citação: : Acredito que isto dê uma luz na seu propósito. http://www.macoratti.net/16/04/vbn_datgraf1.htm Obrigado pela dica, Mas tentei falar a mesma coisa com o banco de dados Mysql, porme não estou conseguindo Abaixo o código pra puxar as despeas Imports System.Data.OleDb Imports MySql.Data.MySqlClient Public Class frm_rel_crp Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Chart1.Series.Add("Despesas") 'Chart1.Series.Add("Vendas") Dim sql As String = "" Using con As MySqlConnection = GetConnection_MYSQL() Try con.Open() sql = "SELECT Mes, Valor FROM despesas" Dim cmd As MySqlCommand = New MySqlCommand(sql, con) Dim da As MySqlDataAdapter = New MySqlDataAdapter(cmd) Dim dt As DataTable = New DataTable da.Fill(dt) Chart1.Series("Despesas").Points.AddXY(dt("Mes").ToString, dt("Valor").ToString) Catch ex As Exception MsgBox("Menssagem de erro:" & ex.Message, MsgBoxStyle.Critical, "Atenção!") Finally con.Close() End Try End Using End Sub |
|||
#485898 - 11/12/2018 08:32:17 | ||||
![]() NICKOSOFT SANTO ANDRE Cadast. em:Maio/2009 ![]() |
nao entendi bem o q nao deu certo nessa ultima postagem sobre alimentar o grafico, mas vc deve seguir o mesmo padrao
Dim Y_receita() As Double = {25000, 30000, 40000} Dim Y_despesa() As Double = {22000, 24000, 38000} Dim xPaises() As String = {"Janeiro", "Fevereiro", "Marco"} Chart1.Series(0).Points.DataBindXY(xPaises, Y_receita) Chart1.Series(1).Points.DataBindXY(xPaises, Y_despesa) primeira coisa alimente o array de receitas mes a mes, e faca o mesmo com as despesas, (as duas primeiras linhas, ai vc tem q trabalhar a logica de como os dados estao na sua base) depois alimente o array dos meses (terceira linha), com os 3 arrays alimentados vc formaliza o grafico (as duas ultimas linhas) |
|||
#485913 - 11/12/2018 18:07:10 | ||||
![]() OMAR2011 MONTES CLAROS Cadast. em:Setembro/2011 ![]() |
Acho que não vai conseguir nada com este Datable.
Use o Datareader. Use uma soma do Valor com Group by tipo. Dim cmd As MySqlCommand = New MySqlCommand("SELECT Mes, Sum(Valor) as Tot FROM Despesas Group by mes ", con) Dim dr As MySqlDataReader = cmd.ExecuteReader While dr.Read Chart1.Series("Despesas").Points.AddXY(dr("Mes").ToString, dr("Valor")) End While Quanto ao o Bloco Using não tem a necessidade de fechar o Banco. É fechado de forma automática. |
|||
#486228 - 27/12/2018 13:22:17 | ||||
![]() APRENDENDOVB JOINVILLE Cadast. em:Novembro/2018 ![]() |
Anexos estao visíveis somente para usuários registrados Citação: : Acho que não vai conseguir nada com este Datable. Use o Datareader. Use uma soma do Valor com Group by tipo. Dim cmd As MySqlCommand = New MySqlCommand("SELECT Mes, Sum(Valor) as Tot FROM Despesas Group by mes ", con) Dim dr As MySqlDataReader = cmd.ExecuteReader While dr.Read Chart1.Series("Despesas").Points.AddXY(dr("Mes").ToString, dr("Valor")) End While Quanto ao o Bloco Using não tem a necessidade de fechar o Banco. É fechado de forma automática. Amigão, estou descobri qual é o erro do "Valor" no gráfico. Abaixo o código: Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Chart1.Series.Add("Despesas") 'Chart1.Series.Add("Vendas") Dim sql As String = "" Using con As MySqlConnection = GetConnection_MYSQL() Try con.Open() Dim cmd As MySqlCommand = New MySqlCommand("SELECT Mes, Sum(Valor) as Total FROM despesas Group by mes ", con) Dim dr As MySqlDataReader = cmd.ExecuteReader While dr.Read Chart1.Series("Despesas").Points.AddXY(dr("Mes").ToString, dr("Valor")) End While Catch ex As Exception MsgBox("Menssagem de erro:" & ex.Message, MsgBoxStyle.Critical, "Atenção!") Finally con.Close() End Try End Using End Sub |
|||
#486229 - 27/12/2018 15:30:43 | ||||
![]() OMAR2011 MONTES CLAROS Cadast. em:Setembro/2011 ![]() |
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Chart1.Series.Add("Despesas") 'Chart1.Series.Add("Vendas") Dim sql As String = "" Using con As MySqlConnection = GetConnection_MYSQL() Try con.Open() Dim cmd As MySqlCommand = New MySqlCommand("SELECT Mes, Sum(Valor) as Total FROM despesas Group by mes ", con) ou então Dim cmd As MySqlCommand = New MySqlCommand("SELECT Mes, Sum(Valor) as Valor FROM despesas Group by mes ", con) Dim dr As MySqlDataReader = cmd.ExecuteReader While dr.Read Chart1.Series("Despesas").Points.AddXY(dr("Mes").ToString, dr("Total")) ' Foi mudado as Total 'Chart1.Series("Despesas").Points.AddXY(dr("Mes").ToString, dr("Valor")) ' Foi mudado as Valor End While Catch ex As Exception MsgBox("Menssagem de erro:" & ex.Message, MsgBoxStyle.Critical, "Atenção!") Finally con.Close() End Try End Using End Sub |
|||
#486241 - 28/12/2018 09:18:57 | ||||
![]() APRENDENDOVB JOINVILLE Cadast. em:Novembro/2018 ![]() |
Anexos estao visíveis somente para usuários registrados Citação: : Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Chart1.Series.Add("Despesas") 'Chart1.Series.Add("Vendas") Dim sql As String = "" Using con As MySqlConnection = GetConnection_MYSQL() Try con.Open() Dim cmd As MySqlCommand = New MySqlCommand("SELECT Mes, Sum(Valor) as Total FROM despesas Group by mes ", con) ou então Dim cmd As MySqlCommand = New MySqlCommand("SELECT Mes, Sum(Valor) as Valor FROM despesas Group by mes ", con) Dim dr As MySqlDataReader = cmd.ExecuteReader While dr.Read Chart1.Series("Despesas").Points.AddXY(dr("Mes").ToString, dr("Total")) ' Foi mudado as Total 'Chart1.Series("Despesas").Points.AddXY(dr("Mes").ToString, dr("Valor")) ' Foi mudado as Valor End While Catch ex As Exception MsgBox("Menssagem de erro:" & ex.Message, MsgBoxStyle.Critical, "Atenção!") Finally con.Close() End Try End Using End Sub Perfeito OMAR2011 Deu certo, Preciso fazer outro gráfico para outra tabela, Montei os códigos conforme sua orientação, deu certo também, porém eu preciso agrupar por mês a coluna dataVen Conforme imagem, a tabela cad_cr2 , Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Chart1.Series.Add("Despesas") 'Chart1.Series.Add("Vendas") Dim sql As String = "" Using con As MySqlConnection = GetConnection_MYSQL() Try con.Open() Dim cmd As MySqlCommand = New MySqlCommand("SELECT dataVen, Sum(valorTotal) as valorTotal FROM cad_cr2 Group by dataVen ", con) Dim dr As MySqlDataReader = cmd.ExecuteReader While dr.Read Chart1.Series("Despesas").Points.AddXY(dr("dataVen").ToString, dr("valorTotal")) ' Foi mudado as Valor End While Catch ex As Exception MsgBox("Menssagem de erro:" & ex.Message, MsgBoxStyle.Critical, "Atenção!") Finally con.Close() End Try End Using End Sub |
|||
#486249 - 28/12/2018 10:55:50 | ||||
![]() APRENDENDOVB JOINVILLE Cadast. em:Novembro/2018 ![]() |
Coloquei um Group by MONTH(dataVen), mas ficou a mesma coisa,
![]() Dim cmd As MySqlCommand = New MySqlCommand("SELECT dataVen, Sum(valorTotal) as valorTotal FROM cad_cr2 Group by MONTH(dataVen) ", con) |
|||
Tópico anterior Próximo tópico Novo tópico