La maschera non filtra su campi che non sono nella tabella.

di il
21 risposte

La maschera non filtra su campi che non sono nella tabella.

Buonasera a tutti, il mio problema è un po' strano, e cercherò di essere il più chiaro possibile:
in una query ho un campo che è la somma di tre campi, a loro volta frutto di calcoli, ma non presenti nella tabella base.
Insomma ho Gio1 che è "date() - inizio1", Gio2 che è "date() - inizio2" e Gio3 che è "date() - inizio3" , e GioT è la somma di questi tre. Nessuno di loro è presente nella tabella originale.
Se nella maschera generata su questa query inserisco il filtro "[GioT]> 150", mi dà sempre errore, e lo stesso ogni volta che cerco di applicare un qualsiasi filtro su [GioT] o su [Gio1], [Gio2] o [Gio3].
Lo so che non sono bravo, e anche un po' vecchietto (sono del '54), ma Access mi ha affascinato da quando mi sono accostato a Office, e non capisco perché non riesco a superare questo scoglio.
Per favore mi potete aiutare?
Grazie in anticipo.

21 Risposte

  • Re: La maschera non filtra su campi che non sono nella tabella.

    Come applichi il filtro?
  • Re: La maschera non filtra su campi che non sono nella tabella.

    Ciccio_54 ha scritto:


    Se nella maschera generata su questa query inserisco il filtro "[GioT]> 150", mi dà sempre errore
    Prova a scrivere soltanto
    >150
    nel Criterio di GioT
  • Re: La maschera non filtra su campi che non sono nella tabella.

    Nella maschera, alla riga "Filtro" io scrivo [GioT]>150, ma neanche nella query mi permette di inserire un criterio, tipo >150.
    Se lo faccio poi mi chiede di assegnare un valore a Gio1, poi a Gio2 e quindi a Gio3, e alla fine mi dice che c'è un errore nella formula, ma non c'è nessuna formula, solo >150 nella riga "Criteri"
  • Re: La maschera non filtra su campi che non sono nella tabella.

    Ciccio_54 ha scritto:


    e GioT è la somma di questi tre.
    Il messaggio errore si riferisce a questo campo? Leggi attentamente, parla di "espressione complessa". Prova a mettere Val([Gio1]) in un campo X, idem per gli altri, poi scrivi tipo
    GioT: [X]+[Y]+[Z]

    Puoi mostrare con una immagine o descrivere testualmente un recordset di dati che escono dalla query senza filtro?
  • Re: La maschera non filtra su campi che non sono nella tabella.

  • Re: La maschera non filtra su campi che non sono nella tabella.

    Ho provato, creando tre campi in cui A= val (Gio1)... ecc., e quando metto GioT= [A] + [B] + [C] mi chiede di assegnare un valore ad A, B e C.
    E ho notato che me lo fa anche in altre Query: se cerco di assegnare un criterio a un campo che è il risultato della somma di altri campi, a loro volta risultati di formule, mi chiede sempre di assegnare i valori, e poi mi da il messaggio di errore formula troppo complessa, anche se metto solo = 1.
  • Re: La maschera non filtra su campi che non sono nella tabella.

    Ciccio_54 ha scritto:


    Ho provato, creando tre campi in cui A= val (Gio1)... ecc., e quando metto GioT= [A] + [B] + [C] mi chiede di assegnare un valore ad A, B e C.
    E ho notato che me lo fa anche in altre Query: se cerco di assegnare un criterio a un campo che è il risultato della somma di altri campi, a loro volta risultati di formule, mi chiede sempre di assegnare i valori, e poi mi da il messaggio di errore formula troppo complessa, anche se metto solo = 1.

    provato:
    1) filtro sulla query stesso problema
    2)query posta come origine controllo in una form

    Eseguo filtro con questo codice TUTTO FUNZIONA
    Private Sub Form_Load()
    Dim criterio As String
    criterio = "c>" & 10
    Me.Filter = criterio
    Me.Form.FilterOn = True
    End Sub
    Evidentemente "C" è diciamo il campo calcolato e filtrato nella form
  • Re: La maschera non filtra su campi che non sono nella tabella.

    Grazie mille, lunedì, in ufficio, lo provo, ma a occhio dovrebbe funzionare anche a me.
  • Re: La maschera non filtra su campi che non sono nella tabella.

    Niente da fare, comunque vi invito a provare: ho creato una tabella semplicissima, con solo due campi, e poi su di essa una Query.
    In un nuovo campo della Query ho calcolato la prima differenza di date in giorni, e in un altro la seconda.
    Infine in un terzo nuovo campo ho sommato le precedenti due e ho applicato il Criterio >150, e non funziona.
    Qualcuno riesce a capire perché e come ovviare?
  • Re: La maschera non filtra su campi che non sono nella tabella.

    È ovvio... il criterio lo metti sul campo origine completo, il calcolato non va bene né per i criteri né per l'ordinamento.
  • Re: La maschera non filtra su campi che non sono nella tabella.

    E come posso risolvere?
    P.S. - Cos'è il Crosspost?
  • Re: La maschera non filtra su campi che non sono nella tabella.

    Ciccio_54 esiste anche Google ...
    Cmq significa che non si posta la stessa domanda su + forum e se proprio lo si fa almeno si dovrebbe fare in tempi diversi e citando il precedente in modo che le persone che vogliono contribuire possano leggere tutti i precedenti interventi.
    In sintesi di norma (e da regolamento) non si fa se non quando non si trova soluzione su un forum si prova su un altro

    tornando al 3d ti sei chiesto del perchè di questa affermazione di Alex?
    il criterio lo metti sul campo origine completo, il calcolato non va bene né per i criteri né per l'ordinamento.
    prova a tradurre in SQL quanto chiedi
  • Re: La maschera non filtra su campi che non sono nella tabella.

    Grazie Muttley, mi hai aperto gli occhi e mi hai risolto un problema che avevo su molte Query:
    WHERE ((Date()-[Data 1])+(Date()-[Data 2])>150);
    Grazie a tutti, specialmente per la pazienza.
  • Re: La maschera non filtra su campi che non sono nella tabella.

    Ciccio_54 ha scritto:


    Grazie Muttley, mi hai aperto gli occhi e mi hai risolto un problema che avevo su molte Query:
    WHERE ((Date()-[Data 1])+(Date()-[Data 2])>150);
    Grazie a tutti, specialmente per la pazienza.
    Mah il filtro su maschera l'hai provato?
Devi accedere o registrarti per scrivere nel forum
21 risposte