Tengo un informe en modo dialogo

Por lo cual no se puede mostrar ninguna barra de herramientas, menudo problema, porque me gustaría enviar ese informe a Word, con la barra de herramientas es muy fácil, pero sin el, es imposible, porque no me deja, ni siquiera, pulsar el botón derecho del ratón. ¿Hay alguna forma de enviar ese informe a Word?

1 respuesta

Respuesta
1
Si abres la base de datos presionando mayúsculas al hacer doble click sobre ella, te dejara hacer lo que quieras en la base (modificarla)
Modifica el informe para que puedas acceder a los menús de exportar y listo.
Sí, muchas gracias. Pero lo que quiero, es que esta base de datos se lo dejo a personas que no tienen ni idea y quería dejarle un botón o mejor dicho, utilizar unas teclas, como CTRL+MAY+W, para enviarlo a Word. Porque si les digo que pulse la tecla May. allá va la base de datos, sabe Dios que me hacen. Además lo tengo protegido con contraseña, para que no se les ocurra pulsar la tecla May. Me gustaría saber como se puede crear, pulsando las teclas CTRL+MAY+W que exporte el informe a Word y allí que lo modifiquen como les da la gana y si lo hacen mal, aún lo tienen en la base de datos sin ningún problema.
Un saludo
Entonces se pone más difícil la cosa.
Tienes que hacerlo sin pasar por el informe, exportando los datos desde el formulario.
Te pongo un ejemplo:
********************************************************************
Option Explicit
Private Sub Command1_Click()  
    Call Exportar("c:\datos.doc", _  
                  "select * Form Tabla", _  
                  "c:\base.mdb")  
End Sub  
Private Sub Exportar(PathDesino As String, _  
                     Sql As String, _  
                     PathBd As String)  
    On Error GoTo ErrSub  
    Dim Word As New Word.Application  
    Dim Doc As Word.Document  
    Dim Tabla As Word.Table  
    Dim f As ADODB.Field, Col As Integer  
    Dim i As Integer, dato As Variant  
    ' si la bd está abierta .. la cierra  
    If cnn.State = adStateOpen Then  
       cnn.Close  
    End If  
    ' abre la conexión  
    cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data " & _  
             "Source=" & txtDb.Text  
    ' Abre el recordset  
    With rs  
        .CursorLocation = adUseClient  
        .Open Sql, cnn, adOpenStatic, adLockReadOnly  
    End With  
    ' progressbar  
    With ProgressBar1  
        .Max = rs.RecordCount  
        .Value = 0  
    End With  
    Screen.MousePointer = vbHourglass  
    ' agrega la tabla al docucumento, las filas y columnas  
    Set Doc = Word.Documents.Add  
    Set Tabla = Doc.Tables.Add(Word.Selection.Range, _  
                               rs.RecordCount + 1, _  
                               rs.Fields.Count)  
    'agrega los Campos  
    Col = 1  
    For Each f In rs.Fields  
        Tabla.Cell(1, Col).Range.Font.Bold = True  
        dato = f.Name  
        Tabla.Cell(1, Col).Range.Text = dato  
        Col = Col + 1  
    Next  
    ' los Datos  
    rs.MoveFirst  
    For i = 1 To rs.RecordCount  
        ProgressBar1.Value = i  
        Col = 1  
        For Each f In rs.Fields  
            dato = rs.Fields(f.Name)  
            Tabla.Cell(i + 1, Col).Range.Text = dato  
            Col = Col + 1  
        Next  
        rs.MoveNext ' siguiente  
    Next  
    ' fin  
    ProgressBar1.Value = 0  
    Screen.MousePointer = vbNormal  
    MsgBox "Listo", vbInformation  
    ' guarda el documento y lo cierra  
    Doc.SaveAs PathDesino  
    Set Tabla = Nothing  
    Set Doc = Nothing  
    Word.Quit  
    Set Word = Nothing  
    ' cierra el recordset y la bd  
    rs.Close  
    Set rs = Nothing  
    cnn.Close  
    Set cnn = Nothing  
'Rutina de Error  
''''''''''''''''''''  
    Exit Sub  
ErrSub:  
    ' por si el dato es un Null  
    If Err.Number = 94 Then  
       Err.Clear  
       dato = vbNullString  
       Resume Next  
    Else  
       MsgBox Err.Description  
       Screen.MousePointer = vbNormal  
    End If  
End Sub  
Private Sub Form_Load()  
    Command1.Caption = "exportar"  
End Sub
********************************************************************
Fuente del ejemplo:
http://www.recursosvisualbasic.com.ar/htm/trucos-codigofuente-visual-basic/404-recordset-a-word.htm
Muchas gracias otra vez. Pero las personas me piden que cuando están viendo la vista previa del informe, que quieren cambiar esto por aquello, entonces mi intención es enviárselo ese informe, tal como está, a Word y que ellos lo varíen, como les da la gana. Si lo están viendo en formulario no saben como va a salir en el informe. Con el botón Publicar en Word, es fácil y ya está. Lo que me gustaría saber es como al pulsar unas teclas lo ejecuta, por ejemplo, si estamos en la vista preliminar, pulsamos Ctrl+P lo manda a la impresora, por eso, me gustaría saber como puedo activar con unas teclas, para que lo mande a Word.
Un saludo
Obtenido de Microsoft:
Exportar los datos
En el grupo Exportar de la ficha Datos externos, haga clic en Word.
Nota Los comandos Exportar están disponibles sólo cuando la base de datos está abierta.
Publicación original:
http://office.microsoft.com/es-es/access-help/exportar-datos-a-word-HA010006922.aspx

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas