Access - equivalente en access de un control VB

 
Vista:

equivalente en access de un control VB

Publicado por darodve (7 intervenciones) el 19/04/2004 18:59:37
Hola a todos, alguien sabe cual es el equivalente en access de los controles visual basic: drivelistbox, dirlistbox y filelistbox??
Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

equivalente en access de un control VB

Publicado por Alejandro (4142 intervenciones) el 05/05/2023 00:51:53
En Access, no hay un control específico que funcione exactamente igual que los controles `DriveListBox`, `DirListBox` y `FileListBox` de Visual Basic. Sin embargo, se pueden utilizar algunos controles de Access para realizar funciones similares.

Para seleccionar una unidad en Access, puede utilizar el control `ComboBox` y llenarlo con las unidades disponibles en el sistema utilizando el siguiente código:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Private Sub Form_Load()
    Dim strDrive As String
    Dim i As Integer
 
    'Rellenar el combobox con las unidades disponibles
    For i = 65 To 90
        strDrive = Chr(i) & ":\"
        If GetDriveType(strDrive) = 3 Then
            cboDrive.AddItem strDrive
        End If
    Next i
 
    'Seleccionar la unidad actual
    cboDrive.Value = Left$(CurrentDb.Name, 2)
End Sub

Para seleccionar una carpeta, puede utilizar el control `TextBox` y el cuadro de diálogo `Common Dialog Control`. Puede utilizar el siguiente código para abrir el cuadro de diálogo y obtener la ruta de la carpeta seleccionada:

1
2
3
4
5
6
7
8
9
10
11
12
Private Sub cmdBrowse_Click()
    Dim dlg As Object
 
    Set dlg = Application.FileDialog(4) '4 para seleccionar carpeta
 
    'Mostrar el cuadro de diálogo
    If dlg.Show = -1 Then
        Me.txtFolder = dlg.SelectedItems(1)
    End If
 
    Set dlg = Nothing
End Sub

Para mostrar los archivos de una carpeta, puede utilizar un control `ListBox` y llenarlo con los archivos utilizando la función `Dir`. Por ejemplo, el siguiente código llenará un `ListBox` con todos los archivos de la carpeta seleccionada:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Private Sub txtFolder_AfterUpdate()
    Dim strFolder As String
    Dim strFile As String
 
    'Limpiar la lista de archivos
    lstFiles.RowSource = ""
 
    'Comprobar si la carpeta existe
    If Len(txtFolder.Value) = 0 Or Dir(txtFolder.Value, vbDirectory) = "" Then
        Exit Sub
    End If
 
    'Llenar la lista con los archivos
    strFolder = txtFolder.Value & IIf(Right$(txtFolder.Value, 1) = "\", "", "\")
    strFile = Dir(strFolder & "*.*")
    Do While Len(strFile) > 0
        If (GetAttr(strFolder & strFile) And vbDirectory) = 0 Then
            lstFiles.AddItem strFile
        End If
        strFile = Dir()
    Loop
End Sub

Espero que esto te ayude a crear una funcionalidad similar a la que buscas en tu aplicación de Access.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar