Gracias
Es en word donde se ejecuta el código sql, supongo que para la base de
datos en la que estás trabajando.
¿Por qué no haces la consulta en la base de datos y luego trasladas los
datos al word?
de cualquier forma, dinos el código que has puesto en word
y el código que has puesto en access para que se abra el word
así podremos orientarte algo más.
un saludo
Private Sub Comando85_Click()
Dim strPATH, strPROP, mensaje, estilo, TiTULO, Respuesta
Dim WordApp As Object
mensaje = "¿Quiere crear las etiquetas ?"
estilo = vbYesNo + vbQuestion + vbDefaultButton1
TiTULO = "PROCESO DE CREACION DE ETIQUETAS"
Respuesta = MsgBox(mensaje, estilo, TiTULO)
If Respuesta = vbYes Then
strPATH = Application.CurrentProject.Path
Set WordApp = CreateObject("Word.Application")
With WordApp
.Visible = True 'False
.Documents.Add strPATH & "\etiquetas.doc"
End With
End If
End Sub
Gracias
"charrogar" escribió:
--
Un saludo,
Patxi Sanz
Tudela (NA)
http://www.pasa.es.tt/
Como te digo cada vez que abro ese fichero etiquetas.doc me combina los
datos de la tabla acces con el documento de las etiquetas, es decir me crea
una etiqueta por cada registro de la tabla.
pero cuando el archivo etiquetas.doc lo abro mediante código desde acces no
actua igual que cuando se abre desde word, no realiza la combinacion y es mas
deja inhabilitados los menus de word que lo realizarian
gracias
"Patxi Sanz" escribió:
lo vuelvo a repetir esta vez desde outlook y siento el retraso.
De cualquier forma, lo que intentas hacer no es posible, para que lo
confirmes, haz una cosa, desvinc�lalo, abre la base de datos, intenta
vincularlo y te dir� que el usuario Admin ha bloqueado la base datos... o
algo parecido ya que estando abierta no puede trabajar.
Por ello te pongo lo que hay aqu� abajo y me cuentas que tal te va y sobre
ello trabajamos (salvo que haya alguna sugerencia de los expertos genios
mejor claro)
Como veo que tienes conocimientos, te pongo un c�digo al que le faltan
cosillas, como saber la hoja de etiquetas de cuantas por cuantas y as� ir
construyendo en funci�n de los datos, de cualquier forma si tienes dudas nos
comentas. AAAhhh, que no se me olvide, lo que quieres hacer quiz� es algo
m�s f�cil haciendo un informe de access, pero si tienes mucho inter�s que
sea en word prueba con esto
If Respuesta = vbYes Then
strPATH = Application.CurrentProject.Path
Set WordApp = CreateObject("Word.Application")
With WordApp
.Visible = True 'False
.Documents.Add strPATH & "\etiquetas.doc"
'selecciona una celda de la tabla y ponle el valor "prueba"
'como quieres ir poniendo una en cada etiqueta, s�lo tienes que
'recorrer con do until tuconsulta.eof, sabiendo el n�mero de columnas
'tendr�s que hacer un c�lculo matem�tico si hay 3 columnas, ser� 'dividir
para 3 el primer n�mero ser� el cociente y el segundo el resto
.Application.ActiveDocument.Tables(1).cell(2, 1).Range.SELECT
.Application.Selection.Text = "prueba" 'Trim(Nz(Me.Nombre))
End With
WordApp.Application.Selection.MoveRight Unit:=1, Count:=1 'salimos tabla
'unit=1 caracteres
End If
bueno espero no haberme equivocado y que el c�digo est� bien, lo he hecho
sin probarlo
ya nos cuentas
"charrogar" <char...@hotmail.com> escribi� en el mensaje
news:85918585-9255-4892...@microsoft.com...
> Uso ACCES 2007
> me pasa lo siguiente:
> he creado un documento word que realiza una combinacion de correspondencia
> para crear etiquetas (el documento al abrir ejecuta un codigo SQL que
> realiza
> la combinaci�n de correspondencia y hasta esto sin problema)
> Cuando desde un formulario acces abro ese mismo documento (se abre
> pero...)
> no actua de la misma manera, ya no ejecuta el codigo SQL que realiza la
> combinaci�n.
> Desde mi torpeza entiendo que debe de abrir el documento como de solo
> lectura y habria , de algun modo, que decir que fuese de escritura.
> gracias
>
> Gracias
>
"charrogar" <char...@hotmail.com> escribi� en el mensaje
news:095AA4F9-2A22-4DBE...@microsoft.com...
> Este es el codigo del boton de comando
>
> Private Sub Comando85_Click()
>
>
> Dim strPATH, strPROP, mensaje, estilo, TiTULO, Respuesta
> Dim WordApp As Object
>
> mensaje = "�Quiere crear las etiquetas ?"
> estilo = vbYesNo + vbQuestion + vbDefaultButton1
> TiTULO = "PROCESO DE CREACION DE ETIQUETAS"
> Respuesta = MsgBox(mensaje, estilo, TiTULO)
>
> If Respuesta = vbYes Then
>
> strPATH = Application.CurrentProject.Path
> Set WordApp = CreateObject("Word.Application")
> With WordApp
> .Visible = True 'False
> .Documents.Add strPATH & "\etiquetas.doc"
> End With
> End If
> End Sub
>
> Gracias
>
>
>
>
> "charrogar" escribi�:
>
>> Uso ACCES 2007
>> me pasa lo siguiente:
>> he creado un documento word que realiza una combinacion de
>> correspondencia
>> para crear etiquetas (el documento al abrir ejecuta un codigo SQL que
>> realiza
>> la combinaci�n de correspondencia y hasta esto sin problema)
>> Cuando desde un formulario acces abro ese mismo documento (se abre
>> pero...)
>> no actua de la misma manera, ya no ejecuta el codigo SQL que realiza la
>> combinaci�n.
lo vuelvo a repetir esta vez desde outlook y siento el retraso.
De cualquier forma, lo que intentas hacer no es posible, para que lo
confirmes, haz una cosa, desvincúlalo, abre la base de datos, intenta
vincularlo y te dirá que el usuario Admin ha bloqueado la base datos... o
algo parecido ya que estando abierta no puede trabajar.
Por ello te pongo lo que hay aquí abajo y me cuentas que tal te va y sobre
ello trabajamos (salvo que haya alguna sugerencia de los expertos genios
mejor claro)
Como veo que tienes conocimientos, te pongo un código al que le faltan
cosillas, como saber la hoja de etiquetas de cuantas por cuantas y así ir
construyendo en función de los datos, de cualquier forma si tienes dudas nos
comentas. AAAhhh, que no se me olvide, lo que quieres hacer quizá es algo
más fácil haciendo un informe de access, pero si tienes mucho interés que
sea en word prueba con esto
If Respuesta = vbYes Then
strPATH = Application.CurrentProject.Path
Set WordApp = CreateObject("Word.Application")
With WordApp
.Visible = True 'False
.Documents.Add strPATH & "\etiquetas.doc"
'selecciona una celda de la tabla y ponle el valor "prueba"
'como quieres ir poniendo una en cada etiqueta, sólo tienes que
'recorrer con do until tuconsulta.eof, sabiendo el número de columnas
'tendrás que hacer un cálculo matemático si hay 3 columnas, será 'dividir
para 3 el primer número será el cociente y el segundo el resto
.Application.ActiveDocument.Tables(1).cell(2, 1).Range.SELECT
.Application.Selection.Text = "prueba" 'Trim(Nz(Me.Nombre))
End With
WordApp.Application.Selection.MoveRight Unit:=1, Count:=1 'salimos
tabla
'unit=1 caracteres
End If
bueno espero no haberme equivocado y que el código esté bien, lo he hecho
sin probarlo
ya nos cuentas
El 05/02/2010 12:54, charrogar escribió:
lo vuelvo a repetir esta vez desde outlook y siento el retraso.
De cualquier forma, lo que intentas hacer no es posible, para que lo
confirmes, haz una cosa, desvincúlalo, abre la base de datos, intenta
vincularlo y te dirá que el usuario Admin ha bloqueado la base datos... o
algo parecido ya que estando abierta no puede trabajar.
Por ello te pongo lo que hay aquí abajo y me cuentas que tal te va y sobre
ello trabajamos (salvo que haya alguna sugerencia de los expertos genios
mejor claro)
Como veo que tienes conocimientos, te pongo un código al que le faltan
cosillas, como saber la hoja de etiquetas de cuantas por cuantas y así ir
construyendo en función de los datos, de cualquier forma si tienes dudas nos
comentas. AAAhhh, que no se me olvide, lo que quieres hacer quizá es algo
más fácil haciendo un informe de access, pero si tienes mucho interés que
sea en word prueba con esto
If Respuesta = vbYes Then
strPATH = Application.CurrentProject.Path
Set WordApp = CreateObject("Word.Application")
With WordApp
.Visible = True 'False
.Documents.Add strPATH & "\etiquetas.doc"
'selecciona una celda de la tabla y ponle el valor "prueba"
'como quieres ir poniendo una en cada etiqueta, sólo tienes que
'recorrer con do until tuconsulta.eof, sabiendo el número de columnas
'tendrás que hacer un cálculo matemático si hay 3 columnas, será 'dividir
para 3 el primer número será el cociente y el segundo el resto
.Application.ActiveDocument.Tables(1).cell(2, 1).Range.SELECT
.Application.Selection.Text = "prueba" 'Trim(Nz(Me.Nombre))
End With
WordApp.Application.Selection.MoveRight Unit:=1, Count:=1 'salimos
tabla
'unit=1 caracteres
End If
bueno espero no haberme equivocado y que el código esté bien, lo he hecho
sin probarlo
ya nos cuentas
El 05/02/2010 23:51, charrogar escribió:
> Este es el codigo del boton de comando
>
> Private Sub Comando85_Click()
>
>
> Dim strPATH, strPROP, mensaje, estilo, TiTULO, Respuesta
> Dim WordApp As Object
>
> mensaje = "¿Quiere crear las etiquetas ?"
> estilo = vbYesNo + vbQuestion + vbDefaultButton1
> TiTULO = "PROCESO DE CREACION DE ETIQUETAS"
> Respuesta = MsgBox(mensaje, estilo, TiTULO)
>
> If Respuesta = vbYes Then
>
> strPATH = Application.CurrentProject.Path
> Set WordApp = CreateObject("Word.Application")
> With WordApp
> .Visible = True 'False
> .Documents.Add strPATH& "\etiquetas.doc"