Private Sub CargarPlanillaExcel(dg_nombre_archivo As String)
Dim cnn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim k As Long
Dim dn_ind As Integer
Dim dg_resultado As String
Screen.MousePointer = vbHourglass
Me.GrdMovimiento.MaxRows = 0
Me.GrdMovimiento.MaxCols = 0
MsgBox "Confirmacion del nombre de archivo", vbExclamation
If dg_nombre_archivo = "" Then
Screen.MousePointer = vbDefault
Exit Sub
End If
MsgBox "Confirmacion del directorio de archivo", vbExclamation
If Dir(dg_nombre_archivo) = "" Then
Screen.MousePointer = vbDefault
Exit Sub
End If
MsgBox "Se intenta establecer la nueva conexion", vbExclamation
' Establecemos una conexión con el libro de trabajo
Set cnn = New ADODB.Connection
'With cnn
' .Provider = "Microsoft.Jet.OLEDB.4.0"
' .ConnectionString = "Data Source = " + dg_nombre_archivo
' .Properties("Extended Properties") = "Excel 8.0;HDR=Yes"
' .Open
'End With
' Open the Connection
MsgBox "Ruta y nombre del archivo:" + dg_nombre_archivo, vbExclamation
cnn.Open _
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" + dg_nombre_archivo + ";Extended Properties=""Excel 8.0;HDR=No"""
MsgBox "Si puede leer esto entonces no es problema de conexion", vbExclamation
MsgBox "Se inicializa el recordset", vbExclamation
' Creamos un nuevo objeto Recordset
Set rs = New ADODB.Recordset
With rs
Set .ActiveConnection = cnn
' Indicamos el nombre de la hoja
.Source = "[Hoja1$]"
.Open
End With
MsgBox "Ya se establece una hoja excel determinada para el proceso", vbExclamation
If rs Is Nothing Then
Screen.MousePointer = vbDefault
Exit Sub
End If
With Me.GrdMovimiento
.MaxCols = rs.Fields.Count
rs.MoveFirst
MsgBox "Se llenan las columnas del nuevo libro", vbExclamation
'Titulos Columnas
For k = 1 To .MaxCols
.Row = 0
.Col = k
.Text = rs.Fields(k - 1).Name
Next k
rs.MoveFirst
Do Until rs.EOF
.MaxRows = .MaxRows + 1
.Row = .MaxRows
For k = 1 To .MaxCols
.Col = k
.Text = IIf(IsNull(rs.Fields(k - 1).value), 0, rs.Fields(k - 1).value)
Next k
rs.MoveNext
Loop
End With
cnn.Close
Screen.MousePointer = vbDefault
MsgBox "Fin Sub area Problematica", vbExclamation
On Error GoTo 0
Exit Sub
End Sub