Selezione multipla

di il
14 risposte

Selezione multipla

Buongiorno a tutti,
sto utilizzando una maschera per l'inserimento di report in una tabella. uno dei campi da compilare può assumere più valori differenti contemporaneamente. per ora sono riuscito a creare una casella combinata da cui posso fare una selezione multipla (ogni voce dell'elenco ha una casella vuota da spuntare) che deve essere confermata tramite il 'tasto' OK. il problema nasce dalla necessità che la selezione deve essere fatta tramite un lettore di codici a barre. Vorrei che selezionando la casella si apra in automatico l'elenco della scelta multipla (mentre ora si apre solo cliccando sulla freccina) e che, tramite la lettura del codice a barre corrispondente, vengano spuntate le voci. (per ora la scelta multipla funziona ma solo con il mouse, mentre usando il lettore quello che succede è che anche leggendo il testo corretto non ottengo nessuna compilazione anzi passa direttamente al campo successivo della maschera). qualcuno può darmi una mano?
Grazie in anticipo

14 Risposte

  • Re: Selezione multipla

    mazi ha scritto:


    sto utilizzando una maschera per l'inserimento di report in una tabella
    Che vuol dire?

    mazi ha scritto:


    uno dei campi da compilare può assumere più valori differenti contemporaneamente. per ora sono riuscito a creare una casella combinata da cui posso fare una selezione multipla (ogni voce dell'elenco ha una casella vuota da spuntare)
    Sei sicuro si tratti di una "casella combinata", invece è una "casella di riepilogo"?

    Rispiega tutto usando i nomi propri di maschera, tutti i suoi controlli, qualche valore di esempio.
  • Re: Selezione multipla

    Chiedo scusa se il linguaggio non è corretto ma sono un novello.
    con la maschera manutenzione vengono raccolti i dati delle manutenzioni all'interno della tabella dati_manutenzione.
    il campo causale può assumere più valori contemporaneamente (rottura,affilatura...). ti confermo che la selezione multipla viene fatta attraverso una casella combinata. ho provato a mettere una casella di riepilogo adesso e funziona per la selezione multipla tramite il mouse ma non con il lettore di codici a barre. posso mantenere la casella di riepilogo ma quello che vorrei è che leggendo per esempio rottura tramite il lettore,venga spuntata la voce rottura all'interno dell'elenco
  • Re: Selezione multipla

    1. Potresti elencare tutti i campi della tabella/maschera Manutenzioni (ti consiglio di usare un nome al PLURALE per i nome-tabella)?
    2. Potresti elencare tutti i dettagli/campi/colonne della casella combinata?

    mazi ha scritto:


    il campo causale può assumere più valori contemporaneamente (rottura,affilatura...). ti confermo che la selezione multipla viene fatta attraverso una casella combinata
    Si tratta di un campo "multivalore"...molto sconsigliato dai programmatori, meglio la relazione sistematica uno-a-molti.

    mazi ha scritto:


    Vorrei che selezionando la casella si apra in automatico l'elenco della scelta multipla (mentre ora si apre solo cliccando sulla freccina) e che, tramite la lettura del codice a barre corrispondente, vengano spuntate le voci. (per ora la scelta multipla funziona ma solo con il mouse
    Che io sappia il campo multivalore funziona così e basta. Non riesco a immaginare una cosa automatica come dici tu.
  • Re: Selezione multipla

    Maschera manutenzioni ha questi campi:

    data: che viene compilata in automatico
    oggetto: che viene compilato con una casella combinata
    programmata/non
    causale: (ho messo ora casella di riepilogo)
    operatore: che viene compilato con una casella combinata

    causale ha due colonne che corrispondono alle prime due colonne (ID, nome_causale) della tabella causali

    se utilizzo il mouse riesco a selezionare le voci di causali che mi interessano andando a spuntare la casella, in pratica funziona con il mouse.
    se invece utilizzo il lettore non ottengo nulla, ossia leggendo il codice a barre ad esempio di 'rottura', la voce 'rottura' non viene spuntata e il campo causale non viene compilato e addirittura il cursore passa al campo successivo ovvero operatore.
  • Re: Selezione multipla

    Scusa...se ho modificato più volte la mia risposta. Ti sconsiglio di usare casella combinata (o casella di riepilogo) con la "spunta". Funziona così e non ci puoi fare molto altro. Io farei una normale casella combinata e vedrai che la lettura del codice a barre selezionerà il valore.
  • Re: Selezione multipla

    mazi ha scritto:


    Chiedo scusa se il linguaggio non è corretto ma sono un novello.
    con la maschera manutenzione vengono raccolti i dati delle manutenzioni all'interno della tabella dati_manutenzione.
    il campo causale può assumere più valori contemporaneamente (rottura,affilatura...). ti confermo che la selezione multipla viene fatta attraverso una casella combinata.
    Serve fare attenzione proprio per il fatto che magari non hai un vocabolario tecnico coerente si rischia di creare confusione...!
    La Casella combinata NON GESTISCE selezioni MULTIPLE, quindi in assoluto la tua affermazione è errata, ciò non toglie che vi sia la possibilità di fare qualche personalizzazione per gestire una selezione Multipla e valorizzare un campo con PIU' SELEZIONI SINGOLE... ma lo devi spiegare altrimenti viene difficile capirti ed è più immediato dirti che sbagli.

    mazi ha scritto:


    ho provato a mettere una casella di riepilogo adesso e funziona per la selezione multipla tramite il mouse ma non con il lettore di codici a barre. posso mantenere la casella di riepilogo ma quello che vorrei è che leggendo per esempio rottura tramite il lettore,venga spuntata la voce rottura all'interno dell'elenco
    Quando dici SPUNTA cosa intendi...? Perchè sempre per chi programma, questo termine si associa ad un Controllo di tipo CheckBox, di conseguenza un campo Boolean in tabella...

    Tu fai molta confusione e francamente dai modo di fraintenderti.
  • Re: Selezione multipla

    Dovrei aver allegato quanto vedo nella mia maschera, se può essere utile.
    Cattura1.PNG
    Cattura1.PNG


    Cattura.PNG
    Cattura.PNG

  • Re: Selezione multipla

    Quel controllo NON E' nativo di Access, perchè nè la Combo nè la ListBox di Access espone la visualizzazione nativa della CheckBox... altra cosa che stai omettendo...!
    Oppure si tratta di SUBFORM.
    Credo, ma chiaramente non ne sono certo, si tratti di un controllo Activex importato da MsForms...

    Insomma... è impossibile seguirti se non andando a tentoni nel tuo esposto... cosa non funzionale.
  • Re: Selezione multipla

    Per @Alex: ho dato diverse risposte a mazi inizialmente perché pensavo come te. Se fai la procedura guidata di creazione casella combinata (sfruttando Ricerca guidata…), nell'ultima finestra si può scegliere "Consenti più valori" che ne determina la caratteristica di "campo multivalore"...è una caratteristica delle ultime versioni di Access.
    Guardando l'immagine che mazi ha postato...direi che ci potrebbe stare la scelta da lui fatta. Per me resta che una casella combinata così progettata...non ci puoi fare nulla altro che mettere la spunta quando vuoi selezionare.
  • Re: Selezione multipla

    L'obiettivo è nienta'altro che quello: obbligare ad una selezione tra le causali proposte. Rimane il fatto che tramite il lettore non riesco a selezionare e di conseguenza spuntare
  • Re: Selezione multipla

    Per me non lo puoi fare.
    Se pensi che usare il lettore sia rapido, io opterei per una piccola sottomaschera (sia pur di pochi record…) e la selezione classica.

    Un'altra idea che mi sarebbe saltata in mente potrebbe essere…Siccome desideri vedere la serie di selezioni su unico controllo, separate da punto-virgola e preferisci la selezione lettore…
    1. Crei un pulsante che ti apre una piccola maschera popup con la casella combinata classica.
    2. Ad ogni selezione, un codice VBA si impegna a scrivere nel tuo controllo la serie di selezioni separandole con punto-virgola.
    3. Quando hai finito di multi-selezionare, chiudi la piccola maschera popup.

    Si tratta di un marchingegno che però devi saper gestire bene in VBA se non vuoi combinare pasticci.
  • Re: Selezione multipla

    OsvaldoLaviosa ha scritto:


    Per @Alex: ho dato diverse risposte a mazi inizialmente perché pensavo come te. Se fai la procedura guidata di creazione casella combinata (sfruttando Ricerca guidata…), nell'ultima finestra si può scegliere "Consenti più valori" che ne determina la caratteristica di "campo multivalore"...è una caratteristica delle ultime versioni di Access.
    Guardando l'immagine che mazi ha postato...direi che ci potrebbe stare la scelta da lui fatta. Per me resta che una casella combinata così progettata...non ci puoi fare nulla altro che mettere la spunta quando vuoi selezionare.
    Lasciamo stare i campi multivalore... sono da bandire, soprattutto per i poco esperti... gli altri non hanno bisogno di essere allertati.
    Le combo NON HANNO CHECKBOX quindi a prescindere non vengono fornite le condizioni operative sufficienti.

    Ciò detto vi lascio proseguire.
  • Re: Selezione multipla

    Mazi, devi chiarire, nel dettaglio, lo scenario in cui operi.
    Considera che un lettore di codice a barre effettua la acquisizione di un valore codificato alla volta; inoltre se il bar-code è in emulazione di tastiera ed è stato impostato il carattere di invio automatico (a seguire del codice) è come se si fosse digitato il codice stesso con la relativa conferma (attraverso tasto "Return") del dato.
    In tale contesto,i è normale che viene effettuata la prima scelta (indipendentemente dal controllo impiegato) ed, al contempo, è come se si confermasse la scelta passando al controllo successivo.

    Ne consegue che sia se impieghi un campo multi-valore:
    https://support.office.com/it-it/article/introduzione-ai-campi-multivalore-7c2fd644-3771-48e4-b6dc-6de9bebbec31
    o una casella di riepilogo (ListBox) con proprietà MultiSelect

    avrai un insieme possibile di valori da soddisfare.

    Quindi, in generale, se vuoi impiegare un lettore di codici a barre non potrai selezionare le varie check-box ma dovrai agire sui possibili valori in elenco, avendo l’opportunità di confermare le scelte effettuate solo al termine delle operazioni nel controllo.
    Pertanto se il lettore di codici a barre è in grado di operare in emulazione di tastiera ed è possibile un setup dei caratteri trasmessi, si dovrà disabilitare il carattere di CR/LF (Carriage Return / Line Feed) che viene aggiunto, automaticamente, a seguire del codice stesso; e nel contempo (se possibile) sostituire tale carattere di Invio con ad esempio la freccia su o giù in modo da rimanere all'interno del controllo ed effettuare e confermare la scelta complessive solo dopo premuto apposito pulsante.

    In tal modo attraverso il lettore di codici a barre potrai effettuare la scelta multipla dei vari valori i quali, comunque, saranno legati alle funzionalità di inserimento o ricerca che dovranno agire in base a come sono strutturati i dati.
    In tale ambito puoi leggere i documenti relativi alla:
    - ricerca attraverso il campi multivalore
    https://support.office.com/it-it/article/aggiungere-o-modificare-un-colonna-di-ricerca-che-consente-di-memorizzare-valori-multipli-63834360-2d63-4e13-8499-a62b47a4ee27
    https://support.office.com/it-it/article/utilizzo-di-campi-multivalore-nelle-query-6f64f92d-659f-411c-9503-b6624e1e323a
    - selezione multipla nella listbox
    https://support.microsoft.com/it-it/help/827423/how-to-retrieve-the-selected-items-in-a-multiple-selection-list-box-as

    Come consiglio conclusivo, trovandomi d’accordo con Alex, sconsiglio l’impiego dei campi multi-valore, preferendo una struttura classica relazionale, ove anche l’acquisizione del dato, attraverso il il lettore di codici a barre, può essere più facilmente implementato scegliendo il controllo più consono alla gestione.
  • Re: Selezione multipla

    Grazie a tutti per il vostro contributo. al momento terrò la selezione tramite mouse, magari più avanti andrò più a fondo. Grazie di nuovo
Devi accedere o registrarti per scrivere nel forum
14 risposte