Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    ReportManager/VB NET 2005 e driver non supportato

    Salve....

    ho un problema dovuto forse al poco tempo che lo uso con ReportManager e VB.NET 2005

    Ho importato una referenza verso l'oggetto ReportMan.OCX come indicato nella documentazione ed ho richiamato l'anteprima con questo codice:

    codice:
    Dim dd As New Reportman.ReportManX
            dd.filename = Application.StartupPath & "\rptFornitori.rep"
            dd.Preview = True
            dd.Execute()
    Intanto ditemi se è corretto...anche se premetto che funziona correttamente...

    I miei problemi sono essenzialmente due...e riguardano il designer di ReportManager

    1) Utilizzando sul mio programma System.Data.OleDb per collegarsi ad un DB Access 2000, intendevo fornire questo tipo di accesso dal designer e cosi ho tentato come mostro in questa finestra



    Purtroppo però nonostante il test dal designer dia esito positivo, VB mi dice che il "driver non è supportato" per cui l'unico modo in cui mi funziona è impostando il driver "Microsoft DAO"...ma non mi sembra corretto...voi che dite?

    Come mai e come posso risolvere ?

    2) Impostando il DB dal designer per poterci lavorare, mi mette chiaramente il percorso assoluto....come faccio a impostarlo in modo che non sia assoluto cosi che se metto il db in un'altra cartella funzioni lo stesso ? Posso farlo via codice ?

    Ho visto che ci sono dei metodi tipo "GetDatabaseConnectionString" e "GetDatasetSQL"...possono forse essere usati per impostare il database e la query via codice ??
    visitate www.pcprimipassi.it, il portale italiano per i neofiti del computer

    "Tanto prima o poi ti buco...." disse il baco alla noce!

  2. #2
    Ho risolto questi due problemi per cui posto la soluzione in modo che possa essere utile ad altri

    Il driver da fornire per Access va bene Microsoft DAO che a quanto ho letto nella documentazione ufficiale, è un driver creato da Borland per l'aggancio ai più comuni DB...ce ne sono diversi come potete vedere e questo va bene per MS Access

    Il database su cui lavorare...lo si può impostare fisso durante la creazione del report da Designer, e poi cambiarlo via codice come nel modo seguente

    codice:
    Dim dd As New Reportman.ReportManX
    
            ''''PASSARE almeno: 1) nome file report 2) connessione Db impostato nel report
            ''''              3) stringa SQL      4) metodo execute    
    
            dd.filename = Application.StartupPath & "\" & rptDaMostrare
    
            ''''Passiamo la stringa di connessione corretta 
            '''''PPP è il nome del Database creato dal designer (lo vedete anche in foto) 
            ''''al momento della connessione fisica al DB
            dd.SetDatabaseConnectionString("PPP", " qui va la stringa di connessione del driver")
            
            ''''Passiamo ora la query SQL
            '''' "FORNITORI" in questo caso è il nome del dataset che viene creato
            ''' dal designer
            dd.SetDatasetSQL("FORNITORI", "qui va la query SQL")
    
            dd.Title = "Eventuale titolo del report"        
            dd.ShowProgress = True
    
            dd.Execute()
    Sostanzialmente il trucco è semplicemente

    1)Creare tutto quanto sul Designer come se ci si dovesse collegare ad un DB con percorso fisso con query generica (tipo SELECT * FROM tabella") e salvare il report...

    2)Inserire il codice sopra menzionato che modifica le cose importanti, tra cui PROVIDER DI CONNESSIONE, NOME DEL DATABASE, STRINGA SQL....potete tranquillamente mettere qualche IF THEN o quello che volete per ricavare i vostri dati...

    Spero di essere stato utile
    visitate www.pcprimipassi.it, il portale italiano per i neofiti del computer

    "Tanto prima o poi ti buco...." disse il baco alla noce!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.