Condividi tramite

filtrare l'elenco di una combo-box

Anonimo
2013-07-08T13:45:42+00:00

Quesito prima delle tanto sospirate ferie...

Questo il problema. Ho una form che contiene una combo-box che elenca i nomi dei dipendenti. Accanto a questa combo-box ci sono dei pulsanti che aprono diversi report.

Quello che vorrei ottenere è questo: i nominativi listati nella combo-box devono essere filtrati in base a quanto scelto dall'operatore selezionando da  un filtro (contenuto nella form):

  • tutti = tutti i dipendenti

- solo in forza = tutti i dipendenti che hanno la dataCessazione = Null

  • solo dimessi = tutti i dipendenti che hanno la dataCessazione <> Null.

Ho creato un gruppo di opzioni, dove ho associato a ciascuna opzione il valore 1, 2 o 3.

E qui mi sono arenata, perchè nella tabella dipendenti, ciò che mi dice se tutti, solo in forza o solo dimessi è la data di cessazione...

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
2013-07-16T10:09:20+00:00

Adesso che l'ho visto, ho capito cosa mi mancava...

Funziona perfettamente!

Ho cambiato le tue istruzioni così come riporto di seguito:

Private Sub OpzTipo_Click()

Select Case OpzTipo

Case 1

SchedaSingola.Value = ""

SchedaSingola.RowSourceType = "Table/Query"

SchedaSingola.RowSource = "qry_sel_inforza"

Case 2

SchedaSingola.Value = ""

SchedaSingola.RowSourceType = "Table/Query"

SchedaSingola.RowSource = "qry_sel_dimessi"

Case 3

SchedaSingola.Value = ""

SchedaSingola.RowSourceType = "Table/Query"

SchedaSingola.RowSource = "qry_sel_tutti"

End Select

End Sub

E, per esempio, nella query "qry_sel_inforza" le istruzioni sono le seguenti:

SELECT [T_Risorse.Cognome] & " " & [T_Risorse.Nome] AS Nominativo

FROM T_Risorse

WHERE (((T_Risorse.DataDimissione) Is Null))

ORDER BY [T_Risorse.Cognome] & " " & [T_Risorse.Nome];

NB: ho preferito mettere le istruzioni in una query, perchè nella combo-box ho necessità di far vedere sia il cognome che il nome.

Vado avanti...

Ancora grazie!

Lucia

La risposta è stata utile?

0 commenti Nessun commento

6 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2013-07-15T11:22:27+00:00

    Scusa...ma proprio non riesco!

    La difficoltà è "legare" il filtro (in base al fatto se la colonna di una tabella è valorizzata o meno) alla combo-box...

    Ho provato ma dopo x tempo (troppo per il mio capo!!!) mi arrendo.

    Ho pubblicato un db di prova, dove nella form di stampa c'è la "famigerata" combo-box... Ovviamente ho tolto tutte le prove ed i tentativi fatti perchè sarebbero stati fuorvianti!

    Illuminatemi...

    Grazie.

    Questo l'url...

    https://skydrive.live.com/redir?resid=13A912944A8C8B78!345&authkey=!AKrnDNi2fQtJ08U

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2013-07-09T10:12:54+00:00

    Ciao Lucia,

    l'origine riga della combo sarà del tipo

    Select Cognome, Nome From Anagrafica Order By Cognome

    e, a secondo del filtro, la cambierai in

    Select Cognome, Nome From Anagrafica Where IsNull([Data Cessazione]) Order By Cognome

    Select Cognome, Nome From Anagrafica Where Not IsNull([Data Cessazione]) Order By Cognome

    ovviamente dovrai impostare l'origine riga della combo come ad esempio :

    cboDipendenti.RowSource="Select ......."

    cboDipendenti.Requery

    Ciao Mimmo

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2013-07-09T09:57:19+00:00

    cioè????

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2013-07-08T15:54:16+00:00

    Ciao Lucia,

    penso che una soluzione possa essere il variare dinamicamente via codice l'origine riga della casella combinata al variare dei filtri dove, nei due casi solo in forza e solo dimessi  avrai anche la data cessazione =  null e not null con il requery della combo.

    Ciao Mimmo

    La risposta è stata utile?

    0 commenti Nessun commento