Errore apertura report in anteprima stampa

di il
21 risposte

Errore apertura report in anteprima stampa

Buona sera,
in questi giorni sto scrivendo parecchio nel forum e spero quindi di non essere irritante. Anche stavolta il mio problema per molti si presenterà banale o stupido, purtroppo non per me.
Il problema di oggi non ha a che fare col post scritto ieri, ma si tratta di un db diverso. In questo caso il mio problema è dato dalla mancata apertura di un report dopo che clicco l'apposito pulsante da mStampa. Trovate il db nel link in basso (onedrive)
La sequenza da eseguire è questa: si apre mDati, si selezionano i valori da tutte le cmb, si preme sul tasto adiacente, poi si preme sul pulsante col disegnino della stampante e quindi si apre mStampa, qui basta premere il pulsante in fondo per far partire automaticamente la stampa di un report. Purtroppo appena lo clicco mi appaiono i riquadrini della query, come se non riuscisse a trovare un valore. Infatti le query che trovate sono quasi tutte filtrate in base alle cmb tramite i criteri dei campi.
Perchè non rieso ad aprire (e quindi a stampare il report)? Ci sono problemi col sottoreport o con le query?

Se trovate controlli senza alcun senso è perchè ho dovuto togliere parti di codice e oggetti inutili al problema

Ringarzio moltissimo per il tempo dedicatomi e mi scuso per la mia profonda ignoranza e assidua insistenza

Buona serata

Jibi


