Newsgroup: it.comp.appl.access
Titolo: Qual'è il metodo migliore per ...

...lanciare un report attraverso word.
mi spiego meglio: il o i record sono contenuti in una query di access,
invece il modello di stampa è stato fatto con word.
La cosa deve avvenire premendo un pulsante in una maschera di access
saluti
Giuseppe

 news:OBtz9.13516$Zn2.3...@twister1.libero.it...

    (Il o i record sono "contenuti" nelle tabelle, non nelle query. In
queste c'e' solo una stringa di testo in linguaggio SQL.)
    Cosa intendi con "modello di stampa"? Un "documento principale di stampa
unione" (Document) (.doc)? Oppure un "documento principale di stampa unione"
salvato come modello (Template) (.dot)?
    Se stiamo parlando di "stampa unione" il documento (o il modello) sara'
gia' collegato ad una origine dati. Probabilmente la query di cui
discorrevi. Quindi?... Ti serve solo sapere come lanciare la stampa?
Supponendo che le cose stiano cosi' potresti scrivere il codice seguente:
    Nel modulo della Maschera:
' ------------------------------------------------------------
  Option Base 0
  Option Compare Database
  Option Explicit
' ------------------------------------------------------------
' ============================================================
  Private Sub Comando1_Click()
' ------------------------------------------------------------
  If (StampaDoc("D:\PUBLIC", "TEST1.DOC") = True) Then
    Debug.Print "Ok."
  Else
    Debug.Print "Ko."
  End If
  End Sub
' ============================================================
    In un Modulo standard:
' ------------------------------------------------------------
  Option Compare Text
  Option Explicit
  Option Base 0
' ------------------------------------------------------------
' ------------------------------------------------------------
  Private Enum apiSW_Enum
' ------------------------------------------------------------
  SW_HIDE
  SW_SHOWNORMAL
  SW_SHOWMINIMIZED
  SW_SHOWMAXIMIZED
  SW_SHOWNOACTIVATE
  SW_SHOW
  SW_MINIMIZE
  SW_SHOWMINNOACTIVE
  SW_SHOWNA
  SW_RESTORE
  End Enum
' ------------------------------------------------------------
' HINSTANCE ShellExecute(
'   HWND    hWnd,
'   LPCTSTR lpOperation,
'   LPCTSTR lpFile,
'   LPCTSTR lpParameters,
'   LPCTSTR lpDirectory,
'   INT     nShowCmd
');
' ------------------------------------------------------------
  Private Declare Function apiShellExecute _
    Lib "shell32.dll" Alias "ShellExecuteA" ( _
      ByVal hWnd As Long _
    , ByVal lpOperation As String _
    , ByVal lpFile As String _
    , ByVal lpParameters As String _
    , ByVal lpDirectory As String _
    , ByVal nShowCmd As apiSW_Enum _
    ) As Long
' ============================================================
  Public Function StampaDoc( _
    ByVal PercorsoCompleto As String _
  , ByVal NomeDelFile As String _
  ) As Boolean
' ------------------------------------------------------------
  Dim oAcApp As Access.Application
' ------------------------------------------------------------
  Set oAcApp = Access.Application
  StampaDoc _
    = (apiShellExecute( _
          oAcApp.hWndAccessApp _
        , "print" _
        , NomeDelFile _
        , vbNullString _
        , PercorsoCompleto _
        , SW_SHOWMINIMIZED) _
    > 32)
  Set oAcApp = Nothing
  End Function
' ============================================================
--
Ciao :-)
Maurizio
--------
?SPQR(C)
 X
--------

Sai che non credevo ci volesse tanto codice?
saluti
Giuseppe

 Sai che non credevo ci volesse tanto codice?
    :-)
    Non e' tanto perche' la gran parte e' codice riutilizzabile: cioe' una
volta scritto e testato lo usi e non ci pensi piu'.
    Cmq se leggi anche gli altri post di questi ultimi due giorni troverai
soluzioni piu' "economiche".


 soluzioni piu' "economiche".
Dove sono, non le vedo.
Ti dispacerebbere indicarmele.
Saluti
Giuseppe