Memorizzare filtri impostati in una maschera

di il
12 risposte

Memorizzare filtri impostati in una maschera

Saluti a tutti....sono al mio primo post... ho cercato nei precedenti ma non ho trovato risposte utili.
Ho predisposto un db con access2010, 2 tabelle da confrontare tramite due maschere create sul modello automatico foglio-dati. l'utente ricerca i dati utilizzando i filtri della colonna. uscendo dalla maschera i filtri vanno persi e quando rientra li deve reimpostare. come salvare l'ultimo set di filtri impostati in una maschera in modo da riproporlo in automatico alla riapertura? io ho trovato FilterOnLoad ma questo costringe l'utente a chiudere e riaprire
il form....ci vorrebbe un "filteronOpen" oppure a codice un metodo per salvare i filtri all'uscita dalla maschera e riproporli alla riapertura..... grazie

12 Risposte

  • Re: Memorizzare filtri impostati in una maschera

    awbrandi ha scritto:


    saluti a tutti....sono al mio primo post... ho cercato nei precedenti ma non ho trovato risposte utili.
    Ho predisposto un db con access2010, 2 tabelle da confrontare tramite due maschere create sul modello automatico foglio-dati. l'utente ricerca i dati utilizzando i filtri della colonna. uscendo dalla maschera i filtri vanno persi e quando rientra li deve reimpostare. come salvare l'ultimo set di filtri impostati in una maschera in modo da riproporlo in automatico alla riapertura? io ho trovato FilterOnLoad ma questo costringe l'utente a chiudere e riaprire
    il form....ci vorrebbe un "filteronOpen" oppure a codice un metodo per salvare i filtri all'uscita dalla maschera e riproporli alla riapertura..... grazie
    Ciao, quello che vuoi fare credo che sia molto semplice. Devi impostare a "true" la proprietà "FilterOn", tramite l'evento "Load", della Maschera. Ogni volta che usi i filtri, la proprietà "Filter" della maschera viene aggiornata con gli ultimi filtri usati. Perciò, ti serve solo applicarli all'apertura.
    Ciao.
  • Re: Memorizzare filtri impostati in una maschera

    Grazie. quindi se ho ben capito:

    Private Sub Form_Load()
    FilterOn = True
    End Sub

    ma come li applico??
  • Re: Memorizzare filtri impostati in una maschera

    Mi rispondo da solo:
    ho dichiarato una variabile pubblica a livello di modulo

    Public salvafiltro As String

    che gestisco in queste due sub

    Private Sub Form_Load()
    Me.Filter = salvafiltro
    FilterOn = True
    End Sub

    Private Sub Form_Unload(Cancel As Integer)
    salvafiltro = Me.Filter
    End Sub

    sembra funzionare, anzi funziona troppo perchè se disattivo i filtri dal bottone sotto il form, rimane comunque memorizzato l'ultimo filtro..... commenti???
  • Re: Memorizzare filtri impostati in una maschera

    Ciao, bastava solo impostare a "True " la proprietà "FilterOn". Credo che la variabile globale che hai impostato sia superflua, però se funziona va bene così.

    awbrandi ha scritto:


    sembra funzionare, anzi funziona troppo perchè se disattivo i filtri dal bottone sotto il form, rimane comunque memorizzato l'ultimo filtro..... commenti???
    Non capisco, cosa vuoi dire? L'ultimo filtro applicato ti rimarrà sempre salvato nella proprietà "Filter". È una proprietà di lettura / scrittura. Se eventualmente all'apertura successiva non vuoi recuperare l'ultimo filtro usato basta mettere una scelta ed impostare la proprietà "FilterOn" a "True" o "False" a seconda della volontà dell'operatore.
  • Re: Memorizzare filtri impostati in una maschera

    Mettere solo filterOn true non mi riproponeva gli ultimi filtri impostati rientrando nella maschera, forse sbagliavo qualcosa. memorizzandoli nella variabile chiaramente funziona, forse a questo punto filterOn è inutile...
    invece se dalla mappa tolgo i tutti filtri memorizzati, uscendo e rientrando mi ripropone comunque l'ultimo salvataggio, evidentemente devo ripulire la variabile che ho impostato...
    grazie della consulenza
  • Re: Memorizzare filtri impostati in una maschera

    Prova a vedere cosa restituisce "Me.Filter", nell'editor tramite "Debug.Print", quando togli tutti i filtri e chiudi la maschera. In base al valore restituito, soprattutto se non ti restituisce comunque il filtro precedente (non ho fatto prove), potresti impostare direttamente la proprietà "Me.Filter" a "Null" (non so se lo accetta, in alternativa a stringa vuota) ed impostare anche "Me.FilterOn" a "False". (naturalmente, lasciando tutto invariato invece quando chiudi la maschera con dei filtri applicati)
  • Re: Memorizzare filtri impostati in una maschera

    La soluzione che ti è stata proposta, non so dire se sia funzionale con un MDB, ma sicuramente non è il metodo che si usa quando si sviluppa per distribuire il proprio prodotto.
    Con la versione MDE e/o ACCDE, le proprietà di questo tipo non vengono salvate, e si perdono alla chiusura... quindi non è certo un metodo robusto anzi non va.
    Forse sono da valutare anche i Menù Filtro in base a Maschera e quelli del Wizzard in quanto anche questi ad esempio con il Runtime non vanno...

    Ovviamente qual'ora dovesse essere uno sviluppo casalingo e soddisfare la tua esigenza benvenga.

    Di solito, si sfrutta una Tabella nel Database per salvare le PERSONALIZZAZIONI ed i Filtri lo sono eccome, anche perchè alcune volte si creano Filtri CUSTOM che si vorrebbe salvare e richiamare all'occorrenza.
    Per questo, a mio avviso, potresti valutare una cosa un poco più provessionale, sfruttando una Tabella di appoggio nella quale salvare il Filtro con un Nome e consentire all'utente di richiamarlo.
    In questa tabella puoi aggiungere nell'ottica più flessibile questi campi
    
    Id(Pk counter)
    UTENTE (Testo Indicizzato)
    NOMEMASCHERA(Testo Indicizzato)
    NOMEFILTRO(Testo)
    FILTRO(Testo)
    DEFAULT(Booleano)
    La creazione del Filtro è da impostare, se usi il Wizard del Menù poi metterai un pulsante di SALVA nella Maschera ed inserirai il NOMEFILTRO, mentre il nome utente solo se hai un sistema di Login...
    L'applicazione la si effettua su LOAD andando a cercare nella Tabella il Record con il NomeMaschera=MascheraAperta e FLAG(Default=True)...
    A quel punto viene applicato.

    Se poi vuoi rendere disponibile all'utente la selezione di un Filtro, apri una ListBox con l'elenco dei Filtri salvati, filtrandoli per Maschera ed eventualmente UTENTE... e su Doppio Click lo attivi, rendendolo di DEFAULT chiaramente...
    L'applicazione del
  • Re: Memorizzare filtri impostati in una maschera

    @Alex ha scritto:


    La soluzione che ti è stata proposta, non so dire se sia funzionale con un MDB, ma sicuramente non è il metodo che si usa quando si sviluppa per distribuire il proprio prodotto.
    Con la versione MDE e/o ACCDE, le proprietà di questo tipo non vengono salvate, e si perdono alla chiusura... quindi non è certo un metodo robusto anzi non va.
    Forse sono da valutare anche i Menù Filtro in base a Maschera e quelli del Wizzard in quanto anche questi ad esempio con il Runtime non vanno...

    Ovviamente qual'ora dovesse essere uno sviluppo casalingo e soddisfare la tua esigenza benvenga.

    Di solito, si sfrutta una Tabella nel Database per salvare le PERSONALIZZAZIONI ed i Filtri lo sono eccome, anche perchè alcune volte si creano Filtri CUSTOM che si vorrebbe salvare e richiamare all'occorrenza.
    Per questo, a mio avviso, potresti valutare una cosa un poco più provessionale, sfruttando una Tabella di appoggio nella quale salvare il Filtro con un Nome e consentire all'utente di richiamarlo.
    In questa tabella puoi aggiungere nell'ottica più flessibile questi campi
    
    Id(Pk counter)
    UTENTE (Testo Indicizzato)
    NOMEMASCHERA(Testo Indicizzato)
    NOMEFILTRO(Testo)
    FILTRO(Testo)
    DEFAULT(Booleano)
    La creazione del Filtro è da impostare, se usi il Wizard del Menù poi metterai un pulsante di SALVA nella Maschera ed inserirai il NOMEFILTRO, mentre il nome utente solo se hai un sistema di Login...
    L'applicazione la si effettua su LOAD andando a cercare nella Tabella il Record con il NomeMaschera=MascheraAperta e FLAG(Default=True)...
    A quel punto viene applicato.

    Se poi vuoi rendere disponibile all'utente la selezione di un Filtro, apri una ListBox con l'elenco dei Filtri salvati, filtrandoli per Maschera ed eventualmente UTENTE... e su Doppio Click lo attivi, rendendolo di DEFAULT chiaramente...
    L'applicazione del
    Grazie ad Alex, ho imparato un'altra cosa anch'io.
    Dato che non era stata precisata la tipologia del DB, se casalingo o professionale, io ho dato la mia soluzione. Prima di dare risposte, però, faccio delle prove per vedere se le cose vanno. Ho provato ed ho visto che con un MDB/ACCDB questo sistema può funzionare. Sicuramente è una soluzione alla buona, non professionale, perchè io non sono un professionista.
  • Re: Memorizzare filtri impostati in una maschera

    mikelemm ha scritto:


    ....
    Grazie ad Alex, ho imparato un'altra cosa anch'io.
    Dato che non era stata precisata la tipologia del DB, se casalingo o professionale, io ho dato la mia soluzione. Prima di dare risposte, però, faccio delle prove per vedere se le cose vanno. Ho provato ed ho visto che con un MDB/ACCDB questo sistema può funzionare.
    Se funziona, e non ne dubito, è certamente una soluzione valida.
    Il fatto di non essere gestibile, lasciata un po al caso di chi usa il DB... è una considerazione che deve solo obbligare chi sviluppa a orientarsi meglio... tutto quì.

    mikelemm ha scritto:


    ....
    Sicuramente è una soluzione alla buona, non professionale, perchè io non sono un professionista.
    Nemmeno io, faccio solo Db per mia moglie, quindi siamo in 2...
  • Re: Memorizzare filtri impostati in una maschera

    @Alex ha scritto:


    mikelemm ha scritto:


    ....
    Sicuramente è una soluzione alla buona, non professionale, perchè io non sono un professionista.
    Nemmeno io, faccio solo Db per mia moglie, quindi siamo in 2...
    Per questa tua affermazione, ti do il beneficio del dubbio... ma stento a crederci, visto quanto sei e sei stato attivo su questo ed altri forum e per il livello delle tue conoscenze.
  • Re: Memorizzare filtri impostati in una maschera

    mikelemm ha scritto:


    ...
    Per questa tua affermazione, ti do il beneficio del dubbio... ma stento a crederci, visto quanto sei e sei stato attivo su questo ed altri forum e per il livello delle tue conoscenze.
    Credimi non mangio nemmeno una pizza in un anno con questo... motivo per cui non sono professionista... faccio tutt'altro...(automazione industriale) è solo che ormai da oltre 2 decenni ci gioco, sfruttandolo chiaramente nel mio lavoro, e la passione è stata molta nel tempo.

    Vedendo la cosa da un'altro punto di vista, è troppo che rompo le scatole un po qua ed un po la...
  • Re: Memorizzare filtri impostati in una maschera

    Grazie.!!!!
Devi accedere o registrarti per scrivere nel forum
12 risposte