Newsgroup: it.comp.lang.visual-basic
Titolo: [?] SubReport in Crystal Report

Salve a tutti,
questa volta a farmi dannare è Crystal report 7 che non mi permette di
stampare correttamente un report con al suo interno un sottoreport.
Se provo a farlo girare in locale dal codice non ho problemi, ma quando creo
l'eseguibile e lo provo su un altro computer mi dice che non trova la
tabella di riferimento ?!?! Eppure io nella struttura del subreport gli ho
settato come origine dei dati la stessa del report. Da codice però non  mi
preoccupo del subreport (giusto ?) e scrivo:
 frmReport.CrystalReport1.SelectionFormula = "{Contributi.CodMese} in " &
MeseDa & " to " & MeseA &
        "AND {Contributi.Anno} = " & Val(frmReport.txtanno)
frmReport.CrystalReport1.ReportFileName = App.Path & "\rptPrDir.rpt"
frmReport.CrystalReport1.DataFiles(0) = App.Path & "\Database\Contrib.mdb"
frmReport.CrystalReport1.WindowTitle = "Allegato al provvedimento
dirigenziale"
frmReport.CrystalReport1.WindowState = crptMaximized
frmReport.CrystalReport1.Action = 1
Come è possibile ?!?!?
GRAZIE ciao,
    Aldo

Ti posto la routine di stampa che uso io.
Avevo lo stesso tuo problema ed un collega del NG mi ha dato le giuste
indicazioni.
Public Sub Stampa()
    Dim RPTDir As String
    Dim n As Integer
    Dim i As Integer
    Dim strDataFile As String
    On Error GoTo ErroreDiStampa
    Dim strPrintFormula As String
    Dim success As Long
    strDataFile = oConn.Properties("Data source").Value
    Screen.MousePointer = vbHourglass
    DoEvents
    strPrintFormula = "{ QProgetti.IDAttivita } = '1." &
Trim(tdbiGet(GetCodiceProgetto).Text) & "'"
    RPTDir = App.Path & "\Stampe\Progetti"
    With ofrmMain.MainCry
        '.WindowParentHandle = ofrmMain.hWnd
        .ReportFileName = RPTDir & "\SchedaProgetto.rpt"
        .WindowState = crptMaximized
        .WindowShowGroupTree = False
        ' Cambio il DataFile del Report
principale ---------------------------------
        .DataFiles(0) = strDataFile
        ' Cambio il DataFile dei
sottoreport ---------------------------------------
         For n = 0 To .GetNSubreports - 1
            .SubreportToChange = .GetNthSubreportName(n)
            .RetrieveDataFiles
            i = 0
            While .DataFiles(i) <> ""
               .DataFiles(i) = strDataFile
               i = i + 1
            Wend
        Next
        .SubreportToChange = ""
        .DiscardSavedData = True
        .SelectionFormula = (strPrintFormula)
        .WindowTitle = "Stampa scheda progetto"
        DoEvents
        .Action = 0
    End With
    Screen.MousePointer = vbNormal
    Exit Sub
ErroreDiStampa:
    Screen.MousePointer = vbNormal
    MsgBox "Source: " & Err.Source & vbCrLf & _
           "Errore: " & Err.Number & vbCrLf & _
           "Descrizione: " & Err.Description
    Resume Next
End Sub
Naturalmente ripuliscila dalle cose proprie della mia applicazione.
Se hai problemi scrivimi
Ciao
--
    Giuseppe Saffioti
-------------------------------------
pino.s...@tiscalinet.it
pino.s...@asl1.to.it

Prima di tutto GRAZIE x la risposta...purtroppo mi da un errore un po'
particolare (?) :
"Numero tabella non valido" perchè ?!?!?! Questa proprio non l'ho capita....
Inoltre dove posso trovare un po' di spiegazioni sulle proprietà
SubreportToChange, Get..., RetrieveDataF... ?!?!?
Avevo intuito che potessero c'entrarci qualcosa ma non sapevo come !?
Grazie, ciao.
    Aldo