Collegamento di Visual Basic per l'output SQL in Word

0

Ho bisogno di alcuni consigli / riferimenti. Attualmente sto cercando di sviluppare un'interfaccia per documenti legali. Ci sono alcuni campi in cui ho bisogno di interrogare dal mio sql db e avere quei campi in output in un documento che può essere stampato. Sto cercando di sviluppare un'interfaccia utente in cui le persone possano inserire campi che verranno inviati a un modello di documento, ma allo stesso tempo ho bisogno che il modello sia in grado di estrarre dati dal database SQL. Questo è il motivo per cui penso che VB potrebbe essere la mia scelta migliore e perché è una delle uniche lingue OOP con cui ho familiarità attualmente. Qualcuno sa che il modo migliore per essere in grado di gestire questo tipo di lavoro?

So che puoi utilizzare VBA in MS Word e avere le variabili di output del modulo su un modello di parole. Ma c'è un modo per avere la parola documento anche per estrarre informazioni dal db SQL? È la migliore opzione per utilizzare VB collegato a SQL ed eseguire query per ottenere le informazioni dal database e quindi inviarlo a un for all'interno di VB? È possibile che VB sia collegato a un DB SQL e variabili di output e campi SQL a un modello di Word?

Ho esaminato Mail Merge e vedo che consente agli utenti di estrarre dati da una query di Access ma non penso che sarebbe facile automatizzare e sembra che gli utenti abbiano bisogno di avere una conoscenza avanzata di MS Word e Access per gestire questo. Non sto trovando molte informazioni utili online, quindi sono venuto qui.

Qualsiasi consiglio o riferimento sarebbe molto apprezzato. Se c'è un modo migliore per favore fammi sapere.

    
posta CLO_471 06.04.2012 - 16:06
fonte

5 risposte

1

Cerca nell'uso di MS Office Automation

Puoi anche automatizzare la stampa unione, in pratica puoi automatizzare qualsiasi cosa tu possa fare in ufficio.

Tutti gli oggetti utilizzati per la creazione di macro per ufficio sono accessibili per l'uso al di fuori dell'ufficio. Quindi se vuoi sapere come fare qualcosa via codice, registra semplicemente una Macro, poi guarda il codice e traducilo nella tua lingua preferita.

    
risposta data 06.04.2012 - 16:19
fonte
1

Il problema di Office Automation su un server è che è molto pesante. Ho scoperto che lavorare con strumenti di terze parti che manipolano direttamente i documenti di Word è la strada migliore. Ad esempio, ho utilizzato con successo gli strumenti di SyncFusion per creare documenti Excel e Word da un'app basata sui dati. Desideri qualcosa che possa funzionare con modelli di parole (che puoi eventualmente archiviare nel database) e che possa fare qualcosa di simile alla fusione dei dati con i tuoi dati. La cosa divertente, l'ho usato in un'applicazione di un ufficio legale proprio come lo stai descrivendo. Il throughput della libreria di syncfusion mette a tacere l'automazione degli uffici e produce documenti di altissima qualità.

Ecco un link agli esempi di lavorare con la loro libreria

    
risposta data 06.04.2012 - 18:01
fonte
0

Oltre alla risposta di @Morons, puoi provare una Macro per gestire automaticamente i bit più complessi della Stampa unione per i tuoi utenti, in modo che non abbiano bisogno di sapere come fare qualsiasi cosa, tranne eseguire la macro creata. Cerca Visual Basic per applicazioni per ulteriori informazioni sulle macro.

VBA enables building user defined functions, automating processes and accessing Windows API...

    
risposta data 06.04.2012 - 16:35
fonte
0

Se stai seguendo la rotta VBA, la connessione a un database SQL e il trasferimento di alcune informazioni da lì è facile. Puoi utilizzare il classico "ADO", qui

link

troverai alcuni esempi. Ovviamente, quando si deve progettare un'interfaccia utente basata su una finestra di dialogo, preferirei utilizzare VB.NET (insieme all'automazione, proprio come suggerito dagli altri).

    
risposta data 06.04.2012 - 21:57
fonte
0

Hai le seguenti opzioni (almeno):

1-Pure VBA

2-. Applicazione NET con automazione VBA

3-.NET applicazione senza automazione VBA

Il problema con tutti e 3 gli approcci è che potrebbe essere necessario rielaborare il codice se il modello cambia.

I problemi con 1 e 2 sono: - L'utente deve avere installato Office

  • Non è banale distribuire macro office a meno che tu non sappia cosa stai facendo bene

  • VBA non ha una GUI di fantasia

  • Che cosa succede se la versione di Office viene aggiornata o se non tutti gli utenti utilizzano la stessa versione?

L'opzione 2 è particolarmente sensibile alla disponibilità delle librerie d'ufficio sulla macchina dell'utente e utilizza COM, che è qualcosa che si desidera evitare, se possibile.

L'opzione 3 potrebbe essere utilizzata ottenendo uno strumento di terze parti in grado di generare documenti MS-Word senza che l'utente debba disporre di MS-Office. A seconda della complessità del documento di output, è anche possibile utilizzare un writer di report gratuito per visualizzare il documento risultante come report o salvarlo come documento MS-Word. Quasi tutti gli autori di report possono farlo. È possibile definire il testo di input e il formato in un documento MS-Word o come un file specifico dell'applicazione separato utilizzando HTML, XML, ecc.).

Questa opzione fornisce un'installazione e una distribuzione più semplici ma è più complessa da sviluppare e potrebbe costarti un po 'di soldi.

I vantaggi di questo è che non dipende molto dalla versione di MS-Office. MS è sempre stato compatibile con i suoi vecchi formati di file.

    
risposta data 07.04.2012 - 10:44
fonte

Leggi altre domande sui tag