Cómo utilizar la API de diálogo comunes en una base de datos en Access 2003 o Access 2007

INTRODUCCIÓN

Este artículo describe cómo utilizar la API de diálogo comunes en Microsoft Office Access 2003 o en Microsoft Office Access 2007 para sustituir la funcionalidad del cuadro de diálogo común que se incluye en Microsoft Office 2000 Developer Edition o en Microsoft Office XP Developer Edition.

Más información

Microsoft proporciona ejemplos de programación únicamente con fines ilustrativos, sin ninguna garantía expresa o implícita. Esto incluye, pero no se limita, a las garantías implícitas de comerciabilidad o idoneidad para un propósito particular. Este artículo asume que está familiarizado con el lenguaje de programación que se muestra y con las herramientas que se utilizan para crear y depurar procedimientos. Los ingenieros de soporte técnico de Microsoft pueden explicarle la funcionalidad de un determinado procedimiento, pero no modificarán estos ejemplos para ofrecer mayor funcionalidad ni crearán procedimientos que cumplan sus requisitos específicos.

Pasos para reemplazar la funcionalidad del cuadro de diálogo común

Microsoft Office Access 2003

  1. En Access, abra la base de datos de ejemplo Neptuno.mdb denominado.

    Nota: La base de datos de ejemplo Neptuno.mdb para Access 2003 normalmente se encuentra en la carpeta C:\Program Files\Microsoft Office\OFFICE11\Samples.
  2. Bajo objetos en la ventana Base de datos Northwind, haga clic en formularios.
  3. En la barra de herramientas de la ventana Base de datos , haga clic en nuevo.
  4. En el cuadro de diálogo Nuevo formulario , haga clic en Vista Diseñoy, a continuación, haga clic en Aceptar.
  5. Agregue un cuadro de texto a Form1, haga clic en el cuadro de texto y, a continuación, haga clic en Propiedades.
  6. Haga clic en la ficha todas , haga clic en nombre, escriba Text1y, a continuación, cierre el cuadro de diálogo de Propiedades .
  7. Haga clic en el control de etiqueta que se asocia con el cuadro de texto Text1 , haga clic en
    Propiedadesy a continuación, haga clic en la ficha todas .
  8. Haga clic en título, escriba Text1y, a continuación, cierre el cuadro de diálogo de Propiedades .
  9. Agregue un botón de comando a Form1, haga clic en el botón de comando, haga clic en Propiedades, haga clic en
    Nombre, escriba Command1, haga clic en
    Títuloy, a continuación, escriba
    Command1.
  10. Haga clic en la ficha evento , haga clic en [Procedimiento de evento] en la lista En haga clic en y, a continuación, haga clic en el botón de puntos suspensivos para iniciar el Editor de Visual Basic de Microsoft.
  11. Modifique el código en el procedimiento Command1_Click al siguiente:
    Private Sub Command1_Click()    Me!Text1 = LaunchCD(Me)
    End Sub
  12. En el menú Insertar , haga clic en
    Móduloe inserte el código siguiente en Module1:
    Private Declare Function GetOpenFileName Lib "comdlg32.dll" Alias _"GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Long

    Private Type OPENFILENAME
    lStructSize As Long
    hwndOwner As Long
    hInstance As Long
    lpstrFilter As String
    lpstrCustomFilter As String
    nMaxCustFilter As Long
    nFilterIndex As Long
    lpstrFile As String
    nMaxFile As Long
    lpstrFileTitle As String
    nMaxFileTitle As Long
    lpstrInitialDir As String
    lpstrTitle As String
    flags As Long
    nFileOffset As Integer
    nFileExtension As Integer
    lpstrDefExt As String
    lCustData As Long
    lpfnHook As Long
    lpTemplateName As String
    End Type

    Function LaunchCD(strform As Form) As String
    Dim OpenFile As OPENFILENAME
    Dim lReturn As Long
    Dim sFilter As String
    OpenFile.lStructSize = Len(OpenFile)
    OpenFile.hwndOwner = strform.hwnd
    sFilter = "All Files (*.*)" & Chr(0) & "*.*" & Chr(0) & _
    "JPEG Files (*.JPG)" & Chr(0) & "*.JPG" & Chr(0)
    OpenFile.lpstrFilter = sFilter
    OpenFile.nFilterIndex = 1
    OpenFile.lpstrFile = String(257, 0)
    OpenFile.nMaxFile = Len(OpenFile.lpstrFile) - 1
    OpenFile.lpstrFileTitle = OpenFile.lpstrFile
    OpenFile.nMaxFileTitle = OpenFile.nMaxFile
    OpenFile.lpstrInitialDir = "C:\"
    OpenFile.lpstrTitle = "Select a file using the Common Dialog DLL"
    OpenFile.flags = 0
    lReturn = GetOpenFileName(OpenFile)
    If lReturn = 0 Then
    MsgBox "A file was not selected!", vbInformation, _
    "Select a file using the Common Dialog DLL"
    Else
    LaunchCD = Trim(Left(OpenFile.lpstrFile, InStr(1, OpenFile.lpstrFile, vbNullChar) - 1))
    End If
    End Function

  13. En el menú Depurar , haga clic en Compilar Neptunoy, a continuación, cierre el Editor de Visual Basic.
  14. En el menú Ver , haga clic en Vista Formulario.
  15. Haga clic en Command1y, a continuación, haga clic en un archivo en la ventana que se abre.

    La ruta de acceso del archivo aparece en el
    Cuadro de texto Text1 .

