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

Moderada: Requiere macro básico, codificación y conocimientos de interoperabilidad.

INTRODUCCIÓN

Este artículo describe cómo utilizar la API de diálogo comunes para reemplazar la funcionalidad del cuadro de diálogo común que se incluye sólo con Microsoft Office 97 Developer Edition, Office 2000 Developer Edition y 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.
  1. Abra la base de datos de ejemplo Neptuno.mdb.
  2. Crear un nuevo formulario. Nombre del formulario Form1. Abra el nuevo formulario en la vista Diseño.
  3. Agregue un botón de comando a Form1. Establezca la propiedad Name y la propiedad Caption en "Command1".
  4. Agregue un cuadro de texto a Form1. Establezca la propiedad Name como "Text1".
  5. Haga clic en Command1, haga clic en Propiedadesy, a continuación, haga clic en la ficha evento .
  6. En el procedimiento de evento De clic , haga clic en [Procedimiento de evento] en la lista desplegable y, a continuación, haga clic en el botón de puntos suspensivos para iniciar el Editor de Visual Basic.
  7. Modifique el procedimiento Command1_Click al siguiente:
    Private Sub Command1_Click()    Me!Text1 = LaunchCD(Me)
    End Sub

  8. En el menú Insertar , haga clic en módulo.
  9. Copie y pegue el siguiente ejemplo de código en el nuevo módulo.
    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

  10. En el menú Depurar , haga clic en compilar y guardar todos los módulossi utiliza Access 97. Si utiliza Access 2000 o Access 2002, haga clic en Compilar Neptunoy, a continuación, cierre la ventana de código.
  11. En el menú Ver , haga clic en Vista Formulario.
  12. Haga clic en Command1. Haga clic en un archivo en la ventana browse. Ponga la ruta de ese archivo en el cuadro Text1 .
Propiedades

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

Comentarios