Filtrare per anno digitato in casella di testo

di il
3 risposte

Filtrare per anno digitato in casella di testo

Buongiorno a tutti,

sono giorni che provo a fare un filtro per data dei campi di una tabella.
Mi spiego meglio, vorrei ottenere tutti i record relativi ad un anno ben preciso il quale lo lascio immettere all'utente attraverso una casella di testo posta sulla maschera.
Nella tabella il campo data ovviamente è una data

Qualche santo che mi può aiutare? sto impazzendo

Grazie in anticipo per il vs aiuto

3 Risposte

  • Re: Filtrare per anno digitato in casella di testo

    Credo che ci siano molti modi per ottenere quello che hai chiesto. Non è chiarissimo se la casella di testo dove si digita l'anno sta nella stessa maschera con la stessa tabella sottostante.
    Io provo a darti un mio suggerimento.
    1) Crea una QUERY con gli stessi campi della tabella
    2) Aggiungi una colonna dove scrivi una sintassi simile a questa:
    Anno: Year([NomeCampoData])
    3) In corrispondenza di Criterio di questa colonna, scrivi:
    [Maschere]![NomeMaschera]![NomeCasellaTestoDoveDigitiAnno]
    4) Salva la query con nome Query1
    5) Sulla maschera devi prevedere un evento (ad es. il clic di un pulsante) a cui associ una macro o codice VBA che apre Query1
  • Re: Filtrare per anno digitato in casella di testo

    Si la casella di testo dove digito l'anno è nella stessa maschera della tabella
    Prima di chiedere aiuto ho proprio fatto come mi hai detto tu ma non mi ha funzionato perché la casella di testo non rappresenta una data.
    Per il momento ho ovviato creando ulteriori 2 caselle di testo nascoste con formato "data in breve" nelle quale al variare della mia casella di testo vado a creare le 2 date la prima e l'ultima dell'anno. Dopo di che uso queste due caselle nella mia query e cosi funziona ma non è per nulla elegante
  • Re: Filtrare per anno digitato in casella di testo

    La casella di testo è giusto che non rappresenti una data. Lì dentro ci va solo un "valore digitato". Il giochetto/trucchetto sta nella query con l'aggiunta della colonna Year([NomeCampoData]) che estrae solo l'Anno dal TUO CAMPO DATA (come si chiama?).

    Non so se sia pertinente o no...a me sembra di sì. In questa discussione

    dovrebbe esserci uno scenario (più complesso) simile al tuo, ma se leggi il suggerimento di @Alex che mira ad ottimizzare la tua casella di testo (con un abile codice VBA che sfrutta Filter ecc...io non ci ho capito molto). In questo modo filtri automaticamente la tua maschera ed eviti di scomodare una query.
    Spero di non aver fatto confusione e...se magari @Alex si affaccia e dice la sua in merito...potrebbe chiarire meglio tutto.
Devi accedere o registrarti per scrivere nel forum
3 risposte