21 Risposte

  • Re: Errore apertura report in anteprima stampa

    jibi ha scritto:


    mi appaiono i riquadrini della query
    Per "riquadrini della query" intendi le finestre "popup" dove ti chiede di inserire un valore/parametro?
  • Re: Errore apertura report in anteprima stampa

    Esattamente. E nel testo di quella finestra appare l espressione del criterio del campo .
    Ti ringrazio per la risposta!!
  • Re: Errore apertura report in anteprima stampa

    Cosa c'è scritto esattamente in quella finestra?
  • Re: Errore apertura report in anteprima stampa

    A dire il vero ora che lo sto riprovando appare questo:

    errore run time 2501. Lazione open report è stata annullata

    E andando sul debug mi seleziona in giallo la riga dell open report

    Quando lo provai ieri mi appariva la finestrina popup della query , con sotto la dicitura della cmb ([Maschere]![mDati]![smCmbDati]![cmbDitta],e sotto ancora lo spazio per insrire un valore. apparivano poi anche altre finestre uguali ma con la scritta diversa, cioè riferiti alle altre cmb.
    Cmq ora appare il suddetto messaggio di errore generato dal vba.
    In ogni caso ho messo il db al link nel primo post

    Ti ringarzio molto per avermi risposto!
  • Re: Errore apertura report in anteprima stampa

    Secondo me hai tentato di riciclare qualche codice o oggetto precedentemente progettato dimenticando di curarti di rinominare tutto ciò che serve per farti quadrare il cerchio.
    Forse anche OpenReport fa riferimento a un report che non esiste più o che non ha un senso nel resto del codice.
  • Re: Errore apertura report in anteprima stampa

    Ti ringrazio per la risposta, Osvaldo. Non ho riciclato nessun codice, l'unica cosa è che il report che viene aperto ha un sottoreport che secondo me genera l'errore; cmq entrambi gli oggetti hanno diversi codici che non escludo vadano in conflitto. Inoltre l'open report apre il report in modalità anteprima di stampa... poi dato che voglio che parta subito la stampa ho messo alcuni codici (che hanno sempre funzionato). Io credo che ci siano qualche conflitto.
    Cmq se avete bisogno del db in versione vecchia di access, lo converto.

    Grazie!!
  • Re: Errore apertura report in anteprima stampa

    Non è una buona prassi del forum quella di allegare l'intero database. Meglio sforzarsi di descrivere tutto anche attraverso codici e/o immagini degli oggetti che non funzionano.

    jibi ha scritto:


    Inoltre l'open report apre il report in modalità anteprima di stampa... poi dato che voglio che parta subito la stampa ho messo alcuni codici (che hanno sempre funzionato).
    Sarebbe bene che tu esponessi la porzione di codice VBA dove nasce il problema.
    Leggi qui riguardo il 2° argomento di DoCmd.OpenReport
    https://msdn.microsoft.com/en-us/vba/access-vba/articles/docmd-openreport-method-access
    https://msdn.microsoft.com/en-us/vba/access-vba/articles/acview-enumeration-access
  • Re: Errore apertura report in anteprima stampa

    Ringrazio molto per il tempo dedicato e mi scuso per non aver dato molte info. Di seguito trovate i codici dei due report e del pulsante interno alla maschera mStampa. Mi sono sicuramente spiegato male. I codici che vedete qui sotto hanno sempre funzionato per aprire il un report con dentro un grafico e un sottoreport. Di recente ho fatto questo: il sottoreport l'ho reso report principale, e dentro i lui ci ho messo l'altro report che prima era principale ma ora è sottoreport: praticamente li h scambiati di posto. Il grafico è rimasto sempre nel piè di report del report principale. Da quando ho fatto questa inversione, l open report va in errore non andando a caricare il (nuovo) sottoreport . Ovviamente, quando ho fatto questa inversione ho spostato i codici dall' ex main report al main report corrente.

    I miei sospetti sono:

    -non vengono caricati i dati del sottoreport perchè l'acCmdPrint parte prima che essi vengano caricati.
    -il report o il sottoreport si sono corrotti
    -il grafico è corrotto e genera errore
    -alcuni parametri del report o del subreport sono incompatibili con l apertura ad anteprima di stampa
    - altro (sicuramente)

    codici del (nuovo) report principale "carta"
    
    Private Sub Report_GotFocus()
    On Error GoTo Macro3_Err
    
        DoCmd.RunCommand acCmdPrint
    
    
    Macro3_Exit:
        DoCmd.RunCommand acCmdCloseWindow
        DoCmd.Close acReport, "carta"
        Exit Sub
    
    Macro3_Err:
        Resume Macro3_Exit
    DoCmd.RunCommand acCmdCloseWindow
    DoCmd.Close acReport, "carta"
    End Sub
    
    
    Private Sub Report_Open(Cancel As Integer)
    If Len(Forms("mStampa").Name) > 0 Then
        Me.Grafico.Visible = Forms!mStampa!chkGrafico
        Me.PièDiPaginaReport.Visible = Forms!mStampa!chkGrafico
    End If
    If Len(Forms("mStampa").Name) > 0 Then
        Me.SezioneIntestazionePagina = Forms!mStampa!chkRiepilogo
        Me.Corpo.Visible = Forms!mStampa!chkRiepilogo
    End If
    End Sub

    codici del sottoreport
    
    
    Private Sub Report_Load()
    Testo176.Visible = (nome_ogg = "A")
    Testo131.Visible = (nome_ogg = "A")
    Testo183.Visible = (nome_ogg = "A")
    Testo87.Visible = (nome_ogg = "B") Or (nome_ogg = "C")
    Testo185.Visible = (nome_ogg = "B") Or (nome_ogg = "C")
    Testo140.Visible = (nome_ogg = "C") Or (nome_ogg = "B")
    End Sub

    cocidi del pulsante della maschera mStampa che apre il report:
    
    Private Sub cmdStampa_Click()
        Dim strItems As String
        strItems = FillItems(Me.lst_anno)
        If Len(strItems) > 0 Then
            If Me.FilterOn = True Then Me.FilterOn = False
            Me.Filter = "anno IN (" & strItems & ")"
            Me.FilterOn = True
        End If
        DoCmd.OpenReport "carta", acViewPreview, , Me.Filter
    End Sub
    
    Private Function FillItems(lst As Access.ListBox) As String
        Dim varItem As Variant
        Dim strItems As String
        
        For Each varItem In lst.ItemsSelected
            strItems = strItems & lst.Column(0, varItem) & ","
        Next
        If Len(strItems) > 0 Then strItems = Mid$(strItems, 1, Len(strItems) - 1)
        FillItems = strItems
    End Function
    Ho letto le due pagine che mi hai proposto e ti ringrazio per averle postate. Comunque, non credo di aver fatto errori di sintassi, questo perchè ha sempre funzionato.

    Ringrazio molto per il tempo dedicatomi

    Jibi
  • Re: Errore apertura report in anteprima stampa

    jibi ha scritto:


    ...
    Perchè non rieso ad aprire (e quindi a stampare il report)? Ci sono problemi col sottoreport o con le query?
    Nel link che hai pubblicato ci sono due file ma direi che entrambi hanno lo stesso problema. Manca una funzione/sub: CriteriQueryDitta e non si riesce a compilare il file. Poi mancano le barre di scorrimento della maschera che si deve aprire e nel mio monitor, ad esempio, non riesco a vedere il pulsante di stampa. Fa lo stesso, le ho aggiunte io. Avanti.
    Detto questo, il report è associato ad una query, Query_calcoli, che ha questa SQL
    PARAMETERS [forms]![mDati]![cmbDitta] Text ( 255 ), [forms]![mDati]![cmbOggetto] Text ( 255 ), [forms]![mDati]![cmbDocumento] Text ( 255 );
    SELECT Misurazioni.anno, Round(Avg([Misurazioni]![assenza_sorgente]),4) AS MF, Round(Avg([Misurazioni]![con_sorgente]),4) AS ML, [ML]-[MF] AS Ms, Round(Var([Misurazioni]![assenza_sorgente]),4) AS [?F^2], Round(Var([Misurazioni]![con_sorgente]),4) AS [?L^2], Round(Sqr(Nz(Var([Misurazioni]![assenza_sorgente]),0)+Nz(Var([Misurazioni]![con_sorgente]),0)),4) AS ?s, Round([Ms]+(Sqr(Nz(Var([Misurazioni]![assenza_sorgente]),0)+Nz(Var([Misurazioni]![con_sorgente]),0)))*3,4) AS [Estremo superiore], Round([Ms]-(Sqr(Nz(Var([Misurazioni]![assenza_sorgente]),0)+Nz(Var([Misurazioni]![con_sorgente]),0)))*3,4) AS [Estremo inferiore], 3*[?s] AS 3?s
    FROM Misurazioni
    WHERE (((Misurazioni.ditta)=IIf(IsNull([Maschere]![mDati]![smRiepTitolo]![TestoDitta])=True,[Maschere]![mDati]![smCmbDati]![cmbDitta],[Maschere]![mDati]![smRiepTitolo]![TestoDitta])) AND ((Misurazioni.oggetto)=IIf(IsNull([Maschere]![mDati]![smRiepTitolo]![TestoOggetto])=True,[Maschere]![mDati]![smCmbDati]![cmbOggetto],[Maschere]![mDati]![smRiepTitolo]![TestoOggetto])) AND ((Misurazioni.documento)="Carta di controllo"))
    GROUP BY Misurazioni.anno
    ORDER BY Misurazioni.anno;
    (che caratteri sono quagli Alias?)
    Nella maschera che dici di aprire, mDati, c'è anche una sottomaschera, il cui container si chiama smCmbDati (e che è anche il nome della maschera che contiene), senza collegamento Campi Master - Campi secondari. E' lì che si inseriscono i dati che dovrebbero fare da filtro. Guarda ora i parametri della query
    PARAMETERS [forms]![mDati]![cmbDitta] Text ( 255 ), [forms]![mDati]![cmbOggetto] Text ( 255 ), [forms]![mDati]![cmbDocumento] Text ( 255 );
    fanno tutti riferimento a controlli che non esistono né nella maschera mDati né nella sottomaschera.
    Forse è la funzione CriteriQueryDitta di cui non sappiano niente che dovrebbe valorizzare quei parametri?
    NB: non ho analizzato i due post precedenti che sono arrivati nel frattempo, mentre stavo scrivendo questo.
  • Re: Errore apertura report in anteprima stampa

    Ti ringrazio per le correzioni consigiatemi. Questo è il nuovo file corretto, ma il problema purtroppo rimane e dela stessa entità: stesso errore sull'open report. Si faccia fede ai codici scritti nel mio precedente post.
    In ogni caso questo è il link per nuovo db corretto
    So che non è corretto mandare il link del db ma ho già scritto tutti i codici relativi al problema; allego il file per essere maggiormente chiaro.
    Ringrazio molto per l'aiuto

    Jibi

    https://drive.google.com/open?id=1SDTRjd7l625j_P0dHZ9rRAhibOrKj7lX
  • Re: Errore apertura report in anteprima stampa

    jibi ha scritto:


    Ti ringrazio per le correzioni consigiatemi. Questo è il nuovo file corretto
    Oltre al fatto che trovo ancora la maschera mDati senza la barra di scorrimento orizzontale e, almeno sul mio monitor, questo significa non poter vedere (e cliccare) sul polsante di stampa, ma un file che non compila per la mancanza di tutte le funzioni/sub chiamate nel modulo di classe della maschera smCmbDati (le stesse che avevo visto ieri mattina nel primo file) non permette di fare un'analisi decente.
  • Re: Errore apertura report in anteprima stampa

    Grazie mille per l'aiuto!
    ricaricato file e ricorretto!
    ho tolto smCmddati tanto non serviva .
    il problema rimane:errore 2501 e nel debug mi evidenzia la riga dell'open report. ho cmq scoperto che ciò che genera errore è il codice del filtro, ma non ho idea del perchè.

    link al nuovo db


    Grazie!!
  • Re: Errore apertura report in anteprima stampa

    jibi ha scritto:


    ricaricato file e ricorretto!
    Al clic sul pulsante vicino ai 4 criteri di ricerca compare il messaggio d'errore:
    'C:\Users\jibi\Documents\Query_misurazioni.xlsx' non è un percorso valido. Assicurarsi che il nome del percorso sia corretto e di essere connessi al server in cui si trova il file.
    e
    'C:\Users\jibi\Documents\Query_calcoli.xlsx' non è un percorso valido. Assicurarsi che il nome del percorso sia corretto e di essere connessi al server in cui si trova il file.
    Avanti e stampa c'è l'errore di cui parli ma... non so se è dovuto alle due segnalazioni precedenti.
  • Re: Errore apertura report in anteprima stampa

    Philcattivocarattere ha scritto:


    Avanti e stampa c'è l'errore di cui parli ma... non so se è dovuto alle due segnalazioni precedenti.
    Confermo gli errori su apertura file xls (non trovato).
    L'errore non credo sia dovuto alla mancanza dei files.
    Eliminando l'activex dal report, l'errore permane.

    Sospetto che i nomi dei campi presenti nella query non aiutino ....
    Suggerisco di trasformare i nomi campi eliminando caratteri dell'alfabeto greco (puoi usare Sigma) e anche peggio eliminando segni matematici (trasforma ^2 in qualcosa di più ragionevole tipo 'elevq')
Devi accedere o registrarti per scrivere nel forum
21 risposte