Applicare Filtro <Tutto> in casella combinata

Anonimo
2015-09-22T17:37:57+00:00

Salve, sto progettando un databse per uso personale, nel quale ci inserisco le mie storie cliniche, quali esami, interventi ecc.

Ora, ho una tabella di nome appunto Tabella nella quale ho vari campi tra cui Tipo di esame il quale può essere aggiornato e comprende varie voci quali TAC, RMN, Cistoscopia ecc.

Nel momento in cui inserisco i nuovi record, mediante apposito pulsante nella maschera principale Inserisci Esame, compilo questi campi e tutto va bene.

Ho poi un altro pulsante nella maschera principale  Visualizza Elenco che mi apre una maschera filtrata da una Query che mi ordina tutti i records per data decrescente.

In questa maschera ci ho inserito una casella combinata non associata ed ho modificato la query aggiungendo la voce Tipo di esame.Value e nei criteri ci ho messo il percorso che porta alla casella combinata, in modo che tutto venga filtrato in base alla voce dell'elenco che io clicco.

La casella combinata a sua volta prende le voci in origine dati da una query generata nella quale con un istruzione SQl ed il comando UNION ho aggiunto nell'elenco la voce <Tutto>.

Dopo aggiornamento ci ho inserito un me.requery e tutto funziona, per esempio se nel menù della casella combinata scelgo la voce RMN mi compaiono in elenco solo le RMN che ho eseguito in data x e luogo y con relativo referto allegato.

L'unica cosa che non riesco a capire, prememtto che prima di scrivere sul forum ho letto dappertutto e provato per ore ma non ci sono riuscito, è che se clicco sulla voce <Tutto> aggiunta con UNION nella casella combinata, l'elenco rimane vuoto, ovviamente perchè nel campo Tipo di esame non esiste quella voce. In teoria dovrei creare qualcosa che mi disattivi il filtraggio quando clicco su tutto in modo da visualizzare indistantamente tutte le voci memorizzate. Ma come posso risucire in questo? Davvero sto impazzendo, non capisco come fare.

Spero possiate aiutarmi, grazie e buona sera.

Giuseppe

Microsoft 365 e Office | Access | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2015-09-23T16:18:15+00:00

ciao Giuseppe,

ti sconsiglio l'uso del campo multivalore inserito per compatibilità con SharePoint e di difficile gestione ed errato dal punto di vista della normalizzazione ( punto di vista personale, cosa che non dico a te, ma è errato consentire che un campo consenta più di un valore : 1FN a ciascun campo deve essere assegnato un valore atomico )

in questo 3D avevo consigliato un' alternativa che sembra sia stata risolutiva :

http://answers.microsoft.com/it-it/office/forum/office\_2013\_release-access/memorizzare-in-un-campo-pi%c3%b9-valori/912b55da-0aa4-472f-973f-5b3459476e89

ti sconsiglio altresì l'uso del campo allegato/ole e di inglobare in generale files in access, il db si ingrassa in modo esponenziale, in casi analoghi si memorizza semplicemente il path, che è un testo pure e semplice.

come vedi sono prodigo di sconsigli anziché di consigli :-).

ti ho sistemato il db senza campi multivalore  qui : http://1drv.ms/1OuFqmd databaseMedico2.accdb.

il filtro lo vedevi nella mia demo e non nel tuo DB perché con il tuo DB filtravi il recordset applicando un criterio

direttamente nella query e non un filtro.

Se elimini la caratteristica della form togliendo il pop-up vedi il filtro modificarsi nel ribbon anche nella tuo db

Ho fatto un po' di pulizia in termini di macro che non uso e rifatto la tabella...sorry, in caso ripristinali.

Ciao!

Sandro.

La risposta è stata utile?

1 persona ha trovato utile questa risposta.
0 commenti Nessun commento

