Acquista i nostri libri consigliati su Amazon.it
+ Rispondi al messaggio
Visualizzazione dei risultati da 1 a 5 su 5

listbox con query come RowSource che restituisce anche un campo multivalore

  1. #1
    alberto71 non è in linea Novello
    Post
    3
    Like Inviati  
    0
    Like Ricevuti  
    0
    Chiedo consiglio su come risolvere il seguente inconveniente.
    La RowSorce di una listbox è associata a una query che, tra i vari campi, restituisce anche un campo [Mansione] lookup multivalore.
    La query è costruita per associare al campo [Mansione] tutti i valori numerici [ID_Mansione] selezionati separati da ";" e per visualizzare le corrispondenti stringhe di testo (in parole povere il campo della query mi visualizza per es. "MANUTENTORE; OPERAIO" ed ha associati i numeri di chiave primaria dell'associata tabella [tblElencoMansioni] tipo "4; 10").
    Il problema, che non sono come risolvere, è far visualizzare anche nel campo associato del controllo listbox le stringhe di testo "MANUTENTORE; OPERAIO" e non i valori numerici tipo "4; 10"!
    L'unico modo è quello di avere nell'elenco listbox una riga ripetuta per lo stesso lavoratore per ogni mansione associata, tipo:
    MARIO ROSSI, MANUTENTORE,....
    MARIO ROSSI, OPERAIO,....

    Grazie per l'attenzione.

  2. #2
    L'avatar di willy55
    willy55 non è in linea Scribacchino
    Post
    730
    Like Inviati  
    0
    Like Ricevuti  
    0
    Impiegare un campo multivalore (inserito in Access dalla versione 2007) implica che la visualizzazione dei valori correlati può avvenire sia per il codice (nel tuo caso ID_Mansione) che nel campo testuale di riferimento (nel tuo caso Mansione).
    Per presentare i dati come da te richiesto, ovvero le descrizioni in alternativa ai codici devi impostare nella query della RowSource che alimenta la list-box entrambi i campi ( ID_Mansione e Mansione) ove la larghezza della prima colonna è pari a zero e l'altra non lo sia (in modo da visualizzare solo la descrizione in chiaro e non il codice).
    Per un esempio pratico puoi osservare l'esempio Northwind (allegato ad Access) ove nella form "Dettaglio Prodotti" puoi controllare il campo multivalore IDFornitori (che presenta ID e Società) esattamente come quanto ti riprometti.


    Ad integrazione per chi sia interessato ad approfondire i campi multivalore consiglio:

    Impiego della griglia per la query con "AssegnatoA" per la ricerca di testo anziché di numeri ID:
    Utilizzo di campi multivalore nelle query - Access - Office.com
    Utilizzare un elenco per la memorizzazione di valori multipli - Access - Office.com

    Colonna di ricerca multivalore:
    Aggiungere o modificare un colonna di ricerca che consente di memorizzare valori multipli - Access - Office.com

    Impiego campi multivalore:
    MultiValue Listbox (Stock) - Access wiki - Access Help and How-to - Microsoft Office by UtterAccess.com
    A la dcouverte d'Access 2007 : Les champs multi-valus

    Codice VBA per recuperare i dati nei campi multivalori
    Access 2007--textbox to see selected values from a multivalue list? - Toolbox for IT Groups
    ℹ️ Leggi di più su willy55 ...

  3. #3
    alberto71 non è in linea Novello
    Post
    3
    Like Inviati  
    0
    Like Ricevuti  
    0
    Innanzitutto grazie per la risposta. Alcuni dei link che mi hai postato li avevo già visionati e non ho trovato la risposta al mio problema che probabilmente non sono in stato di descrivere esattamente. Ci riprovo e allego anche tre immagini: una rappresenta la struttura della query (non completa in quanto ho eliminato le tabelle non rilevanti al fine del problema) che costituisce la ROWSOURCE di una listbox su una maschera; un'altra rappresenta la visualizzazione in foglio dati della query (che come vedi mi restituisce correttamente NOME & COGNOME e la DESCRIZIONE delle mansioni e non i codici numerici); l'ultima rappresenta la visualizzazione che ottengo nella listbox (quella di sinistra) dei medesimi campi della query (ho cancellato i nomi e cognomi dei lavoratori per motivi di privacy). Come vedi la listbox mi visualizza le chiavi numeri delle mansioni lavorative associate ai campi della query e non i campi visualizzati.
    Spero di essere stato più chiaro.



  4. #4
    L'avatar di @Alex
    @Alex non è in linea Moderatore Globale
    Post
    16,800
    Like Inviati  
    0
    Like Ricevuti  
    23
    Reputo la tua visione un'errore strutturale.
    Se un lavoratore può avere più mansioni... la teoria dei Database relazionali vuole che venga definita una relazione MOLTI-MOLTI.
    Spero tu conosca la modalità della gestione MOLTI-MOLTI a 3 tabelle.
    Usare un campo come Multicampo, è fuori dalle norme, e sconvolge la fruibilità.
    Pensa solamente allo sconvolgimenti di rappresentazione visuale in una maschera continua...

    Se poi cali il tutto in una gestione del personale di un'azienda... la mia visione è largamente supportata dalla flessibilità da appliacare al sistema di ricerca filtro
    ed associazione a corsi di formazione...

    Ovviamente finisco quì la mia proposta, che non ha senso di essere forzata se questi concetti sono già radicati nel tuo bagaglio e sono stati oggetto di piena valutazione, in questo caso potresti spiegare perchè hai deciso di andare contro la Normalizzazione(1°, 2° e 3° forma normale)...?
    ℹ️ Leggi di più su @Alex ...

  5. #5
    alberto71 non è in linea Novello
    Post
    3
    Like Inviati  
    0
    Like Ricevuti  
    0
    Si conosco la gestione MOLTI-MOLTI a 3 tabelle che utilizzo per altre relazioni tra tabelle dello stesso database che sto cercando di implementare. Per il campo [tblLavoratori.Mansione] ho optato per un campo multicampo per pura semplicità in quanto non ho necessità di associare altre informazioni tale da giustificare l'implementazione di una terza tabella tblLavoratori_Mansioni. Inoltre utilizzo il campo su una maschera continua in associazione a una combobox per cui mi risulta comodo visualizzare le mansioni come p. es. CARRELLISTA; OPERAIO rispetto ad inserire un'eventuale sottomaschera .....
    Probabilmente essendo alle prime armi ho sbagliato l'approccio...comunque volevo sapere se il problema è comunque risolvibile o irrisolvibile con tale approccio.
    Grazie comunque Alex.

+ Rispondi al messaggio

Potrebbero interessarti anche ...

  1. Query con campo multivalore
    Da Fire nel forum Microsoft Access
    Risposte: 2
    Ultimo Post: 15-05-2015, 11:33
  2. Campo multivalore - su VBA errore di runtime 13
    Da RiccardoA nel forum Microsoft Access
    Risposte: 6
    Ultimo Post: 23-03-2015, 16:18
  3. Campo multivalore
    Da OsvaldoLaviosa nel forum Microsoft Access
    Risposte: 3
    Ultimo Post: 31-10-2014, 10:38
  4. [ACCESS] - Listbox: rowsource query - parametro
    Da didib nel forum Microsoft Access
    Risposte: 2
    Ultimo Post: 27-03-2008, 17:48
  5. ListBox che restituisce i nomi dei file contenuti nella dir
    Da Gossip nel forum Visual Basic .Net
    Risposte: 4
    Ultimo Post: 21-02-2007, 16:51