Combobox che prende valore da textbox

di il
24 risposte

24 Risposte - Pagina 2

  • Re: Combobox che prende valore da textbox

    25/06/2025 - biron79 ha scritto:

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

    Ecco, la mia esperienza da magazziniere, anche se in tempi remoti, mi dice che 1 codice articolo >> molti codici a barre (almeno 2 uno sul battente del pezzo e uno sul battente della confezione).

    Passiamo alla logica...

    25/06/2025 - biron79 ha scritto:

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

    Tu prevedi articolo = Ean (non specificando se articolo è il codice articolo del fornitore o l'ID che hai associato al carico dell'articolo) ma in ogni caso in collegamento 1 a 1 (poi mi spieghi come avviene suppongo hai la tabella Ean articoli con campi id articolo e Ean) quindi che sia Ean o id hai già quello che ti serve perché sono legate 1a1 quindi ripeto la domanda: cosa contiene la combo?

    A id1 che corrisponde solo Ean 12345 che fa capo solo alla descrizione bla bla, che altro c'è nella combo? Nulla solo il codice articolo! Che hai anche come Ean (1 a 1).

    Ti resta vuota se non hai l'ean? Forse perché non è associato ad alcun articolo?

    Allora se.vuota: messaggio "articolo non trovato, vuoi caricarlo?"

    25/06/2025 - biron79 ha scritto:

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

    Select * from tabella where 

    (campoEan=[texbox o variabile dell'ean ricavato] and 

    [texbox o variabile dell'ean ricavato] <>'')

    In questo caso se non hai nulla nella texbox mostra tutto altrimenti mostra solo l'articolo in questione.

    Dalla query hai tutto ciò che riguarda l'articolo (PZ x CF, iva, descrizione, fornitore abituale, codice del fornitore ecc...). Non serve neppure la combo... A meno che non cerchi per descrizione come nella mia precedente risposta.

  • Re: Combobox che prende valore da textbox

    Eccomi, allora cerco di spiegarti meglio la situazione

    ho una tabella (tblmatrice) così strutturata: 

    id: pk 

    codice: (testo) è un codice interno che distingue univocamente i prodotti (esempio "me" = mele, "ba"= banane, "pa" = pane, "pa4" = pane a fette", ecc)

    prodotto in uscita: (testo)

    prodotto lavorato: (testo) 

    chiaveesterna: numerico

    ean13: assegnato alla confezione

    chiavegs1: assegnato al singolo pezzo in quanto sono tutti prodotti a peso variabile

    La combo punta su questa tabella: l'operatore sceglie dalla combo il codice e automaticamente su after popola le text relative a prodotto in uscita e lavorato; attualmente il barcode (gs1-128) estrae tutte le informazioni relative a lotto, quantità e peso e popola altre text. tutte queste informazioni vengono scritte su un' altra tabella.

    attualmente non viene estratto l'ean13 che è relativo al prodotto in uscita

    ora, potrei estrarre tutti i dati tranquillamente in una sola volta e popolare automaticamente tutte le text ma mi serve mantenere la combo perchè se non è presente il gs1-128 l'operatore deve caricare tutte e informazioni a mano e la combo come ho scritto prima popola in parte alcune text

  • Re: Combobox che prende valore da textbox

    25/06/2025 - biron79 ha scritto:

    La combo punta su questa tabella: l'operatore sceglie dalla combo il codice e automaticamente su after popola le text relative a prodotto in uscita e lavorato; attualmente il barcode (gs1-128) estrae tutte le informazioni relative a lotto, quantità e peso e popola altre text. tutte queste informazioni vengono scritte su un' altra tabella.

    attualmente non viene estratto l'ean13 che è relativo al prodotto in uscita

    Quindi come nel reparto salumi o carnezzeria... Selezioni il PLU pesi il prodotto ed esce il bar code per la cassa...

    Ho capito bene prima che proseguo?

  • Re: Combobox che prende valore da textbox

    Forse potresti postare un file di esempio in modo che sia più semplice capire che cosa hai realizzato e vedere direttamente perchè non funziona.

  • Re: Combobox che prende valore da textbox

    25/06/2025 - sihsandrea ha scritto:

    25/06/2025 - biron79 ha scritto:

    La combo punta su questa tabella: l'operatore sceglie dalla combo il codice e automaticamente su after popola le text relative a prodotto in uscita e lavorato; attualmente il barcode (gs1-128) estrae tutte le informazioni relative a lotto, quantità e peso e popola altre text. tutte queste informazioni vengono scritte su un' altra tabella.

    attualmente non viene estratto l'ean13 che è relativo al prodotto in uscita

    Quindi come nel reparto salumi o carnezzeria... Selezioni il PLU pesi il prodotto ed esce il bar code per la cassa...

    Ho capito bene prima che proseguo?

    Non proprio, io devo usare il barcode della confezione non quello del singolo pezzo. 

    26/06/2025 - Stifone ha scritto:

    Forse potresti postare un file di esempio in modo che sia più semplice capire che cosa hai realizzato e vedere direttamente perchè non funziona.

    sì, forse è meglio così si capisce cosa vorrei fare

  • Re: Combobox che prende valore da textbox

    https://www.dropbox.com/scl/fi/7mnclrmhhp5ng4afu5go1/prova_GS1128.accdb?rlkey=gqritqizqs17e0h9djamsas6n&dl=0

    ecco il file di esempio

  • Re: Combobox che prende valore da textbox

    Rivedendo il tutto:

    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.

    quindi non si tratta di carico/scarico ma di prelievo per lavorazione. il form è una scheda di lavorazione e trasformazione da materia prima a prodotto finito.

    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?

    in pratica batti l'ean128 ed estrapoli ean13 più altre informazioni.

    visto che la combo punta su questa tabella:

    punto 1)  tblmatrice{id ;codice ;prodotto in uscita; prodotto lavorato; chiaveesterna; ean13; chiavegs1}

    e considerato che scrivi anche 

    punto 2)
    estrae tutti i dati perfettamente ma non riesco ad assegnare il valore alla combobox, che per capirci ha origine dati da una tabella (la chiamo tabellaA) con: idprodotto, codiceprodotto, ean13.

    significa che la combo attinge da tabellaA vedi punto 2.

    ma poi scrivi che la combo è legata alla tabella tblmatrice vedi punto 1...

    e che la combo ha un campo che identifica il tipo di lavorazione vedi punto 3

    punto 3)
    codice: (testo) è un codice interno che distingue univocamente i prodotti (esempio "me" = mele, "ba"= banane, "pa" = pane, "pa4" = pane a fette", ecc)

    della tabella tblmatrice alla quale è collegata la combo...

    secondo me, posso anche sbagliarmi, hai fatto confusione.

    chiarito quanto sopra, se stai creando il foglio di lavorazione (distinta base) e vuoi partire dalle info della materia prima allora devi:

    - avere una textbox indipendente dove battere l'ean

    - estrapolare i dati che servono

    - creare la sql per la combo

    - inserire un nuovo record

    - precaricare i dati estratti dall'ean

    a questo punto, faccio un'osservazione: esplodendo l'ean 128 perchè non metti le info ricavate su delle variabili? non si pagano...

    Var_EAN13 = Mid(ean128, 4, 12)
    Var_LOTTO = Mid(ean128, 37, 8)
    Var_scadenza = CDate(Mid(ean128, 33, 2) & "/" & Mid(ean128, 31, 2) & "/" & Mid(ean128, 29, 2))
    Var_pesogrammi = Mid(ean128, 21, 6)

    ricavate le info ti serve che la combo mostri tutte le trasformazioni che puoi fare da quella materia prima ma non è chiaro se la tabella collegata, ammesso che sia la tabella "tblmatrice " e' in insert, visto che l'ean128 ancora non esiste, o sia in edit.

    credo che la combo si deve collegare ad una tabella, chiamiamola "tipoditrasformazione" che contenga l'elenco dei codici del punto 3.

    a sua volta la colleghi con "tblmatrice".

    ricapitoliamo:

    se hai un ean128 ricavi i dati e vai in insertmode con la tabella  "tblmatrice " preinserendo i dati estrapolati. il dato codice lo prendi dalla combolookup inserendo l'id ma mostrando il testo "me, ba, ecc.."

    prodotto in uscita è quello dell'ean13 estrapolato, prodottolavorato sarà un id del prodotto finito, l'ean sarà l'ean del prodotto finito e chiave gs1 il nuovo ean128 in etichetta al prodotto finito.

    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?

    devi popolare la combo, o per meglio dire, devi estrapolare i dati da associare alla combo, con una query.

    se alla tabellaA) con: idprodotto, codiceprodotto, ean13. aggiungi il campo id e il campo codice (quello con me, ba, ecc..) allora puoi associatlo alla combo.

    tabellaA

    id   idprodotto   codiceprodotto ean13 codice

    1       1                   a234                   xxxx    me

    2       1                   b234                   xxxx   ba

    3       1                   x234                   yyyy    me

    4       1                   j234                   yyyy    ba

    ecc...

    la combo la popoli con id prodotto (non so se ean si riferisce alla materia prima)

    select * from tabellaA where codiceprodotto=[var_ean13]

    tornando all'inizio, se non hai l'ean128 iniziale dal quale estrapoli tutto:

    se textbox='' 

    apri form mateiaprima

    selezioni materiaprima, 

    ti riporti l'ean su Var_EAN13, 

    apri tabella lottidisponibili e ti riporti il lotto su Var_LOTTO, ecc.. 

    e riprendi l'esecuzione come dopo aver battuto l'ean128 (magari lo ricostruisci in textbox=ean13 + '(10)' + lotto ecc... e rifai l'after update... che stavolta non sarebbe Textbox='' e avvia tutto l'ambaradan e se non esiste ean13 forzalo a 1234567890128 facendo attenzione che se ean=1234567890128 allora ean=null nel momento del carico e lavorare su id_articolo).

  • Re: Combobox che prende valore da textbox

    Grazie delle risposta, cerco di spiegarmi meglio

    in realtà si tratta di una scheda di tracciabilità dei prodotti

    come puoi aver visto dall'esempio ci sono due tabelle: lavorazioni e matrice

    nella t_lavorazioni vengono inseriti tutti i dati sparati dal barcode e dalla combo

    la t_matrice serve, fino ad ora, per caricare velocemente i dati relativi ai prodotti e contiene anche le informazioni relative all' ean13

    ora, facendo diverse prove e grazie ai consigli sono riuscito quasi a ottenere quello che volevo, manca solo una cosa:

    popolare automaticamente la combo dal barcode

     in parole povere: sparo il barcode, mi estrae ean13 lo confronta con ean della tabella matrice e mi restituisce il codice (c4, rs, cn, ecc) (ho aggiunto una text e vedo che il codice restituito è corretto!) e fin qui tutto ok, ora questo codice lo devo passare alla combo e qua mi blocco perchè non riesco ad assegnarlo correttamente.

  • Re: Combobox che prende valore da textbox

    26/06/2025 - biron79 ha scritto:

    in realtà si tratta di una scheda di tracciabilità dei prodotti

    avevo intuito. per tua fortuna io faccio tracciabilità/rintracciabilità lotti e gestione delle emergenze.

    26/06/2025 - biron79 ha scritto:

    popolare automaticamente la combo dal barcode

    come sono relazionate le tabelle materieprime (o come la chiami tu) con la tabella che contiene i codici di lavorazione (me, ba, ecc...).

    elenca le tabelle e i rispettivi campi con le relazioni che concludiamo.

    scusa mi era sfuggito...

    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?
    select codice, campoopzionale1, campoopzionale2,..., campoopzionaleN 
    from tabellacodicilavorazione
    inner join tabellamaterieprime on codicerelativoalprodotto=codicecolonnacombobox 
    where codicerelativoalprodotto=[datoestrapolato]
    order by codice desc

    questa la associ alla combo (la fonte) e il relativo id di scelta si associa alla tabella di lavorazione in automatico(?).

    p.s. ovviamente inserisci i nomi che hai, io li ho messi fittizi.

  • Re: Combobox che prende valore da textbox

    Risolto! Grazie

    Alla fine ho sostituito la combo con una text e funziona tutto alla perfezione!

    Su after del barcode estrae tutti i dati e popola le text

    se manca il 128 su after della ex-combo, ora text, popola le altre text con i dati mancanti

Devi accedere o registrarti per scrivere nel forum
24 risposte