Caselle combinate con filtri non funzionanti

di il
8 risposte

Caselle combinate con filtri non funzionanti

Ciao a tutti,
Vi chiedo gentilmente se qualcuno può aiutarmi su un problema apparentemente semplice, ma a quanto pare complesso.
Su una maschera ho inserito 2 caselle combinate, l'una dipendente dall'altra.
Nella prima è visualizzata la famiglia e nella seconda la sottofamiglia. La sottofamiglia, in base al valore inserito nella famiglia, visualizzerà solo gli elementi che corrispondono a quella famiglia.
Per fare questo, ho detto alla seconda casella combinata di aprire la tabella sottofamiglia dove il codice famiglia è uguale al valore inserito nella famiglia, ma questa cosa non funziona.
Non sono sicuro di essere stato chiaro ma, in caso contrario potete aiutarmi?
Grazie.

8 Risposte

  • Re: Caselle combinate con filtri non funzionanti

    Quello che hai descritto va sotto il nome in gergo di "caselle combinate a cascata". Leggi numerosissimi thread con queste parole chiave, oppure prova a leggere qui
  • Re: Caselle combinate con filtri non funzionanti

    Buongiorno, ringrazio intanto per la risposta.
    Ho fatto tutto quello che mi è stato detto con l'esempio, ma purtroppo continua a non funzionare.
    Era un pò quello che io avevo fatto.
    Praticamente, sui record successivi, mi filtra sempre il valore del primo record. Ho provato anche a fare il requery ma poi ogni volta mi cancella i valori della seconda combo.
    Ringrazio anticipatamente se qualcuno può aiutarmi. Nel frattempo, come mi è stato consigliato, vedo tutti i thread per caselle combinate a cascata.
    Saluti.
  • Re: Caselle combinate con filtri non funzionanti

    Devi raccontare tutto nei dettagli. Tutti i nomi propri di tabelle/query che entrano in gioco e i nomi campo per capire passo passo dove hai sbagliato.
  • Re: Caselle combinate con filtri non funzionanti

    Buongiorno, cercherò di essere più preciso.
    In allegato, ho inviato anche una foto del risultato ottenuto. Devo premettere che quello che ho ottenuto è funzionante se considero di lavorare su singola maschera, ma se lavoro con righe di record multipli non va.
    Ho definito 2 tabelle di nome:
    1) tbCategorieTrattamenti (ID-Categoria; Descrizione_Categoria)
    2) tbTrattamenti (ID-Trattamento; Descrizione_Trattamento; Rif_Categoria_Trattamento)
    Ho stabilito la relazione 1 a molti tra ID-Categoria (tbCategorieTrattamenti) e Rif_Categoria_Trattamento (tbTrattamenti).
    Ho creato una maschera con 2 combo box di nome cbo_categoria con origine dati la tabella tbCategorieTrattamenti e cbo_trattamenti con origine dati la tabella tbTrattamenti.
    Nella origine dati tbTrattamenti ho messo la condizione where Rif_Categoria_Trattamento = cbo_categoria.
    Nella casella combinata cbo_categoria, dopo l'aggiornamento ho scritto il seguente codice:
    Private Sub cbo_Categoria_AfterUpdate()
    Me.cbo_Trattamento = ""
    Me.cbo_Trattamento.Requery
    End Sub
    Questo è il risultato:
    Se sulla riga 1 scelgo la categoria RESINATURA nella combo Trattamento escono i trattamenti relativi.
    Nel momento in cui, sulla riga 2 seleziono un altro tipo di categoria a video vengono rimossi tutti i trattamenti non facenti parte di quella categoria e mi lascia vedere solo quelli relativi alla categoria appena selezionata (solo a video. I dati nelle tabelle sono giusti).
    Negli innumerevoli post letti, tutti utilizzano caselle combinate a cascata singole, non una serie di record come faccio io.
    Spero di essere stato più chiaro adesso.
    Ringrazio anticipatamente chi può aiutarmi.
    Allegati:
    Selezione riga 2
    Selezione riga 2

    Risultato ottenuto
    Risultato ottenuto
  • Re: Caselle combinate con filtri non funzionanti

    Io scriverei il codice semplicemente così:
    Private Sub cbo_Categoria_AfterUpdate()
    Me!cbo_Trattamento.Requery
    End Sub
    Se hai progettato correttamente la combo in cbo_Trattamento mi sembra del tutto normale che quando scegli una Categoria, poi combo2 si predispone di conseguenza. Direi anche che il senso di tutto lo devi vedere soltanto al termine della digitazione su tutti i campi e non "mentre stai digitando"...spero di non aver travisato il problema.
  • Re: Caselle combinate con filtri non funzionanti

    Per quanto riguarda la sub, va bene, avevo provato anche io.
    Per il resto, scusami, ma non ho capito cosa volessi dire.
    Io vorrei che mentre inserisco la categoria, mi filtra i trattamenti e mi restano a video per tutto il tempo dell'inserimento.
    Se c'è un'altra strada per fare ciò, posso anche accettare altri consigli. Sono anche disposto a mandare il file in privato, se occorre.
    Grazie.
  • Re: Caselle combinate con filtri non funzionanti

    Il codice VBA serve solo in caso di ripensamento nella digitazione nella cboCategoria.
    Per il resto non ho afferrato il tuo problema in quanto mi baso essenzialmente alla procedura che ho linkato che funziona perfettamente.
    Potresti mostrare l'immagine della visualizzazione struttura query che regola il funzionamento di combo2 (cboTrattamento)?
  • Re: Caselle combinate con filtri non funzionanti

    Eccola!
    Confermo che la procedura che mi hai mandato funziona perfettamente.
    Il mio problema è che la procedura visualizza solo un record alla volta. Se metto nella stessa maschera più record si comporta in modo anomalo.
    (Ripeto, se vuoi, ti mando il file access per e-mail).
    Grazie.
    Allegati:
    17927_6820db35ff5770a894f4c68a3e070add.jpg
    17927_6820db35ff5770a894f4c68a3e070add.jpg
Devi accedere o registrarti per scrivere nel forum
8 risposte