Newsgroup: it.comp.lang.visual-basic
Titolo: Vb, Recordset e Word

Salve!
Qualcuno potrebbe farmi sapere se č possibile passare  un recordset da
un'applicazione Vb ad un foglio Ms Word in modo che in questo si possano
visualizzare le informazioni in esso contenute?
Ringrazio in Anticipo.

 visualizzare le informazioni in esso contenute?
Domanda imbarazzante perche' hai l'imbarazzo della scelta e, una volta
scelto, l'imbarazzo dell'implementazione.
Che ne dici di descriverci con appena un poco piu' di dettaglio quello che
vuoi fare, al fine di individuare insieme la metodologia piu' consona alle
tue esigenze?
Nel frattempo potresti consultare la guida alla voce CreateObject e
dintorni.
--
Ciao.
Maurizio

 > Qualcuno potrebbe farmi sapere se è possibile passare  un recordset da

Come prima cosa ti ringrazio per l'interessamento,poi mi scuso per
"l'imbarazzo" che ho provocato ,ma sono alle prime armi.
Adesso spiego meglio cio che vorrei implementare:
Sto implementando un programmino che gestisca degli ordinativi;
Ho  costruito le interfacce di acquisizione dati per ogni ordine
e le funzionalità di memorizzazione in database.
Mi è stato commissionato di creare una routine che prese le informazioni
da un ordine specifico le trasferisca ad un Documento Word che deve
fungere da "modello" .
Ora il problema sostanziale è che io di  Word non ne capisco molto;
Ho provato a collegare un documento Word  al db utilizzando istruzioni
SQL per localizzare il record , ma una volta fatto cio non so come
visualizzarne i dati, e considerando che tale operazione comporta
l'apertura in "Sottofondo" di Access vorrei trovare un modo più
"pulito",cosi ho
pensato di aprire Word da codice utilizzando appunto il CreateObject del
quale
alcune informazioni ho reperito dall Help in linea (Dico Alcune perche Ho la
versione Inglese.....).Ora La Mia domanda è :
Come Faccio a passare le informazioni del record ( l'ordine in questione) al
documento Word e far si che i valori dei campi vengano visualizzati
All'interno del documento?
So che forse mi sto perdendo in un bicchier d'acqua ma sarei grato di un
aiutino e magari di qualche piccolo esempio
Grazie in Anticipo
Mario

 aiutino e magari di qualche piccolo esempio
Per fare piu' in fretta ti ho scritto un esempio direttamente in Word che
usa il metodo classico dei Bookmarks, in cui manca totalmente la parte di
gestione dei dati perche' mi sembra di aver capito che non e' quello il
problema.
Ovviamente dovrai cambiare la definizione dell'applicazione (wdApp) se
includerai il codice in VB o VBA di altra applicazione, appunto mediante il
CreateObject di cui si discorreva.
Ho aperto un nuovo documento, ho scritto il testo e qui e la' ho inserito
due Segnalibri (Bookmarks), col comando Inserisci >Segnalibri, e li ho
chiamati "PrimoCampo" e "SecondoCampo". Quindi ho salvato il documento come
Modello (Template) ma non nella cartella predefinita, bensi' in quella
dell'applicazione. Le conseguenze sono due, principalmente: 1. il modello
non e' disponibile per l'utente nell'apposita finestra dei modelli, a meno
che non ne conosca il percorso; 2. il progetto e' piu' facilmente gestibile
senza doversi preoccupare della posizione, variabilissima, della cartella
dei modelli. Ma tutto questo potrebbe non essere rilevante: vedi tu.
Il resto lo fa il codice seguente. Scusa se mi ripeto: integrato con le
istruzioni riguardanti la gestione dei dati.
Option Explicit
Public Sub ProvaSegnalibri( _
)
Dim s_DotFullName           As String
Dim s_DocFullName           As String
Dim wdApp                   As Word.Application
Dim wdDoc                   As Word.Document
Dim b_SavePropertiesPrompt  As Boolean
  Let s_DotFullName = "C:\Progetti\MSO8\WD\WD&AC\WD&AC.dot"
  Let s_DocFullName = "C:\Progetti\MSO8\WD\WD&AC\Prova2.doc"
  Set wdApp = Application
  With wdApp
    With .Options
      Let b_SavePropertiesPrompt = .SavePropertiesPrompt
      Let .SavePropertiesPrompt = False
    End With
    Set wdDoc = .Documents.Add(Template:=s_DotFullName)
    With wdDoc
      Call .SaveAs(FileName:=s_DocFullName)
      With .Bookmarks
        Let .Item(Index:="PrimoCampo").Range.Text = "Pippo"
        Let .Item(Index:="SecondoCampo").Range.Text = "Pluto"
      End With
      Call .Close(SaveChanges:=wdSaveChanges)
    End With
    Set wdDoc = Nothing
    Let .Options.SavePropertiesPrompt = b_SavePropertiesPrompt
  End With
  Set wdApp = Nothing
End Sub
--
Ciao.
Maurizio