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

    [VB.NET] Uso di CrystalReportViewer ed errore "Riferimento non impostato"

    Ciao,
    sono un programmatore vb con visual studio.
    Visualizzo le stampe con CrystalReportViewer usando queste istruzioni

    frmCrystalReport.Show()
    frmCrystalReport.CrystalReportViewer1.ReportSource = "nome del report"
    frmCrystalReport.CrystalReportViewer1.RefreshRepor t()

    Il report viene visualizzato ma quando passo alla pagina successiva esce questo errore:
    "Riferimento ad un oggetto non impostato su un'istanza di oggetto"

    Cosa manca?
    Potete aiutarmi grazie

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,406
    Quote Originariamente inviata da Luciano58 Visualizza il messaggio
    Il report viene visualizzato ma quando passo alla pagina successiva esce questo errore:
    "Riferimento ad un oggetto non impostato su un'istanza di oggetto"
    Quando effettui il passaggio alla pagina successiva, è probabile che il visualizzatore del report debba acquisire i dati da una fonte specifica, che sembra restituire un riferimento nullo (Nothing).

    Tra l'altro, stai usando la proprietà ReportSource in modo errato (vedi la documentazione): si tratta della proprietà con cui specifichi i dati che vanno visualizzati nel report, quindi che senso ha valorizzarla con il titolo del report?

    Il sospetto qui è che si stia usando un componente/controllo senza aver approfondito tutto il necessario per farlo funzionare.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Buongiorno
    scusate il ritardo ma ho avuto dei problemi personali.
    Intanto grazie per la risposta
    In effetti non ho trovato documentazione su questo componente.
    Sulla proprietà ReportSource mi sono spiegato male, in realtà è il nome del report che contiene i dati.
    Ho guardato la documentazione del link che mi hai inviato
    Quando eseguo quelle istruzioni esce lo stesso errore "Riferimento ad un oggetto non impostato su un'istanza di oggetto"
    Ho visto anche che SAP dice di caricare il report nell'evento "init" anzichè in "load".
    Purtroppo in progetti windows form l'evento init non c'è.


  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,406
    Quote Originariamente inviata da Luciano58 Visualizza il messaggio
    In effetti non ho trovato documentazione su questo componente.
    E' un componente talmente "vecchio" (in giro da tanti anni) che cercando si trova tutto.
    Infatti c'è pure una documentazione ufficiale (quella di cui ti ho messo il link).

    Quote Originariamente inviata da Luciano58 Visualizza il messaggio
    Sulla proprietà ReportSource mi sono spiegato male, in realtà è il nome del report che contiene i dati.
    Sì, questo l'ho capito, ma il nome del report non può essere impostato come "fonte da cui prendere i dati".
    La fonte sono i dati da reportare, il titolo va messo altrove.

    Quote Originariamente inviata da Luciano58 Visualizza il messaggio
    Quando eseguo quelle istruzioni esce lo stesso errore [COLOR=#000000]"Riferimento ad un oggetto non impostato su un'istanza di oggetto"
    Se non hai modificato il codice, è normale che esca lo stesso errore.
    Se lo hai "modificato male", idem.

    Non vedendo il codice, non saprei dirti la causa.

    Quote Originariamente inviata da Luciano58 Visualizza il messaggio
    Ho visto anche che SAP dice di caricare il report nell'evento "init" anzichè in "load".
    Purtroppo in progetti windows form l'evento init non c'è.
    Non so la correlazione con SAP, ad ogni modo è opportuno affrontare un problema alla volta, e in questo ambito "init" o "load" non mi pare c'entrino qualcosa.

    Con gli elementi forniti, non c'è molto altro da dire purtroppo.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  5. #5
    Grazie per la risposta.
    Mi consigli qualcos'altro per fare stampe al posto di Crystal Report?
    Comunque ti metto il codice che sto usando


    Imports CrystalDecisions.CrystalReports.Engine
    Imports CrystalDecisions.Shared

    Private Sub rt_stampa()
    Dim Rpt As New ReportDocument
    Dim subRpt As New ReportDocument
    Dim DOp As New DiskFileDestinationOptions


    Try
    Rpt.Load("C:\fattura.rpt")
    Dim rptConn As ConnectionInfo
    rptConn = New ConnectionInfo
    rptConn.ServerName = "C:\fattura.mdb"
    For Each t As Table In Rpt.Database.Tables
    t.LogOnInfo.ConnectionInfo = rptConn
    t.ApplyLogOnInfo(t.LogOnInfo)
    Next


    For Each s As ReportDocument In Rpt.Subreports
    For Each t As Table In s.Database.Tables
    t.LogOnInfo.ConnectionInfo = rptConn
    t.ApplyLogOnInfo(t.LogOnInfo)
    Next
    Next


    frmCrystalReport.Show()
    frmCrystalReport.CrystalReportViewer1.ReportSource = Rpt
    frmCrystalReport.CrystalReportViewer1.RefreshRepor t()


    Catch ex As Exception
    MsgBox(ex.Message)
    End Try
    End Sub

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 © 2024 vBulletin Solutions, Inc. All rights reserved.