Hola de nuevo a todos los gurus de por aquí:
En primer lugar les indico el enlace de un foro de donde he conseguido un código para abrir cuadros de diálogo para seleccionear un archivo, ya que si el código original es de otro, pues de otro es, a ver.....
http://www.lawebdelprogramador.com/n..._archivos.html
He reconvertido parte de este cógigo del siguiente modo:
--------------------------------------------------
Private Sub Comando0_Click()
Dim El_Archivo As OPENFILENAME
Dim dbsMiBaseDatos As DAO.Database
Dim rstMiReg As DAO.Recordset
Dim MiSelect As String
DoCmd.SetWarnings False
With El_Archivo
.Tamaño_JJJT = Len(El_Archivo)
.Ins_JJJT = 1
.Filtro_JJJT = tltFiltro
.Fila_JJJT = Space$(254)
.MFila_JJJT = 255
.LTitulo_JJJT = Space$(254)
.MTitulo_JJJT = 255
.Disco_JJJT = Directorio
.Titulo_JJJT = "Busque la Base de Datos"
.JJJT_flags = 0
'.Ext_JJJT = word
End With
Set dbsMiBaseDatos = CurrentDb 'Asignamos la base de datos actual a la variable dbsMiBaseDAtos
'Instrucciones para escoger el máximo valor de ANALISIS_CABECERAS.CodCabeceraAnalisis en el que Tipo sea "LISTA"
MiSelect = "SELECT * FROM Documentos WHERE Documentos.Id=1"
Set rstMiReg = dbsMiBaseDatos.OpenRecordset(MiSelect, dbOpenDynaset)
'rstMiReg.MoveFirst
If Not rstMiReg.EOF Then
MsgBox "hola"
Else 'Abrimos el cuadro de diálogo pasándole a GetOpenFileName la estructura anterior
If JJJT_Dialog(El_Archivo) Then
MiSelect = "INSERT INTO Documentos VALUES (1,'" & Trim$(El_Archivo.Fila_JJJT)
MiSelect = MiSelect & "')"
MsgBox MiSelect
DoCmd.RunSQL MiSelect
Ctr = Trim$(El_Archivo.Fila_JJJT)
Else
MsgBox "Cancelado", , "Dialog"
End If
End If
Set rstMiReg = Nothing
dbsMiBaseDatos.Close
Set dbsMiBaseDatos = Nothing
End Sub
--------------------------------------------------
La idea es añadir en una tabla un vínculo al archivo que se selecciona en el cuadro de diálogo. El código tal cual lo he cogido de la dirección que les he puesto funciona correctamente, pero a mí me ha surgido un problema tonto que no tengo pelo... a corregir.
Cuando añado a MiSelect de inserción de datos en la tabla la comilla simple con el paréntesis de cierre, éste no aparece en el msgbox MiSelect, por lo que la intrucción de insertado en la tabla falla. Pero sin embargo, si compruebo las longitudes de MiSelect antes y después de añadir esa comilla simple y el paréntesis de cierre, pues esa longitud de la cadena varía en dos unidades.
No se por qué me varía la longitud de MiSelect pero no me tiene en cuenta todo el texto.
Espero haberme explicado y que me den la respuesta.
Gracias por aguantar el rollete.