GRÁFICO RECEITA E DESPESA

 Tópico anterior Próximo tópico Novo tópico

GRÁFICO RECEITA E DESPESA

VB.NET

 Compartilhe  Compartilhe  Compartilhe
#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.



 Tópico anterior Próximo tópico Novo tópico


Para responder este tópico o login é requerido
Se você já possui uma conta de usuário por favor faça seu login
Se você não possui uma conta de usuário use a opção Criar usuário