Sarà magari una domanda comune...
ho fatto un programma in vb 2010 che si connette ad un db access; funziona tutto. l unico problema è che alla PRIMA apertura del form passano 5-10 per la visualizzazione; mentre poi quando chiudo e riapro è tutto istantaneo.
posto il codice
codice:
Public Class frmASSEGNAZIONI
Dim CONN As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=assegnazioni.accdb"
Dim SQL As String
Dim s() As String
Dim controllodata As String
Dim modifica As Integer
Private Sub frmASSEGNAZIONI_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim cn As New OleDbConnection(CONN)
Dim i As Integer
i = 0
modifica = 0 ' se 0 inserisco dati, se 1 modifico
'resetto i campi
dtpDATA.Text = ""
cmbORA.Refresh()
txtCLIENTE.Text = ""
txtCITTA.Text = ""
cmbMODELLO.Items.Clear()
cmbMODELLO.Text = ""
chkRETE.Checked = False
chkFT.Checked = False
chkCONCLUSA.Visible = False
chkADMIN.Checked = False
chkSERVER.Checked = False
txtNPC.Text = ""
txtRIF.Text = ""
btnERASE.Enabled = False
'resetto treeview
tvASSEGNAZIONI.Nodes.Clear()
'POPOLO COMBO MODELLI MACCHINE
cn.Open()
SQL = "SELECT * FROM MODELLI ORDER BY MARCA"
Dim cmd As New OleDbCommand(SQL, cn)
Dim objDataReader As OleDbDataReader = cmd.ExecuteReader
While objDataReader.Read
cmbMODELLO.Items.Add(objDataReader("marca") & " " & objDataReader("modello"))
End While
objDataReader.Close()
cn.Close()
'POPOLO TREEVIEW CON ASSEGNAZIONI
cn.Open()
SQL = "SELECT id,data,cliente,conclusa FROM ASSEGNAZIONI ORDER BY DATA"
cmd = New OleDbCommand(SQL, cn)
objDataReader = cmd.ExecuteReader
While objDataReader.Read
If i = 0 Then
tvASSEGNAZIONI.Nodes.Add(objDataReader("data"))
tvASSEGNAZIONI.Nodes(i).Nodes.Add(objDataReader("id") & "-" & objDataReader("cliente"))
i = i + 1
Else
If objDataReader("data") = tvASSEGNAZIONI.Nodes(i - 1).Text Then
tvASSEGNAZIONI.Nodes(i - 1).Nodes.Add(objDataReader("id") & "-" & objDataReader("cliente"))
Else
tvASSEGNAZIONI.Nodes.Add(objDataReader("data"))
tvASSEGNAZIONI.Nodes(i).Nodes.Add(objDataReader("id") & "-" & objDataReader("cliente"))
i = i + 1
End If
End If
End While
objDataReader.Close()
cn.Close()
'POPOLO LIST BOX
ListView1.Clear()
' Set ListView Properties
ListView1.View = View.Details
ListView1.GridLines = True
ListView1.FullRowSelect = True
ListView1.HideSelection = False
ListView1.MultiSelect = False
' Create Columns Headers
ListView1.Columns.Add("mesi")
ListView1.Columns.Add("totale mese")
ListView1.Columns.Add("totale fuori triveneto")
cn.Open()
SQL = "SELECT MONTH(ASSEGNAZIONI.data) as mese, COUNT(*) as TOTALE_INSTALLAZIONI, SUM(ASSEGNAZIONI.ft) as TOTFT FROM(ASSEGNAZIONI) GROUP BY MONTH(ASSEGNAZIONI.data)"
cmd = New OleDbCommand(SQL, cn)
objDataReader = cmd.ExecuteReader
While objDataReader.Read
' Create List View Item (Row)
Dim lvi As New ListViewItem
' First Column can be the listview item's Text
lvi.Text = MonthName(objDataReader("mese").ToString)
' Second Column is the first sub item
lvi.SubItems.Add(objDataReader("totale_installazioni").ToString)
lvi.SubItems.Add((objDataReader("totft") * -1).ToString)
' Add the ListViewItem to the ListView
ListView1.Items.Add(lvi)
End While
objDataReader.Close()
cn.Close()
End Sub
Potete spiegarmi a cos'è dovuta tale latenza?
grazie