Access - Abrir una ventana para seleccionar archivo

 
Vista:

Abrir una ventana para seleccionar archivo

Publicado por FoneBone (1 intervención) el 07/06/2013 01:37:35
Buenos días, quería haceros una consulta por un problema que me está volviendo loco.

Antes de nada, aviso que mis conocimientos de VB son muy muy básicos, así que tened paciencia conmigo

He heredado una base de datos (no la he hecho yo) creada en Access 2003 que me he visto obligado a transformar a Access 2010 de 64 bits. El problema que tengo es que una vez pasada a 2010, no consigo que funcione la instrucción que permite que, pulsando un botón, se abra una ventana para seleccionar un archivo del disco duro e introducirlo en la base de datos. El código en Access 2003 funciona sin problemas, pero en 2010 el botón se queda muerto y no hace nada.

Os paso el código, por si me podéis echar una mano:

Private Sub cmdSeleccionar_Click()
Dim strFilter As String
Dim archivo As String
strFilter = ahtAddFilterItem(strFilter, "Todos los archivos(*.*)", "*.*")

'Abro un cuadro para seleccionar el archivo
archivo = ahtCommonFileOpenSave(InitialDir:="C:\", Filter:=strFilter, OpenFile:=True, _
DialogTitle:="Seleccione el Documento", _
flags:=ahtOFN_FILEMUSTEXIST Or ahtOFN_HIDEREADONLY Or ahtOFN_NOCHANGEDIR)

If Not IsNull(archivo) And archivo <> "" Then
If FileLen(archivo) > 4194304 Then
If MsgBox("El documento seleccionado supera los 4 Mb de tamaño. ¿Desea guardar el documento?", vbYesNo) = vbYes Then
Me.OleDoc.SourceDoc = archivo
Me.OleDoc.Action = acOLECreateEmbed
Me.Ruta = archivo
Else
'nada
End If
Else
Me.OleDoc.SourceDoc = archivo
Me.OleDoc.Action = acOLECreateEmbed
Me.Ruta = archivo
End If
End If
Exit Sub


Como podéis ver, lo que hace es, al pulsar el botón abrir una ventana para seleccionar el archivo. Comprueba si su tamaño supera los 4 megas y nos advierte de ello y lo introduce en la base de datos.

Muchas gracias por vuestro tiempo
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
sin imagen de perfil

Abrir una ventana para seleccionar archivo

Publicado por deneg_nhj (348 intervenciones) el 08/06/2013 18:16:06
La función que estas utilizando para mostrar el cuadro de dialogo hace usos de llamadas a las APIs de Windows, recuerdo esa funcion de hace años más bien de los tiempos de access 97.

Te sugiero utilizar Application.FileDialog

Te adjunto un ejemplo sacado de de la ayuda de Access


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
Private Sub cmdFileDialog_Click()
 
   ' Requires reference to Microsoft Office 11.0 Object Library.
 
   Dim fDialog As Office.FileDialog
   Dim varFile As Variant
 
   ' Clear listbox contents.
   Me.FileList.RowSource = ""
 
   ' Set up the File Dialog.
   Set fDialog = Application.FileDialog(msoFileDialogFilePicker)
 
   With fDialog
 
      ' Allow user to make multiple selections in dialog box
      .AllowMultiSelect = True
 
      ' Set the title of the dialog box.
      .Title = "Please select one or more files"
 
      ' Clear out the current filters, and add our own.
      .Filters.Clear
      .Filters.Add "Access Databases", "*.MDB"
      .Filters.Add "Access Projects", "*.ADP"
      .Filters.Add "All Files", "*.*"
 
      ' Show the dialog box. If the .Show method returns True, the
      ' user picked at least one file. If the .Show method returns
      ' False, the user clicked Cancel.
      If .Show = True Then
 
         'Loop through each file selected and add it to our list box.
         For Each varFile In .SelectedItems
            Me.FileList.AddItem varFile
         Next
 
      Else
         MsgBox "You clicked Cancel in the file dialog box."
      End If
   End With
End Sub



Saludos

deneg_nhj
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
Imágen de perfil de jose r
Val: 71
Ha disminuido su posición en 2 puestos en Access (en relación al último mes)
Gráfica de Access

Abrir una ventana para seleccionar archivo

Publicado por jose r (129 intervenciones) el 09/08/2013 18:36:27
Hola Que tal, me gustaria saber de que forma puedo abrir el cuadro de dialogo para imprimir un archivo de texto pero desde un boton de access

1. hacer click
2. que se abra el archivo .txt
3. Que se envie a imprimir el archivo de forma automatica

la historia:
genero un ticket en un TPV, solo asi puede lograr imprimir en una impresora de ticket, luego tengo que abrir este archivo y enviarlo a imprimir para poder sacar el ticket y darselo al cliente

solo me falta el paso 3 que es lo que no he podido lograr,

si alguien me puede ayudar por favor...
les agradesco de antemano
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