8 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2015-09-24T13:18:29+00:00

    Ciao Sandro, grazie per l'aiuto e per le dritte, ovviamente non sono espertissimo di access, mi piacerebbe nel tempo diventarlo, al momento sono proprio a livelli sotto base, ma come si dice, sbagliando s'impara no? :)

    Grazie, ho aperto il database e finalmente il risultato che volevo c'è, ho notato che dopo aggiornamento della combobox hai utilizzato in effetti il solito codice degli esempi precedentemente postati, anch'io ci provavo, mettendo anche tra parentesi quadre il nome del campo "Tipo di esame", poichè mi dava l'errore dell'operatore mancante, ma ottenevo sempre errori, sicuramente perchè come mi "sconsigliavi" tu, non conviene utilizzare un campo multivalore per compatibilità "SharePoint" (che onestamente ancora non so cosa sia, perdonami).

    Per quel che riguarda il poter inserire più valori per campo mi leggerò il link che mi hai postato, gli ho dato uno sguardo veloce e mi pare si parli dell'uso di una listbox che mi dovrò studiare e capire per bene.

    Ti ringrazio ancora dell'aiuto e ti auguro una buona serata :)

    Giuseppe

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2015-09-23T10:26:54+00:00

    Ciao Sandro, grazie ancora per la tua gentilezza, ho notato nell'ultimo database di esempio che hai cambiato la casella combinata con un elenco valori. Il punto è che la casella combinata va bene anche in modalità normale, il problema forse è  la casella che io cerco di filtrare, di nome Tipo di esame che contiene originariamente un elenco valori con il segno di spunta  a sinistra, dove si possono selezionare 1 o più valori in elenco.

    Probabilmente è per questo che riesco a filtrare i valori in essa presenti tramite la combobox ma non riesco a disattivare il filtro nel momento in cui clicco sulla voce aggiunta con union <Tutto> per visualizzare tutti i Tipi di esame.

    Ho anche notato che nei database di esempio che mi ha coretsemente linkato, sulle maschere e nella scheda Home in alto, è presente attiva/disattiva filtro, mentre nella mia è tutto grigio, anche se effettuo il filtraggio da combobox, boh?

    Magari elimino i dati personali e ti posto il database come l'ho programmato, così puoi vedere meglio che ho "combinato" :P

    Ecco quì, ho caricato il database, non appena puoi ci dai un'occhiata per favore?

    Grazie Sandro, buona giornata.

    Giuseppe

    http://1drv.ms/1Ouj9Fc

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2015-09-22T21:41:53+00:00

    ciao Giuseppe,

    ti pubblico un altro esempio sempre nello stesso file maschera aClienti2 per l'elenco valori.

    non userei elenco valori, le opzioni sono molto limitate, ma  a parte questo il concetto non cambia.

    Credo che se non riesci a clonare una delle form che trovi nel file che ti mostro, ci sia qualcos'altro che sballa tutto il ragionamento...

    controlla, mi viene in mente questo al volo, se hai impostato nella scheda dati della comboBox colonna associata 1.

    Altro non mi sovviene.

    http://1drv.ms/1Pp9ehr Giuseppe.accdb.

    notte.

    ciao, Sandro

    ps. se non riesci non tribolare troppo...pubblica una demo e ti diamo una mano direttamente sul fuo file

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2015-09-22T21:26:21+00:00

    Vi ringrazio Sandro e Mimmo ma purtroppo non riesco a risolvere, le sto provando tutte, ovviamente mi faccio sempre un backup perchè a volte smanettando access se ne va in crash...

    Vorrei specificare che il campo che deve essere filtrato è un elenco valori.

    Ripeto, sono riuscito a filtrarlo poichè inserendo una delle voci dall'elenco della casella combinata, in finestra mi appare solo ciò che voglio vedere, ma se clicco su tutto, in modo da visualizzare tutti i records, la finestra rimane vuota.

    Al momento non so proprio come procedere, continuerò a smanettare e sperare che possiate darmi una mano, anche per imparare e capire.

    Grazie ancora, buona notte.

    Giuseppe :)

    La risposta è stata utile?

    0 commenti Nessun commento