(VB.NET)
'' Esta funcion obtiene los nombres de los archivos DBF de un directorio
Public Function ObtenerArchivosDBF(ByVal Directorio As String, ByVal Password As String)
'
' Es necesario agregar una referencia a ADODB.
'
' vas al menú Proyecto->Agregar referencia..., ahí seleccionarás ADODB
'
Try
Dim Strconn As New ADODB.Connection ' Instancia una conexion
With Strconn ' Se arma la cadena de conexion
.ConnectionString = _
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" ; & Directorio & ";" & _
"Extended Properties=dBASE IV;" & _
"User ID=Admin;" & _
"Password=" & Password & ";"
.Open()
End With
Dim rst As ADODB.Recordset ' Se instancia el recordset
rst = Strconn.OpenSchema(ADODB.SchemaEnum.adSchemaTables) ' Se guarda en el recordset el esquema de la tabla
Dim cadenas() As String ' Se crea el array en donde se almacenaran los nobres de los archivos
Dim contador As Integer ' Variable que se utiliza para control del array
contador = 0
Dim longitud As Integer
While Not rst.EOF ' Mientras no se llege al final ( EOF ) del recordset se contiua en el buqule
ReDim Preserve cadenas(contador) ' Se re-dimenciona el array preservando su contenido.
cadenas(contador) = rst.Fields("TABLE_NAME").Value.ToString ' Se almacena en el array el nombre de la hoja
contador += 1 ' Incrementa el contador en uno
rst.MoveNext() ' Salta a la siguiente hoja en el libro
End While
Strconn.Close() ' Termina la conexion con el libro
Strconn = Nothing ' Vacia la conexion
Return (cadenas) ' Retorna el array para que pueda ser asigando a donde se desee
Catch ex As OleDb.OleDbException
MessageBox.Show("Error Cargando el Archivo DBF: " & ex.Message)
End Try
End Function
' Primera sobrecarga
Public Function ObtenerArchivosDBF(ByVal Directorio As String)
Try
Return (ObtenerTablasDBF(Directorio, "")) ' Retorna el array para que pueda ser asigando a donde se desee
Catch ex As OleDb.OleDbException
MessageBox.Show("Error Cargando el Archivo DBF: " & ex.Message)
End Try
End Function
Ejemplos:
Se debera agregar un boton y un listbox para probar este ejemplo
Private Sub boton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles leer.Click
Dim contador As Integer ' Crea un contador para recorrer la coleccion
Dim cadenas() As String ' Crea una matriz en donde se almacenara el resultado de la consulta
Dim hojas As New LeerArchivos
cadenas = hojas.ObtenerArchivosDBF("C:\Documents and Settings\Administrador\Mis documentos\")
For contador = 0 To cadenas.Length - 1
Me.ListBox1.Items.Add(cadenas(contador))
Next
End Sub


0 comentarios:
Publicar un comentario en la entrada