Visual Basic.NET - uso progressbar

 
Vista:

uso progressbar

Publicado por Alex (1 intervención) el 22/08/2008 17:26:46
Este es el codigo para cargar un MSFlexGrid desde una base, mi consulta es:

¿Como puedo insertarle un progressbar a este codigo??


Private Sub Cargar_FlexGrid(path_Base As String, _
Consulta_SQL As String, _
FlexGrid As MSFlexGrid)

On Error Resume Next

'Variables para la conexión y para el recordset ADO
Dim cn As ADODB.Connection, rst As ADODB.Recordset
'Variables para las filas y columnas del Flexgrid
Dim Columna As Integer, Fila As Integer
'Matriz y variable para los anchos de columna
Dim Ancho_Columna() As Single, Ancho_Campo As Single

' Abre una nueva conexión
Set cn = New ADODB.Connection

cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=rutabase;; " & _
"Jet OLEDB:Database Password =12345"

'Abre
cn.Open

' Llena el recordset con la consulta
Set rst = cn.Execute(Consulta_SQL, , adCmdText)


FlexGrid.Rows = 2
FlexGrid.FixedRows = 1
FlexGrid.FixedCols = 0

'Cantidad de filas y columnas
FlexGrid.Rows = 1
FlexGrid.Cols = rst.Fields.Count

'Redimensiona el Array a la cantidad de campos de la tabla
ReDim Ancho_Columna(0 To rst.Fields.Count - 1)

'Recorre los campos
For Columna = 0 To rst.Fields.Count - 1
'Añade el título del campo al encabezado de columna
FlexGrid.TextMatrix(0, Columna) = rst.Fields(Columna).Name
'Guarda el ancho del campo en la matriz
Ancho_Columna(Columna) = TextWidth(rst.Fields(Columna).Name)
Next Columna


Fila = 1

'Recorre todos los registros del recordset
Do While Not rst.EOF
FlexGrid.Rows = FlexGrid.Rows + 1 ' Añade una nueva fila
For Columna = 0 To rst.Fields.Count - 1

'Si el valor no es nulo
If Not IsNull(rst.Fields(Columna).Value) Then
'Agrega el registro en la fila y columna específica
FlexGrid.TextMatrix(Fila, Columna) = rst.Fields(Columna).Value

' Almacena el ancho
Ancho_Campo = TextWidth(rst.Fields(Columna).Value)

If Ancho_Columna(Columna) < Ancho_Campo Then
Ancho_Columna(Columna) = Ancho_Campo
End If

End If

Next
' Siguiente registro
rst.MoveNext
Fila = Fila + 1 'Incrementa la fila
Loop

' Cierra el recordset y la conexión abierta
rst.Close
cn.Close

' Establece los ancho de columna de la grilla
For Columna = 0 To FlexGrid.Cols - 1
FlexGrid.ColWidth(Columna) = Ancho_Columna(Columna) + 800
Next
Exit Sub

'Error
'errSub:
'MsgBox Err.Description, vbCritical
End Sub
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder