Pasar campos de formularios de access a word mediante boton

19/06/2012 - 23:25 por kbello | Informe spam
Buenas a todos, estoy intentando pasar unos campos de 2 formularios distintos en access a una plantilla de word, pero solo me pasa los campos del formulario actual(sobre el que tengo el boton), los del otro formulario el codigo me da error. Os paso el codigo.

Private Sub Comando45_Click()

Const plantilla = "\Factura.dot"

Dim appWord As Word.Application
Dim wordDoc As Word.Document

Set appWord = New Word.Application
With appWord
.Visible = True
.WindowState = wdWindowStateMaximize
End With
Set wordDoc = appWord.Documents.Add(CurrentProject.Path & plantilla)

With wordDoc
.Unprotect
.Bookmarks("Nombre_ase").Range.Text = Me.[Factura].Form!Nombre_ase
.Bookmarks("Direccion_ase").Range.Text = Me.[Factura].Form!Direccion_ase
.Bookmarks("Codigo_postal_ase").Range.Text = Me.[Factura].Form!Codigo_postal_ase
.Bookmarks("Poblacion_ase").Range.Text = Me.[Factura].Form!Poblacion_ase
.Bookmarks("Provincia_ase").Range.Text = Me.[Factura].Form!Provincia_ase
.Bookmarks("CIF_ase").Range.Text = Me.[Factura].Form!CIF_ase

.Bookmarks("Nombre_tra").Range.Text = Me.Nombre_tra.Value
.Bookmarks("Apellido1_tra").Range.Text = Me.Apellido1_tra.Value
.Bookmarks("Apellido2_tra").Range.Text = Me.Apellido2_tra.Value
.Bookmarks("Dni_tra").Range.Text = Me.Dni_tra.Value
.Bookmarks("Direccion_tra").Range.Text = Me.Direccion_tra.Value
.Bookmarks("Poblacion_tra").Range.Text = Me.Poblacion_tra.Value
.Bookmarks("Provincia_tra").Range.Text = Me.Provincia_tra.Value


.Protect Type:=wdAllowOnlyFormFields, NoReset:=True
End With




Set appWord = Nothing
Set wordDoc = Nothing
End Sub

Preguntas similare

Leer las respuestas

#1 Emilio
19/06/2012 - 23:34 | Informe spam
¡Importante!: Colabora con el grupo.Contesta a este mensaje y dinos si te
sirvió o no la respuesta dada. Muchas gracias
Hola!
así, de buenas a primeras, diría que te sobran todos esos .text

Saludos a todos desde Huelva

Emilio [MS-MVP Access 2006/11]
miliuco56 ALGARROBA hotmail PUNTO com
http://www.mvp-access.com/foro
http://www.mvp-access.es/emilio
"kbello" escribió en el mensaje de
noticias news:
Mostrar la cita
__________ Information from ESET Smart Security, version of virus signature database 7233 (20120619) __________

The message was checked by ESET Smart Security.

http://www.eset.com
#2 José Mª Fueyo
20/06/2012 - 11:51 | Informe spam
Hola
No nos comentas que versión de Office utilizas.
Aparte de lo que comenta Emilio, sería interesante que nos dijeras que error te da.

Salu2,
José Mª Fueyo
[MS MVP Access]
#3 kbello
20/06/2012 - 20:22 | Informe spam
kbello escribió el 19/06/2012 23:25 :
Mostrar la cita
Buenas, la version de office que utilizo es la 2010 y el error que me da es el siguiente:
SE HA PRODUCIDO EL ERROR '2465' EN TIEMPO DE EJECUCION:
Base de datos no encuentra el campo '|1' al que se hace referencia en la expresión.

Y me abre la plantilla de word, pero no inserta los campos.

Saludos
#4 kbello
21/06/2012 - 00:41 | Informe spam
kbello escribió el 19/06/2012 23:25 :
Mostrar la cita
Este codigo si funciona bien:

.Bookmarks("Nombre_tra").Range.Text = Me.Nombre_tra.Value
.Bookmarks("Apellido1_tra").Range.Text = Me.Apellido1_tra.Value
.Bookmarks("Apellido2_tra").Range.Text = Me.Apellido2_tra.Value
.Bookmarks("Dni_tra").Range.Text = Me.Dni_tra.Value
.Bookmarks("Direccion_tra").Range.Text = Me.Direccion_tra.Value
.Bookmarks("Poblacion_tra").Range.Text = Me.Poblacion_tra.Value
.Bookmarks("Provincia_tra").Range.Text = Me.Provincia_tra.Value

Me inserta estos campos en la plantilla de word del formulario actual (trabajador), pero este otro codigo no funciona (quiero cogerlo de otro formulario que se llama Factura) y al depurar se pone amarilla la primera linea:

.Bookmarks("Nombre_ase").Range.Text = Me.[Factura].Form!Nombre_ase
.Bookmarks("Direccion_ase").Range.Text = Me.[Factura].Form!Direccion_ase
.Bookmarks("Codigo_postal_ase").Range.Text = Me.[Factura].Form!Codigo_postal_ase
.Bookmarks("Poblacion_ase").Range.Text = Me.[Factura].Form!Poblacion_ase
.Bookmarks("Provincia_ase").Range.Text = Me.[Factura].Form!Provincia_ase
.Bookmarks("CIF_ase").Range.Text = Me.[Factura].Form!CIF_ase

Por cierto, he quitado todos los .Text y hace los mismo.

Un saludo
Ads by Google
Search Busqueda sugerida