Aprire un report access da visual studio

di Anonimizzato29154 il
14 risposte
Buongiorno a tutti

ho provato a cercare sul web e anche qui, ma non trovo nulla che mi aiuti.
ho una licenza ufficiale di office365 pro (aziendale) al cui interno ho creato con successo
un report partendo da tabelle ms-sql residenti sul ns server sql dedicato.

creo un flusso in formato txt da inviare alla banca da cui eseguire una serie di bonifici
a vari fornitori e alla fine dovrei stampare una serie di report da dare al collega della
contabilità, da inserire nella o nelle varie pratiche etc. etc.

non dispongo di crystal report (di cui ricordo non avevo un gran feeling) e allora ho
pensato che la cosa più semplice fosse quella di ricorrere al wizard di access e quindi
aprire il report via codice da visual studio.
non avrei MAI immaginato di andare a sbattere contro un muro insormontabile, almeno
per me.

queste righe di codice sono presenti nel pulsante StampaBonifici

questi imports mi sembra di aver capito debbano essere dichiarati per il corretto funzionamento:
Imports Microsoft.Office.Interop
Imports System.Threading
Imports System.Data
Imports System.Data.OleDb


Private Sub btnStampaBonifici_Click(sender As Object, e As EventArgs) Handles btnStampaBonifici.Click
Dim App1 As Object

App1 = CreateObject("Access.Application")

App1.OpenCurrentDatabase("C:\Users\" & pub_UserName & "\DB_Report.accdb"))
App1.DoCmd.OpenReport("rpt_ElencoDisposizioni")
App1.CloseCurrentDatabase
End Sub

non ho segnalazione di errori a livello di codice!
quando però eseguo il codice ho l'errore che il programma NON riesca a creare l'ActiveX

dove sbaglio? qualcuno potrebbe aiutarmi a capire l'errore che sto facendo?
grazie
andrea

14 Risposte

  • Che tipo di progetto stai utilizzando?
  • Visual studio 2019 community
  • Adesso per esempio ho trovato che posso aprire access da visual studio così
    System.Diagnostics.Process.Start("C:\Database1.accdb")
    io sostituisco il percorso dove c'è il mio file accdb
    vb apre access ed esegue la macro autoexec (che ho inserito nuova nuova) e mi fa la stampa del mio report
    ma vorrei che tutto questo NON SI VEDESSE! e quindi vorrei chiudere access: esiste qualche comando che me lo consente?
  • Funziona bene, ma non riesco a trovare un process.kill() per chiudere la finestra di access
    hai idea di come fare?

    grazie
  • Grazie gian82 ma lo dovrei usare in vb.net
  • Trovato!! risolto!!
  • Adesso che ho risolto il problema sono soddisfatto
    mi rimane però solo per principio capire come fare ad aprire un report fatto in access all'interno di visual studio (vb.net)
    e stamparlo....

    grazie
  • Scusa cobi63 se hai risolto potresti far vedere a tutti il codice utilizzato?
    Grazie
  • Ciao alip1

    purtroppo non faccio altro che lanciare il dB di access dove nella macro autoexec eseguo il report che mi serve.
    un soluzione sicuramente non elegante, ma nessuno mi ha consigliato un codice visual studio e nemmeno sul web
    ho trovato qualcosa.....

    ecco le righe...

    Dim psi = New ProcessStartInfo("miopercorso\miodb.accdb")

    psi.UseShellExecute = True
    psi.WindowStyle = ProcessWindowStyle.Hidden
    psi.WindowStyle = ProcessWindowStyle.Minimized
    Process.Start(psi)

    ciao
  • Grazie e nella macro cosa hai messo??
  • ... il comando per aprire il report in stampa con modalità finestra nascosta e poi chiudi access
  • Grazie
Devi accedere o registrarti per scrivere nel forum
14 risposte