Enviar datos de access a word |
Responder |
Autor | |
letoy
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Nuevo Unido: 15/Noviembre/2008 Localización: España Estado: Sin conexión Puntos: 34 |
Tema: Enviar datos de access a word Enviado: 04/Junio/2020 a las 18:54 |
Hola muy buenas.
Tengo una tabla en access que tiene datos tipo "texto, memo, numéricos, mediante documento adjunto fotografias" es posible pasar todos esos datos a una plantilla word mediante vba? Tengo ya programado para pasar los campos texto, pero soy incapaz de conseguirlo con los campos restantes. Me parece increíble que se pueda hacer una exportación a pdf casi perfecta y a word solo texto enriquecido. Alguien me podría indicar si es posible o estoy dando palos de ciego. Si es posible donde podría sacar información, llevo días ya con esto y no lo consigo. Un saludo.
|
|
prga
Moderador Unido: 16/Noviembre/2004 Localización: España Estado: Sin conexión Puntos: 3523 |
Enviado: 05/Junio/2020 a las 09:38 |
Hola.
Si puedes, explica un poco como pasas o intentas pasar los datos de access a word. Ya comentas. Un saludo a todos
|
|
letoy
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Nuevo Unido: 15/Noviembre/2008 Localización: España Estado: Sin conexión Puntos: 34 |
Enviado: 05/Junio/2020 a las 10:01 |
Hola buenos días.
Os paso el código que funciona perfectamente. En el formulario : Private Sub Informe_Click() Call InformeWord("Informe_gestion_riesgos.dotm", "CLIENTES", "id_clientes=" & Me.id_clientes) End Sub En el módulo: Public Function InformeWord( _ ByVal plantilla_word As String, _ ByVal consulta As String, _ Optional ByVal filtro As String = "" _ ) As Boolean On Error GoTo Errores Dim rs As DAO.Recordset Dim campo As DAO.Field Dim appWord As Word.Application Dim documento_word As Word.Document Dim ruta_actual As String If filtro <> "" Then consulta = "SELECT * FROM " & consulta & " WHERE " & filtro End If Set rs = CurrentDb.OpenRecordset(consulta, dbOpenForwardOnly) If rs.BOF And rs.EOF Then 'Nada Else Set appWord = New Word.Application appWord.Visible = False Call SysCmd(acSysCmdInitMeter, "Exportando a Word", 100) DoCmd.Hourglass True If plantilla_word = "" Then Set documento_word = appWord.Documents.Add() Else ruta_actual = Left(CurrentDb.Name, InStrRev(CurrentDb.Name, "\")) Set documento_word = appWord.Documents.Add(ruta_actual & plantilla_word) End If For Each campo In rs.Fields With appWord.Selection.Find .ClearFormatting .Text = "[" & UCase(campo.Name) & "]" With .Replacement .ClearFormatting .Text = rs(campo.Name) & "" End With Call .Execute(Replace:=Word.WdReplace.wdReplaceAll) End With Next End If InformeWord = True Salida: On Error Resume Next appWord.Visible = True Call SysCmd(acSysCmdRemoveMeter) DoCmd.Hourglass False Set appWord = Nothing Set documento_word = Nothing rs.Close: Set rs = Nothing Set campo = Nothing Exit Function Errores: MsgBox Err.Description, vbCritical, "InformeWord" Resume Salida End Function Muchas gracias por vuestro interés |
|
prga
Moderador Unido: 16/Noviembre/2004 Localización: España Estado: Sin conexión Puntos: 3523 |
Enviado: 05/Junio/2020 a las 10:47 |
Hola.
A primera vista. El método "Find" , salvo mejor opinión, sólo 'pasa' 255 caracteres, por lo que los campos "memo" si tienen más caracteres los truncará. En este caso se tiene que utilizar un marcador para esos campos. En el foro, hace algún tiempo, ya se trató este tema. En cuanto a las imágenes el metodo find, nada de nada, y la cosa es más complicada desde un recordset y en un principio, que yo sepa, sólo se pueden pasar, sin recurrir a Apis, si están "visibles' en un formulario. Ya comentas. Un saludo a todos |
|
01loko
Colaborador Unido: 17/Agosto/2017 Localización: Santander Estado: Sin conexión Puntos: 807 |
Enviado: 05/Junio/2020 a las 11:47 |
Recordar de que soy nuevo y estoy aprendiendo.
|
|
letoy
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Nuevo Unido: 15/Noviembre/2008 Localización: España Estado: Sin conexión Puntos: 34 |
Enviado: 06/Junio/2020 a las 13:39 |
Gracias a los dos
|
|
Responder | |
Tweet
|
Ir al foro | Permisos de foro Usted No puede publicar nuevos temas en este foro Usted No puede responder a temas en este foro Usted No puede borrar sus mensajes en este foro Usted No puede editar sus mensajes en este foro Usted No puede crear encuestas en este foro Usted No puede votar en encuestas en este foro |