Filtro maschera per report

di il
5 risposte

Filtro maschera per report

Ho una maschera EventiL con i seguenti campi più significativi:
IDEvento
IDArtista (con casella combinata)
Data
IDCittà (con casella combinata)
...altri campi...

Ho un report EventiScalette che poggia su omonima query avente il seguente SQL
SELECT Eventi.IDArtista, Artisti.Visualizzato, Eventi.Data, Città.Città, Eventi.Luogo, Eventi.TitoloEvento, Scalette.Indice, IIf(IsNull([Articolo]),[Titolo],[Articolo] & "" & [Titolo]) AS ArticoloTitolo
FROM Città INNER JOIN ((Artisti INNER JOIN Eventi ON Artisti.IDArtista = Eventi.IDArtista) INNER JOIN (Titoli INNER JOIN Scalette ON Titoli.IDTitolo = Scalette.IDTitolo) ON Eventi.IDEvento = Scalette.IDEvento) ON Città.IDCittà = Eventi.IDCittà
ORDER BY Eventi.Data, Scalette.Indice;
Sulla maschera EventiL posso effettuare varie filtrazioni a mio piacimento: funziona tutto. Poi su di essa ho un pulsante "StampaTutteScalette" che innesca i seguenti:
Private Sub StampaTutteScalette_Click()
Dim strFiltro As String
strFiltro = Me.Filter
DoCmd.OpenReport "EventiScalette", acViewPreview, , , , strFiltro  'qui avrei preferito sfruttare la proprietà Filter o Condizione Where...ma non so cosa scrivere
End Sub
quindi Su caricamento del report EventiScalette ho scritto
Private Sub Report_Load()
Me.Filter = Me.OpenArgs
Me.FilterOn = True
DoCmd.ApplyFilter Me.Filter
End Sub
Io vorrei che il report mi restituisse tutte le Scalette filtrate da EventiL, ma mi appare una finestra parametro Lookup_IDArtista.Artista.

Domande:
1. Vorrei sapere se la combinazione di istruzioni che ho creato è corretta e/o ortodossa....forse potrei ottimizzare la DoCmd.OpenReport...
2. Non capisco da dove spunta il Lookup_IDArtista.Artista

5 Risposte

  • Re: Filtro maschera per report

    Il codice nel Report non serve a nulla devi toglierlo.
    Quello che hai fatto nella Form sarebbe da manuale se il criterio che applichi venisse fatto in modo corretto...
    Purtroppo non ci spieghi come lo realizzi e qualche sospetto mi viene... e dire che funziona tutto perfettamente non è argomento tecnico di chiarimento.

    Spiega w mostra come applichi i vari criteri di filtro sulla maschera... poi ci sentiamo.

    Oltretutto non fai Debug sul valore assunto dalla variabile [strFiltro]... cosa fondamentale.
  • Re: Filtro maschera per report

    @Alex ha scritto:


    Purtroppo non ci spieghi come lo realizzi e qualche sospetto mi viene... e dire che funziona tutto perfettamente non è argomento tecnico di chiarimento.
    Sulla maschera EventiL viene messo in moto un filtro in base a maschera. Quando lo avvio esso funziona correttamente. Ora, se io vado a sbirciare dentro la proprietà Filter della maschera, mi accorgo che dentro ci trovo una espressione...sulla quale vorrei far leva in qualche modo...
    Ho eliminato il codice nel report, sto provando questo
    Private Sub StampaTutteScalette_Click()
    Dim strFiltro As String
    strFiltro = Me.Filter
    DoCmd.OpenReport "EventiScalette", acViewPreview, , strFiltro
    End Sub
    che credo sia corretto.

    Sto notando che se filtro su campi tipo Data o altri "unicamente testuali" funziona tutto correttamente. Se applico un filtro usando le caselle combinate, mi va in tilt qualcosa...e mi sto perdendo in un bicchier d'acqua. Nel report appaiono i campi Visualizzato (che proviene dalla tabella Artisti) e Città (che proviene da tabella Città) solo testuali...quindi se tento un filtro che contempli IDArtista, il report non sa nemmeno cosa significa, perciò mi restituisce il parametro: ho capito il problema, ma non riesco a venirne fuori: aiuto!

    P.S. [RISOLTO]: Ho aggiunto sia nella query, sia nel report i 2 campi casella combinata IDArtista, IDCittà. Nel report li ho resi Visibile=No. Adesso funziona tutto perfettamente.
    Un po' una zavorra quei 2 campi casella combinata nel report, ci sarebbe una soluzione più elegante?
  • Re: Filtro maschera per report

    Osvaldo tu fai sicuramente molto con l'aiuto dell'autocomposizione mi pare di capire e questo ti facilita molto ma, se posso permettermi, non ti consente di progredire.
    Come ha detto Alex ti sarebbe bastato un debug del valore passato come parametro di filtro ma temo tu non ne faccia uso o cmq troppo limitato, quando invece è FONDAMENTALE!
    e ...
    Un po' una zavorra quei 2 campi casella combinata nel report
    Questa proprio non l'ho capita
  • Re: Filtro maschera per report

    muttley005 ha scritto:


    Osvaldo tu fai sicuramente molto con l'aiuto dell'autocomposizione mi pare di capire e questo ti facilita molto ma, se posso permettermi, non ti consente di progredire.
    Vero: nella costruzione delle query (uso visualizzazione struttura), per il report ho usato la creazione guidata.

    muttley005 ha scritto:


    Come ha detto Alex ti sarebbe bastato un debug del valore passato come parametro di filtro ma temo tu non ne faccia uso o cmq troppo limitato, quando invece è FONDAMENTALE!
    Non ho capito, non riesco a seguire.

    OsvaldoLaviosa ha scritto:


    Un po' una zavorra quei 2 campi casella combinata nel report

    muttley005 ha scritto:


    Questa proprio non l'ho capita
    Cosa non hai capito? Io ho solo colto che mettendoli nel report, non mi appare più la finestra parametro. Ai fini della visualizzazione report non mi servono i campi IDArtista e IDCittà, quindi li nascondo, ma mi servono per riuscire a far quadrare tutto.
    Non so, sicuramente la soluzione più elegante c'è, ma mi sto un po' perdendo. Appunto chiedo lumi.

    È necessario che spieghi passo passo come mi comporto, quali sono esattamente tutti i campi di tutti gli oggetti che ho nominato?
  • Re: Filtro maschera per report

    Non ho capito, non riesco a seguire.
    se tu avessi fatto il debug in esecuzione passo-passo (F8) avresti potuto facilmente recuperare/visualizzare nella finestra immediata il valore del filtro che passi al report e ti saresti accorto subito del valore che provocava l'errore
    ... IDCittà, quindi li nascondo, ma mi servono per riuscire a far quadrare tutto.
    Non so, sicuramente la soluzione più elegante c'è ...
    è piuttosto di prassi avere campi nascosti sia in form che report utili appunto per operazioni come i filtri o altro ma da non visualizzare all'utilizzatore
    È necessario che spieghi passo passo come mi comporto, quali sono esattamente tutti i campi di tutti gli oggetti che ho nominato?
    no
Devi accedere o registrarti per scrivere nel forum
5 risposte