En esta página encontrarán algunos ejemplo de trucos de VBA (Visual Basic for Applications) que puedes utilizar en aplicaciones desarrolladas con la base de datos Microsoft Access.

Contenidos de MDB

-Todos- MDB (3)
Convertir un MDB de Access a Texto - Documentar elementos de Microsoft Access - Todos los iconos de Access -

Convertir un MDB de Access a Texto

Esta es una pequeña utilidad desarrollada con Visual Basic que permite convertir a un fichero de texto una base de datos de Microsoft Access. El proceso crea una subcarpeta donde están las bases de datos y en la misma crea un fichero por cada una de la tablas del MDB. En principio se crean en formato csv pero modificando el parámetro de esta instrucción es posible obtener la información en otros formatos como acFormatActiveXServer, acFormatHTML, acFormatIIS, acFormatRTF, acFormatTXT, acFormatXLS:...
Instrucción:
app.DoCmd.OutputTo acOutputTable, tdf.Name,acFormatTXT, strFolderOutput & "\" & tdf.Name & ".txt"
Hay dos métodos posibles para la exportación el DoCmd.TransferText y el DoCmd.OutputTo, se pueden utilizar cualquiera de los dos. Aquí está el archivo para descargar y debajo el código del formulario (también hay un módulo en el proyecto con 2 funciones complementarias. MDB2txt Código del formulario:
Option Explicit
    Dim app  As Access.Application
    Dim dbs  As DAO.Database
    Dim tdf  As DAO.TableDef
    Dim strMDB2txt  As String
    Dim strSQL      As String
    Dim strFolderOutput As String
    Dim fso         As FileSystemObject

Private Sub Form_Load()
    'Me.Width = 6500
    'Me.Height = 3300
End Sub
Private Sub cmdMDB2txt_Click()
    cdgMDB2txt.DefaultExt = "mdb"
    cdgMDB2txt.ShowOpen
    strMDB2txt = ValidarString(cdgMDB2txt.FileName)
    If strMDB2txt <> "" Then
        txtMDB2txt = strMDB2txt
      Else
        txtMDB2txt = ""
    End If
End Sub
Private Sub cmdCancelar_Click()
    Unload Me
End Sub
Private Sub cmdConvertir_Click()
' Inicio de Proceso
    lblMDB2txt.Caption = "Iniciando proceso ..."
    Set app = New Access.Application
    app.OpenCurrentDatabase strMDB2txt
    Set fso = New FileSystemObject
    Set dbs = OpenDatabase(strMDB2txt)
    strFolderOutput = ArchivoInformacion(strMDB2txt, itxpath) & "\" & Mid(Dir(strMDB2txt), 1, (Len(Dir(strMDB2txt)) - 4))
    If fso.FolderExists(strFolderOutput) = False Then
        fso.CreateFolder strFolderOutput
    End If
' Procesar las Tablas
    For Each tdf In dbs.TableDefs
        GoSub ExportarTabla
    Next
' Cerrar Bases de Datos
    dbs.Close
    Set app = Nothing
    Set fso = Nothing
' Fin de Proceso
    MsgBox "Proceso Finalizado", vbInformation, "Convertir MDB a Texto"
    txtMDB2txt = ""
    lblMDB2txt.Caption = ""
    Exit Sub
ExportarTabla:
    If tdf.Attributes = dbAttachedTable Then Return
    If LCase(Left(tdf.Name, 4)) = "msys" Then Return
    lblMDB2txt.Caption = "Convirtiendo " & tdf.Name
    app.DoCmd.TransferText acExportDelim, "", tdf.Name, strFolderOutput & "\" & tdf.Name & ".csv"
    'app.DoCmd.OutputTo acOutputTable, tdf.Name,acFormatTXT, strFolderOutput & "\" & tdf.Name & ".txt"
    Me.Refresh
    Return
End Sub



Documentar elementos de Microsoft Access

Los elementos de una base de datos Tablas, Formularios, etc. se denominan Documents y se agrupa en Containers. Si te interesa tener en una tabla a todos ellos para hacer tus propios menús, búsquedas o utilidades esta función te lo hace....
Buscar y documentar todos los elementos de Access
Sub ElementosMDBBuscar()
    Dim cnt As DAO.Container
    Dim doc As DAO.Document
    For Each cnt In CurrentDb.Containers
        For Each doc In cnt.Documents
            ElementosMDBDocumentar cnt, doc
        Next
    Next
    MsgBox "Documentación completada"
End Sub
Sub ElementosMDBDocumentar(cnt As DAO.Container, doc As DAO.Document)
    Dim strSQL As String
    Dim rstElementos As DAO.Recordset
    strSQL = "SELECT * FROM ElementosMDB WHERE Container='" & cnt.Name & "' AND Document='" & doc.Name & "'"
    Set rstElementos = CurrentDb.OpenRecordset(strSQL)
    If rstElementos.EOF Then
        rstElementos.AddNew
            rstElementos!Container = cnt.Name
            rstElementos!Document = doc.Name
        rstElementos.Update
    End If
    rstElementos.Close
End Sub


Todos los iconos de Access

Cómo ver todos los iconos de Microsoft Access...
Con esta secuencia creamos una barras de menús para ver todos los iconos que lleva incorporados Access y desde personalizar podemos copiar y pegar. Comprobado en Access 2000 y 2003
Sub EnumerarIconosAccess()
    Dim cb  As CommandBar
    Dim cb1 As CommandBar
    Dim cbc As CommandBarControl
    Dim cbc1 As CommandBarControl
    Dim cbc2 As CommandBarButton
    Dim cbb As CommandBarButton
    Dim cbx As CommandBarComboBox
    Dim cbp As CommandBarPopup
    Dim cbp1 As CommandBarPopup
    Dim ind1 As Integer
    Dim ind2 As Integer
    For ind1 = 1 To 4
        Set cb = Application.CommandBars.Add("Botones" + Str(ind1))
        For ind2 = ((ind1 - 1) * 1000) + 1 To (ind1 * 1000)
            Set cbc2 = cb.Controls.Add(msoControlButton)
            cbc2.Style = msoButtonIcon
            cbc2.FaceId = ind2
            cbc2.Caption = ind2
            cbc2.Tag = ind2
        Next ind2
    Next ind1
    MsgBox "Barra Creada"
End Sub

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies