2016-07-14 3 views
0

Мне нужно связать Series 1 (Graph1) с 1RosterMonday и Series 2 (Graph 2) до 2RosterTuesday.Vb.net Как связать разные базы данных с разными диаграммами

Следующий код работает с подключением серии 1 к 1RosterMonday, однако я не уверен, как связать серию 2 (график 2) с 2RosterTuesday.

Это мой текущий код:

'====Connection String to connect to access database 
    Dim strConn As String = _ 
    "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & TextBox1.Text & _ 
    ";Persist Security Info=False;" 

    '====Query String 
    Dim tblFields As String = "SELECT * from 1RosterMonday " 

    '====Connecting to Data base and storing the data in a dataset 
    Dim conn As New OleDbConnection(strConn) 
    Dim oCmd As New OleDbCommand(tblFields, conn) 
    Dim oData As New OleDbDataAdapter(tblFields, conn) 
    Dim ds As New DataSet 


    conn.Open() 
    oData.Fill(ds, "1RosterMonday") 
    conn.Close() 


    '====Set Data source 
    Chart1.DataSource = ds.Tables("1RosterMonday") 
    Dim Series1 As Series = Chart1.Series("Series1") 
    Chart1.Series(Series1.Name).YValuesPerPoint = 2 
    Chart1.Series(Series1.Name).XValueMember = "Name" 
    Chart1.Series(Series1.Name).YValueMembers = "Start Time , End Time" 

End Sub 

ответ

0

Если предположить, что у вас есть информация вторник в той же базе данных, почему бы не просто повторить тот же процесс для второй диаграммы с новым запросом?

Но если у вас также есть несколько дней в неделю, чтобы построить диаграммы для, вы должны попробовать сделать это в функцию:

Sub linkDataToChart(strConnection as String, strRoster as String, chtDest as Chart) 

    'Build Connection String 
    Dim strConn As String = _ 
    "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & strConnection & _ 
    ";Persist Security Info=False;" 

    'Build Query String 
    Dim tblFields As String = "SELECT * from " & strRoster 

    'Retrieve Data from Database 
    Dim conn As New OleDbConnection(strConn) 
    Dim oCmd As New OleDbCommand(tblFields, conn) 
    Dim oData As New OleDbDataAdapter(tblFields, conn) 
    Dim ds As New DataSet 

    conn.Open() 
    oData.Fill(ds, strRoster) 
    conn.Close() 

    'Set Data source 
    chtDest.DataSource = ds.Tables(strRoster) 
    Dim Series1 As Series = chtDest.Series("Series1") 
    chtDest.Series(Series1.Name).YValuesPerPoint = 2 
    chtDest.Series(Series1.Name).XValueMember = "Name" 
    chtDest.Series(Series1.Name).YValueMembers = "Start Time , End Time" 

End Sub 

Тогда вы можете вызвать эту функцию для обоих дней:

linkDataToChart(Textbox1.Text, "1RosterMondays", Chart1) 
linkDataToChart(Textbox1.Text, "2RosterTuesdays", Chart2) 
Смежные вопросы