pongo un ejemplo, trabajo con una base de datos access en red, por ejemplo unidad x: conectada por red (net use x: \\servidor\bd)
lleno un datagridview con una consulta a esa base de datos, y una vez lleno recorro cada linea, para actualizar otras tablas dentro de esa misma bd, un ejemplo:
Código:
Tarda demasiado en hacer el recorrido, el label1 es que nisiquiera se ve, solo hasta que termina todo. el progressbar si cambio de ventana y vuelvo al programa ya no se ve y la ventana queda bloqueada con el texto "no responde" aunque sigue trabajando For i As Integer = 0 To DGV1.Rows.Count - 2 ProgressBar1.Maximum = DGV1.Rows.Count - 2 Dim Q_update As String = _ "UPDATE Articulos SET Articulos.nIdIvaV = " & DGV1.Rows(i).Cells(11).Value & ", " & _ "WHERE (((Articulos.nId)=" & DGV1.Rows(i).Cells(0).Value & "));" Dim conn As OleDbConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=X:\BASE.MDB;User Id=admin;Password=;") Dim com As New OleDbCommand com.Connection = conn conn.Open() com.CommandText = Q_update com.ExecuteNonQuery() conn.Close() ProgressBar1.Value = i label.text= "articulo: " & i & " de: " & DGV1.Rows.Count - 2 Next

desde que empece a hacerme mis pequeñas aplicasiones para este tipo de cosas me sucede esto (por lo que dicho sea de paso soy algo novato) pero habia escapado, pero cada vez es mas insoportable y como cada vez hay mas datos o varios recorridos, para varias consultas, pues se puede pegar hasta 30 minutos

Alguna idea?. Gracias