Hi All,
I want my program to have function auto refresh every 5 minutes , and update data in my data grid view.
here is my program look like.
here is my code.
When i click btn_SHow it will auto load data grid view and automatic calculate formula below.
I want every 5 minutes all will be refresh or update data.
so it will look like a monitoring program.
Code:Private Sub btn_Show_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_Show_.Click Dim startDate = dtpFrom.Value.Date Dim endDate = dtpTo.Value.Date.AddDays(1) If txtTarget.Text <> "" Then connection.Open() sqlCmd = connection.CreateCommand sqlCmd.CommandText = ("WITH Src AS (SELECT station_no,CASE WHEN TestResult = 'ok' THEN 1 END AS ok,CASE WHEN TestResult = 'NG' " & "THEN 1 END AS NG,CASE WHEN TestResult = 'RR' THEN 1 END AS RR FROM TEST_TABLE WHERE SQLDateTime >= @startDate AND SQLDateTime < @endDate and Station_No in (1,2,3,4,5,6))SELECT station_no, COUNT(ok) AS TotalOK,COUNT(NG) " & "AS TotalNG,COUNT(RR) AS TotalRR,COUNT(ok) + COUNT(NG) + COUNT(RR) AS Total_Sum FROM Src GROUP BY ROLLUP (Station_No)ORDER BY " & "Station_No DESC") sqlCmd.Parameters.AddWithValue("@startDate", dtpFrom.Value.Date) sqlCmd.Parameters.AddWithValue("@endDate", dtpTo.Value.Date.AddDays(1)) Dim dr As SqlDataReader = sqlCmd.ExecuteReader If dr.HasRows Then dtRecords_C1.Load(dr) dgvCell1_Muscatel_MPCA.DataSource = dtRecords_C1 dgvCell1_Muscatel_MPCA.Show() Else MsgBox("NO DATA ", MsgBoxStyle.Critical, "ERROR") dr.Close() End If connection.Close() 'cell 2 connection.Open() sqlCmd = connection.CreateCommand sqlCmd.CommandText = "WITH Src AS (SELECT station_no,CASE WHEN TestResult = 'ok' THEN 1 END AS ok,CASE WHEN TestResult = 'NG' " & "THEN 1 END AS NG,CASE WHEN TestResult = 'RR' THEN 1 END AS RR FROM TEST_TABLE WHERE SQLDateTime >= @startDate AND SQLDateTime < @endDate and Station_No in (7,8,9,10,11,12))SELECT station_no, COUNT(ok) AS TotalOK,COUNT(NG) " & "AS TotalNG,COUNT(RR) AS TotalRR,COUNT(ok) + COUNT(NG) + COUNT(RR) AS Total_Sum FROM Src GROUP BY ROLLUP (Station_No)ORDER BY " & "Station_No DESC" sqlCmd.Parameters.AddWithValue("@startDate", dtpFrom.Value.Date) sqlCmd.Parameters.AddWithValue("@endDate", dtpTo.Value.Date.AddDays(1)) Dim dr_C2 As SqlDataReader = sqlCmd.ExecuteReader If dr_C2.HasRows Then dtRecords_C2.Load(dr_C2) dgvCell2_Muscaatel_MPCA.DataSource = dtRecords_C2 Else MsgBox("NO DATA ", MsgBoxStyle.Critical, "ERROR") ' txtEfficiency.Text = Efficiency.ToString("p2") dr_C2.Close() End If connection.Close() 'CELL 1 Dim rows = dtRecords_C1.Rows Dim lastRow = rows(rows.Count - 1) Dim totalOk = CInt(lastRow("TotalOK")) Dim total_Input = CInt(lastRow("Total_Sum")) Dim yield = totalOk / total_Input txtTotalOk_C1.Text = totalOk.ToString() txtTotalInput_C1.Text = total_Input.ToString() txtYieldRate_C1.Text = yield.ToString("p2") Dim Target = txtTarget.Text 'declare var Target assign value from txttarget * 6 Dim Efficiency = total_Input / Target 'compute eff by dividing t_input /target txtEfficiency_C1.Text = Efficiency.ToString("p2") 'p2 * 100 and percent sign txtTarget.Text = Target 'CELL2 Dim rows_C2 = dtRecords_C2.Rows Dim lastRow_C2 = rows_C2(rows_C2.Count - 1) Dim totalOk_C2 = CInt(lastRow_C2("TotalOK")) Dim total_Input_C2 = CInt(lastRow_C2("Total_Sum")) Dim yield_C2 = totalOk_C2 / total_Input_C2 txtTotalOk_C2.Text = totalOk_C2.ToString() txtTotalInput_C2.Text = total_Input_C2.ToString() txtYield_C2.Text = yield_C2.ToString("p2") ' Dim Target = txtTarget.Text * 6 'declare var Target assign value from txttarget * 6 Dim Efficiency_C2 = total_Input_C2 / Target 'compute eff by dividing t_input /target txtEfficiency_C2.Text = Efficiency_C2.ToString("p2") 'p2 * 100 and percent sign txtTarget.Text = Target Else MsgBox("PLEASE KEY IN TARGET ", MsgBoxStyle.Critical, "ERROR") End If End Sub




Reply With Quote