Microsoft Office Access 2007

  1. En Access 2007, abra la base de datos de ejemplo se denomina Northwind.accdb.
  2. En la ficha crear , haga clic en formulario en el grupo formularios .
  3. En la ficha formato , haga clic en la flecha abajo situada debajo de vistay, a continuación, haga clic en Vista Diseño.
  4. Agregue un cuadro de texto a Form1, haga clic en el cuadro de texto y, a continuación, haga clic en Propiedades.
  5. Haga clic en la ficha todas , haga clic en nombrey escriba Text1.
  6. Haga clic en el control de etiqueta que se asocia con el cuadro de texto Text1 , haga clic en
    Propiedadesy a continuación, haga clic en la ficha todas .
  7. Haga clic en títuloy, a continuación, escriba Text1.
  8. Agregue un botón de comando a Form1, haga clic en el botón de comando, haga clic en Propiedades, haga clic en
    Nombre, escriba Command1, haga clic en
    Títuloy, a continuación, escriba
    Command1.
  9. Haga clic en la ficha evento , haga clic en [Procedimiento de evento] en la lista En haga clic en y, a continuación, haga clic en el botón de puntos suspensivos (...) para iniciar el Editor de Visual Basic de Microsoft.
  10. Modifique el código en el procedimiento Command1_Click similar a la del ejemplo de código siguiente.
    Private Sub Command1_Click()    Me!Text1 = LaunchCD(Me)
    End Sub
  11. En el menú Insertar , haga clic en
    Móduloy, a continuación, inserte código similar al ejemplo de código siguiente en Module1.
    Private Declare Function GetOpenFileName Lib "comdlg32.dll" Alias _"GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Long

    Private Type OPENFILENAME
    lStructSize As Long
    hwndOwner As Long
    hInstance As Long
    lpstrFilter As String
    lpstrCustomFilter As String
    nMaxCustFilter As Long
    nFilterIndex As Long
    lpstrFile As String
    nMaxFile As Long
    lpstrFileTitle As String
    nMaxFileTitle As Long
    lpstrInitialDir As String
    lpstrTitle As String
    flags As Long
    nFileOffset As Integer
    nFileExtension As Integer
    lpstrDefExt As String
    lCustData As Long
    lpfnHook As Long
    lpTemplateName As String
    End Type

    Function LaunchCD(strform As Form) As String
    Dim OpenFile As OPENFILENAME
    Dim lReturn As Long
    Dim sFilter As String
    OpenFile.lStructSize = Len(OpenFile)
    OpenFile.hwndOwner = strform.hwnd
    sFilter = "All Files (*.*)" & Chr(0) & "*.*" & Chr(0) & _
    "JPEG Files (*.JPG)" & Chr(0) & "*.JPG" & Chr(0)
    OpenFile.lpstrFilter = sFilter
    OpenFile.nFilterIndex = 1
    OpenFile.lpstrFile = String(257, 0)
    OpenFile.nMaxFile = Len(OpenFile.lpstrFile) - 1
    OpenFile.lpstrFileTitle = OpenFile.lpstrFile
    OpenFile.nMaxFileTitle = OpenFile.nMaxFile
    OpenFile.lpstrInitialDir = "C:\"
    OpenFile.lpstrTitle = "Select a file using the Common Dialog DLL"
    OpenFile.flags = 0
    lReturn = GetOpenFileName(OpenFile)
    If lReturn = 0 Then
    MsgBox "A file was not selected!", vbInformation, _
    "Select a file using the Common Dialog DLL"
    Else
    LaunchCD = Trim(Left(OpenFile.lpstrFile, InStr(1, OpenFile.lpstrFile, vbNullChar) - 1))
    End If
    End Function

  12. En el menú Depurar , haga clic en Compilar Neptunoy, a continuación, cierre el Editor de Visual Basic.
  13. En la ficha formato , haga clic en la flecha abajo situada debajo de vistay, a continuación, haga clic en Vista Formulario.
  14. Haga clic en Command1y, a continuación, haga clic en un archivo en la ventana que se abre.

    La ruta de acceso del archivo aparece en el
    Cuadro de texto de empresa1 .
Propiedades

Id. de artículo: 888695 - Última revisión: 17 ene. 2017 - Revisión: 1

Comentarios