Combobox che prende valore da textbox

di il
15 risposte

Combobox che prende valore da textbox

Buongiorno a tutti

in magazzino utilizziamo un database per la gestione delle giacenze, in una maschera è presente una text box dove, tramite un lettore barcode, viene sparato il codice a barre dei prodotti e sull'evento after update vengono estratti i dati del barcode e popolate le caselle relative a lotti e scadenze; successivamente il focus si sposta su una combobox dove viene scelto il tipo di prodotto. Ora, la domanda è ( e potrà essere anche banale!!!) visto che nel barcode è presente anche il codice relativo al prodotto, e lo stesso codice è presente in una colonna della combobox, è possibile popolare automaticamente la combobox prendendo il dato dalla casella di testo?

Grazie

15 Risposte

  • Re: Combobox che prende valore da textbox

    Per ogni codice prodotto quanti tipi di prodotto hai? Se la risposta e' 1 a 1 la combo box non Ti serve. Sull' evento Afterupdate estrai il codice prodotto dal barcode, cerchi nella relativa tabella il tipo di prodotto associato e lo copi nella textbox collegata... 

  • Re: Combobox che prende valore da textbox

    Che tipo di codice a barre stai leggendo?

    Ean8 o ean13 identificano il prodotto

    Ean14 o dun14 è l'ean13 con un numero iniziale da 1 a 8 e con la 13ma cifra di controllo dell'ean13 ricalcolata.

    Ean14 e/o dun14 sono quelli che vanno sulla confezione riconoscibile per la cornicetta molto marcata.

    Il primo numero non ha una regola, serve al produttore per stabilire il confezionamento.

    Se hai una confezione da 3, una da 5 e una da 10 pezzi puoi anteporre 1, 2 e 3 alle rispettive confezioni, seguendo la regola di costruzione dell'ean13. Fino a un massimo di 8 tipi di confezionamento.

    Tuttavia, trattandosi di magazzino, suppongo tu stia parlando dell'ean128 o gs1-128

    Se sai com'è fatto sai anche quali informazioni contiene.

    https://it.m.wikipedia.org/wiki/GS1-128#:~:text=La%20forma%20corretta%20del%20nome,molti%20altri%20tipi%20di%20informazioni.

    Il lettore traduce in testo e da invio.

    All'invio ti estrapoli le informazioni leggendo la stringa. Attenzione alle parentesi che ti preannunciano cosa sono i numeri o lettere a seguire fino alla prossima parentesi.

    Buon lavoro.

  • Re: Combobox che prende valore da textbox

    24/06/2025 - Mailman ha scritto:

    Per ogni codice prodotto quanti tipi di prodotto hai? Se la risposta e' 1 a 1 la combo box non Ti serve. Sull' evento Afterupdate estrai il codice prodotto dal barcode, cerchi nella relativa tabella il tipo di prodotto associato e lo copi nella textbox collegata... 

    Ciao,

    1 a 1, ma la combobox serve per forza perchè i prodotti che non hanno il barcode vengono caricati manualmente e dalla combo si sceglie il tipo di prodotto e le altre textbox vengono popolate manualmente. Ho già provato a estrarre il codice ma, mentre le textbox vengono popolate correttamente, la combobox resta vuota.

    24/06/2025 - sihsandrea ha scritto:

    Che tipo di codice a barre stai leggendo?

    Ean8 o ean13 identificano il prodotto

    Ean14 o dun14 è l'ean13 con un numero iniziale da 1 a 8 e con la 13ma cifra di controllo dell'ean13 ricalcolata.

    Ean14 e/o dun14 sono quelli che vanno sulla confezione riconoscibile per la cornicetta molto marcata.

    Il primo numero non ha una regola, serve al produttore per stabilire il confezionamento.

    Se hai una confezione da 3, una da 5 e una da 10 pezzi puoi anteporre 1, 2 e 3 alle rispettive confezioni, seguendo la regola di costruzione dell'ean13. Fino a un massimo di 8 tipi di confezionamento.

    Tuttavia, trattandosi di magazzino, suppongo tu stia parlando dell'ean128 o gs1-128

    Se sai com'è fatto sai anche quali informazioni contiene.

    https://it.m.wikipedia.org/wiki/GS1-128#:~:text=La%20forma%20corretta%20del%20nome,molti%20altri%20tipi%20di%20informazioni.

    Il lettore traduce in testo e da invio.

    All'invio ti estrapoli le informazioni leggendo la stringa. Attenzione alle parentesi che ti preannunciano cosa sono i numeri o lettere a seguire fino alla prossima parentesi.

    Buon lavoro.

    Ciao, 

    è un gs1-128, so perfettamente come funzionano, come crearli e cosa contengono; estrae tutti i dati perfettamente ma non riesco ad assegnare il valore alla combobox, che per capirci ha origine dati da una tabella con: idprodotto, codiceprodotto, ean13.

    se non è presente il 128 manualmente nella combo si inserisce il codice prodotto e automaticamente popola altre caselle di testo; quello che vorrei fare è popolare la combo tramite ricerca dell' ean13 e assegnare alla combo il codiceprodotto.

  • Re: Combobox che prende valore da textbox

    25/06/2025 - biron79 ha scritto:

    se non è presente il 128 manualmente nella combo si inserisce il codice prodotto e automaticamente popola altre caselle di testo; quello che vorrei fare è popolare la combo tramite ricerca dell' ean13 e assegnare alla combo il codiceprodotto.

    se non ho capito male....

    hai il 128 dove le prime cifre dopo le parentesi sono l'ean13 del prodotto....

    devi modificare l'estrazione che fai dal gs1-128.

    esempio reale: ean128: (02)08026053624897(10)BB20062025(37)18

    dice che il prodotto ean13 08026053624897 ha lotto BB20062025 e ci sono 18 confezioni

    quando batti l'ean 128 devi riconoscere (anche tramite una funzione dedicata che ti ritorna i vari codici - lotto, scadenza, pezzi, confezioni ecc...) il suo ean13 (sempre dalla posizione 5 alla posizione 18).

    la ricerca del prodotto nell'anagrafica articoli (o sarebbe meglio dire nella tabella barcodearticoli) la fai con l'ean13 che ti ritorna la funzione.

    fin qui credo che lo faccia...

    se hai solo l'ean13 bypassi l'estrapolazione dell'ean13 e vai direttamente alla ricerca in tabella barcodearticoli (o come vuoi chiamarla).

    dalla tabella dei barcode risali all'articolo e precarichi tutto quello che ti serve per fare il carico (anche andare a selezionare la voce della combo).

    un consiglio: dal textbox di ricerca io farei il controllo su: ean13, se non lo trova o non è un ean13, provi con ean128, se non esiste cerchi ref del fornitore, idarticolo se lo conosco a memoria, parziale descrizione dell'articolo (like %blabla%bli bli%) ecc... ecc.. e in extremis, aprirei il form articoli per avviare una ricerca (magari è un nuovo articolo e devo caricarlo usando duplica).

    P.S. l'ean va sempre in una tabella a parte mai nell'anagrafica articoli. succede che lo stesso prodotto provenga da paesi diversi e quindi l'ean cambia (80 a inizio ean13 identifica l'italia, un prodotto fatto in italia) quindi un articolo molti ean13 (anche il dun14 che moltiplica il pezzo per il nr. confezioni)

    quindi la tabella sarà ean13, idarticolo, nrpezzi.

  • Re: Combobox che prende valore da textbox

    Ecco, sto facendo esattamente così! ma niente da fare!

  • Re: Combobox che prende valore da textbox

    25/06/2025 - biron79 ha scritto:

    Ciao,

    1 a 1, ma la combobox serve per forza perchè i prodotti che non hanno il barcode vengono caricati manualmente e dalla combo si sceglie il tipo di prodotto e le altre textbox vengono popolate manualmente. Ho già provato a estrarre il codice ma, mentre le textbox vengono popolate correttamente, la combobox resta vuota.

    Io farei cosi':

    Creerei una textbox non collegata nella maschera e ci salvi dentro il tuo codice prodotto (ovviamente ad ogni nuovo inserimento va pulita in modo che sia sempre vuota. Poi nella combo di selezione ci dovrebbe essere presumibilmente una query per l'origine dei dati e su quella si crea il filtro con il valore della tua textbox: occorre mettere la condizione che se la textbox e' vuota o nulla non filtri nulla altrimenti filtra per il valore della textbox.

    Ricordati di fare il requery della combobox sull'Afterupdate della textbox dopo aver sparato il codice

    Fai sapere

  • Re: Combobox che prende valore da textbox

    25/06/2025 - biron79 ha scritto:

    Ecco, sto facendo esattamente così! ma niente da fare!

    senza vedere codice non posso dire altro se non di crearti il 128...

    hai l'ean13? scrivi (02)ean13(10)1(37)1

    prendi per i fondelli il controllo... poi modifichi a mano lotto o matricola (10) e pezzi (37)

    puoi usare anche i riferimenti che hai di solito nell'ean128 ossia i codici (10) e (37) dell'esempio.

  • Re: Combobox che prende valore da textbox

    25/06/2025 - Mailman ha scritto:

    25/06/2025 - biron79 ha scritto:

    Ciao,

    1 a 1, ma la combobox serve per forza perchè i prodotti che non hanno il barcode vengono caricati manualmente e dalla combo si sceglie il tipo di prodotto e le altre textbox vengono popolate manualmente. Ho già provato a estrarre il codice ma, mentre le textbox vengono popolate correttamente, la combobox resta vuota.

    Io farei cosi':

    Creerei una textbox non collegata nella maschera e ci salvi dentro il tuo codice prodotto (ovviamente ad ogni nuovo inserimento va pulita in modo che sia sempre vuota. Poi nella combo di selezione ci dovrebbe essere presumibilmente una query per l'origine dei dati e su quella si crea il filtro con il valore della tua textbox: occorre mettere la condizione che se la textbox e' vuota o nulla non filtri nulla altrimenti filtra per il valore della textbox.

    Ricordati di fare il requery della combobox sull'Afterupdate della textbox dopo aver sparato il codice

    Fai sapere

    già provato anche questo metodo! niente da fare! 

  • Re: Combobox che prende valore da textbox

    Mostra la query di selezione della combo.

    Dai un'occhiata anche a questo post: ByFranco65 ha spiegato molto bene come fare una cosa simile alla tua... che potresti adattare:

    https://www.iprogrammatori.it/forum-programmazione/access/combo-box-parametrizzata-tramite-query-t54619.html

  • Re: Combobox che prende valore da textbox

    Ancora non si vede un minimo di codice e/o un elenco di tabelle corredato di campi...

    Ho dato uno sguardo ai tuoi 3d. Dici di essere neofita anche se alla fine riesci a scrivere codice. Credo, piuttosto, che tu sia neofita come magazziniere.

    Cosa dovrebbe contenere la combo? se cerchi per ean, trovi l'unico prodotto che ha quell'ean.

    se cerchi per descrizione: like % deo spray 150 ml lycia % allora ha senso popolare la combo con:

    1) deo spray 150 ml lycia argan (ean possibili: 123456, 56789, 45223)

    2) deo spray 150 ml lycia frutti di bosco (ean possibili: 125556, 58889, 42223)

    3) deo spray 150 ml lycia pesca (ean possibili: 115586, 58822, 41123)

    ecc...

    a che serve popolare la combo se cerco ean 123456 e ho solo deo spray 150 ml lycia argan?

    cosa contiene la combo?

  • Re: Combobox che prende valore da textbox

    25/06/2025 - sihsandrea ha scritto:

    25/06/2025 - biron79 ha scritto:

    Ecco, sto facendo esattamente così! ma niente da fare!

    senza vedere codice non posso dire altro se non di crearti il 128...

    hai l'ean13? scrivi (02)ean13(10)1(37)1

    prendi per i fondelli il controllo... poi modifichi a mano lotto o matricola (10) e pezzi (37)

    puoi usare anche i riferimenti che hai di solito nell'ean128 ossia i codici (10) e (37) dell'esempio.

    scusa, non avevo visto la risposta!!!

    sto usando il 128 dal quale estraggo tutti i dati che mi servono (lotto, quantità, scadenza, ecc) in una textbox a parte mi estrae anche ean13

    la combobox ha origine su una tabella: id, codiceprodotto, prodottolavorato, prodottoinuscita, ean13, gs1var

    fin'ora la combo veniva popolata a mano e su after andava a popolare altre text e DEVE restare in questo stato perchè alcuni prodotti non hanno il 128

  • Re: Combobox che prende valore da textbox

    25/06/2025 - sihsandrea ha scritto:

    Ancora non si vede un minimo di codice e/o un elenco di tabelle corredato di campi...

    Ho dato uno sguardo ai tuoi 3d. Dici di essere neofita anche se alla fine riesci a scrivere codice. Credo, piuttosto, che tu sia neofita come magazziniere.

    Cosa dovrebbe contenere la combo? se cerchi per ean, trovi l'unico prodotto che ha quell'ean.

    se cerchi per descrizione: like % deo spray 150 ml lycia % allora ha senso popolare la combo con:

    1) deo spray 150 ml lycia argan (ean possibili: 123456, 56789, 45223)

    2) deo spray 150 ml lycia frutti di bosco (ean possibili: 125556, 58889, 42223)

    3) deo spray 150 ml lycia pesca (ean possibili: 115586, 58822, 41123)

    ecc...

    a che serve popolare la combo se cerco ean 123456 e ho solo deo spray 150 ml lycia argan?

    cosa contiene la combo?

    Ho visto adesso anche la tua seconda risposta, e per tua informazione si mi reputo neofita perchè conosco giusto le basi, ma non venirmi a spiegare come funziona un barcode o un magazzino perchè sicuramente posso insegnarti molte cose :-)

    come ho già spiegato la combo popola altri campi e non cerca per ean ma per codice prodotto 

  • Re: Combobox che prende valore da textbox

    Cerchiamo di andare passo passo perche', non sapendo a che livello di conoscenza sei con access, proviamo uno step alla volta.

    Hai inserito una textbox nella form per salvare il codiceprodotto?

    Hai verificato se dopo lo "sparo" del codice la textbox viene popolata con il codiceprodotto?

    Fino a qui funziona tutto?

  • Re: Combobox che prende valore da textbox

    25/06/2025 - Mailman ha scritto:

    Cerchiamo di andare passo passo perche', non sapendo a che livello di conoscenza sei con access, proviamo uno step alla volta.

    Hai inserito una textbox nella form per salvare il codiceprodotto?

    Hai verificato se dopo lo "sparo" del codice la textbox viene popolata con il codiceprodotto?

    Fino a qui funziona tutto?

    sì, ho creato una text box separata e dopo lo "sparo" mi estrae correttamente il codice ean13

    il codice prodotto è una sigla associata all ean13 1:1, ogni codiceprodotto ha un ean13

    ora, io devo prendere ean13 che ho nella text andare a ricercare nella tabella quell' ean13 e riportare nella combo il codiceprodotto corrispondente

    Private Sub ean128_AfterUpdate()

    Me.EAN13 = Mid(ean128, 4, 12)
    Me.LOTTO = Mid(ean128, 37, 8)
    Me.scadenza = CDate(Mid(ean128, 33, 2) & "/" & Mid(ean128, 31, 2) & "/" & Mid(ean128, 29, 2))
    Me.pesogrammi = Mid(ean128, 21, 6)

    End Sub

Devi accedere o registrarti per scrivere nel forum
15 risposte