Creazione etichetta e qrcode

di il
18 risposte

Creazione etichetta e qrcode

Buonasera, ho la necessità di creare un report per stampare un'etichetta adesiva che abbia le seguenti caratteristiche:
un numero progressivo, una data (data della stampa etichetta) ed un qrcode dato da codice articolo, data stampa etichetta e progressivo.
Il codice articolo lo reperisco dall'ordine cliente, quindi reperisco anche la quantità dell'articolo, quindi anche quante etichette stampare.
Queste etichette quindi avranno come campi il progressivo, il campo data, che marchio a fuoco nel report ed il qrcode.
Prima di intraprendere progetti a "caso", vorrei chiedervi come procedere.
La mia idea è:
Una query di accodamento che crei una tabella con questi campi: ordine cliente, codice articolo, quantità, contatore/progressivo, campo qrcode (che nella mia testa è una stringa dei campi sopracitati che poi applicherò il font corretto nel report, tipo 3 of 9 barcode).
Questa query però deve: aggiungere tante righe quante quelle della quantità dell'ordine cliente per avere i l progressivo (che mi serve sia per la stampa che per il qrcode) e soprattutto il report deve stampare ogni volta che lo lancio, dopo aver eseguita la query di accodamento sul nuovo ordine cliente, i progressivi a partire da quelli aggiunti con l'ultima query di aggiornamento.

Vorrei capire se la logica è corretta e, in caso di risposta affermativa, come gestire la stampa del report con l'intervallo corretto del progressivo.

18 Risposte

  • Re: Creazione etichetta e qrcode

    Non si comprende per quale motivo impiegare il crittogramma QR-code insieme al codice a barre Code 3 of 9, dal momento che se si vuole realizzare una etichetta per il cliente è preferibile il primo, che offre 7.089 caratteri numerici o 4.296 alfanumerici, sicuramente più ampi del secondo.
    Inoltre il report deve essere indipendente dalla sua stampa in quanto per qualsiasi motivo vi deve essere l'opportunità della ripresa da un punto di interruzione.
    Quindi la generazione dei dati deve essere condotta in una fase che sia slegata dalla stampa e e la memorizzazione piuttosto che con una semplice Query di accodamento possa essere implementa con codice VBA, sul Recordset, che aggiorni i progressivi.
  • Re: Creazione etichetta e qrcode

    Forse mi sono spiegato male io, ma ho scritto tipo 3 of 9 (nel senso che utilizzandolo già, mi interessa sapere se il qrcode lo gestisco allo stesso modo, ovvero selezionando il font adatto alla stringa nel report).

    Per il resto, tutto chiaro come il petrolio
  • Re: Creazione etichetta e qrcode

    superkairo ha scritto:


    Per il resto, tutto chiaro come il petrolio
    Vuol dire che non hai capito nulla? Neanche io.
    Almeno per me, potresti mostrare con una immagine cosa vorresti stampare? Lo so, lo hai detto a parole, ma poi hai ripetuto più volte i concetti...io mi sono perso.
  • Re: Creazione etichetta e qrcode

    Devo stampare su un'etichetta un:
    qrcode (dato da codice articolo, data stampa e numero progressivo), la data di stampa (che non è un problema in quanto la marchio a fuoco sul report) e il numero progressivo (esempio se il cliente ordina l'articolo X, e quest'anno ne ha già ordinati 320 pezzi, il prossimo ordine cliente dovrà stampare numero X etichette, dove X e la quantità dell'ordine cliente e la prima etichetta avrà come progressivo 321 e l'ultima 321+X).
    Non devo preoccuparmi di riprendere la stampa come detto da Willy55 (lo so sarebbe bello ma devo essere pratico) quindi per me i dati seguono la stampa, in altro modo non saprei minimamente da dove cominciare.
    Il problema che credo di incontrare?
    Se accodo sempre N righe sulla tabella, come dire al report stampa dalla 321 in poi? E la volta dopo, se accodo ancora, come posso dire stampa dalla 400 in poi?
    Poi potrei anche sfruttare 2 campi dell'ordine cliente volendo, li faccio compilare da chi lo inserisce (ad esempio l'ordine cliente 1 potrebbe avere 2 campi che leggo dalla query dove sta scritto 01-64, la volta dopo l'ordine 2, negli stessi campi potrebbe avere 65-121 etc etc. Questo solo per facilitare il lavoro a me che devo fare il tutto non essendo per niente esperto in vba).
  • Re: Creazione etichetta e qrcode

    Sbaglio o il "numero progressivo" è un progressivo RELATIVO? Tu lo digiti manualmente o ti servi di una routine che automatizzi il tutto? È in quest'ultimo concetto che trovi difficoltà o nella stampa finale?
    Io continuo ad avere confusione tra tabelle/campi e descrizione campi che (mi pare) in molti casi possono essere frutto di calcolo di query. Mi mancano i riferimenti tabelle/campi/relazioni: senza una descrizione "chiara" non riesco a venirne a capo. Mi raccomando a non confondere tabelle con query.
  • Re: Creazione etichetta e qrcode

    Il numero progressivo è assoluto mi vien da dire, è un incrementale che segue quanti pezzi ha ordinato il cliente di quel codice articolo lì.
    Che lo digiti manualmente o che crei una routine che automatizzi il tutto, anche qui indifferente. Credo però che sarebbe meglio una routine (che chiaramente non so creare)
    Per il resto , pensavo di essermi spiegato anche abbastanza bene questa volta .
    Ci riprovo: questo cliente mi fa degli ordini aperti durante l'anno su diversi codici articolo.
    Nel mio gestionale ho quindi un numero ordine diverso per ogni codice artico, in più, (ma credo non interessi a nessuno) ogni articolo, il mio cliente, me lo ordina in quantità predefinite (sempre quelle).
    Esempio: l'articolo A verrà sempre ordinato a 64 pezzi la volta, l'Articolo B a 12 pezzi, l'articolo C a 5 pezzi la volta e via così.

    Il progressivo relativo devo poterlo impostarlo all'inizio, adesso ad esempio ho qui un'etichetta (che fanno in excel numerando a mano e su questo articolo sono arrivato a 384, il prossimo lancio dovrebbe stampare quindi 64 etichette partendo dalla prima con progressivo a 320 e l'ultima a 384)

    Io non credo di trovare difficoltà nella stampa finale del report, ma nel modo nel quale passo i dati al report.
    Nella mia testa (questo mi interessa capire, se la soluzione, anche se grezza può funzionare) ho una query di accodamento (in realtà ho n query di accodamento, una per ogni codice articolo e quindi N tabelle di destinazione e N report creati uno per ogni codice articolo del cliente) che nella tabella relativa all'articolo A, accoda, eseguendola con entrata numero ordine cliente, tante righe quante sono le quantità dell'articolo cliente ricavate dal suo ordine nel gestionale (esempio articolo A la query accoda 64 righe con progressivo che parte da 385 e arriva una volta eseguita a 448)
    Il report stampa 64 etichette, e questo credo di essere in grado di gestirmelo tramite VBA.
    Il problema per me è far capire al report, che carica i dati della tabella precedentemente creata con la query di accodamento, che adesso deve stampare da 385 a 448 e la prossima volta, dopo aver eseguito la query di accodamento che avrà aggiunto 64 righe da 449 a 512.
    Credo quindi di non poter utilizzare una query di eliminazione per svuotare la tabella, ed avere solo le righe da stampare, altrimenti perdo il contatore, questo non mi è chiaro.

    Flusso: Pulsante in maschera che lancia la query di accodamento, pulsante in maschera che stampi le etichette.
    Ogni pulsante in maschera che lancia la query di accodamento sarà legato ad un codice articolo ed avrò tanti report quanti sono i codici articolo del cliente (ha solo 6 prodotti diversi)

    Scusate la lunghezza ma voglio essere sicuro si sia capita la necessità che ho.
  • Re: Creazione etichetta e qrcode

    Descrizione dettagliata e chiara per me significa:
    - nomi propri di tutte le tabelle
    - nomi propri di tutti i loro campi con indicazione della chiave primaria
    - le relazioni
    - rispiega tutto usando i nomi propri

    superkairo ha scritto:


    Il numero progressivo è assoluto mi vien da dire, è un incrementale che segue quanti pezzi ha ordinato il cliente di quel codice articolo lì.
    Per come conosco io un PROGRESSIVO ASSOLUTO, esso va per conto suo e non segue alcuna logica relativa a ciò che hai detto.

    superkairo ha scritto:


    Che lo digiti manualmente o che crei una routine che automatizzi il tutto, anche qui indifferente. Credo però che sarebbe meglio una routine (che chiaramente non so creare)
    Il PROGRESSIVO ASSOLUTO non ha bisogno di routine. Il PROGRESSIVO RELATIVO sì. Quest'ultimo non è una cosa semplice e, se non si hanno le idee chiare chiare, si combinano pasticci. Io non so impostare questa routine e me ne libero e scanzo, quindi digito manualmente.

    superkairo ha scritto:


    Per il resto, pensavo di essermi spiegato anche abbastanza bene questa volta
    Per il durissimo di comprendonio OsvaldoLaviosa NO.

    superkairo ha scritto:


    questo cliente mi fa degli ordini aperti durante l'anno su diversi codici articolo.
    Questo mi fa pensare tu abbia una classica struttura tabelle come il database NorthWind:
    Clienti uno-a-molti Ordini
    Ordini uno-a-molti DettagliOrdini
    Articoli uno-a-molti DettagliOrdini
    Giusto? Se sì, puoi esplicitare tutti i loro campi?

    superkairo ha scritto:


    Nel mio gestionale ho quindi un numero ordine diverso per ogni codice artico, in più, (ma credo non interessi a nessuno) ogni articolo, il mio cliente, me lo ordina in quantità predefinite (sempre quelle).
    Esempio: l'articolo A verrà sempre ordinato a 64 pezzi la volta, l'Articolo B a 12 pezzi, l'articolo C a 5 pezzi la volta e via così.
    Per me questa è solo una CONSUETUDINE CONSOLIDATA, ma non un obbligo relazionale. Puoi pensare a delle query Ordini/DettagliOrdini per ogni Cliente, per poi accodare automaticamente con un clic di pulsante. Occorre impostare query di accodamento con opportuni filtri e un piccolo codice VBA che esegua la query.

    Per tutto il resto non riesco a seguire, mi appello alla prima richiesta in cima a questo messaggio.
  • Re: Creazione etichetta e qrcode

    Nome della tabella collegata al gestionale:
    Ordini clienti
    Campi Tabella
    Codice articolo, Ordine cliente (mi serve per caricare quello corretto) quantità articolo.

    Tabella creata a mano per creare righe con query accodamento:
    Nome tabella: Articolo A
    Campi tabella: ordine cliente, codice articolo, progressivo, qrcode.

    Quindi da una riga così presente nel gestionale:

    Codice_Articolo| Ordine_cliente| Quantità
    A | Y | 64

    La query che accoda dovrebbe restituirmi:

    Codice_Articolo| Ordine_cliente| Quantità | Progressivo | QRcode

    A | Y | 64 |1 | Progressivo&Codice_articolo_&data()
    A | Y | 64 |2 | Progressivo&Codice_articolo_&data()
    ..... | ....... | ..... | .... | Progressivo&Codice_articolo_&data()
    A | Y | 64 |64 | Progressivo&Codice_articolo_&data()

    Sempre la logica sia corretta. La seconda volta che su ordine cliente diverso ma su stesso codice articolo, accodano, la mia idea è ottenere

    Codice_Articolo| Ordine_cliente| Quantità | Progressivo | QRcode
    A | Z | 64 |65 | Progressivo&Codice_articolo_&data()
    A | Z | 64 |128 | Progressivo&Codice_articolo_&data()
  • Re: Creazione etichetta e qrcode

    Questa struttura tabelle
    Clienti uno-a-molti Ordini
    Ordini uno-a-molti DettagliOrdini
    Articoli uno-a-molti DettagliOrdini

    l'hai mai presa in considerazione?

    Il ragionamento che sta alla base è:
    Un Cliente può fare molti Ordini, quindi Clienti uno-a-molti Ordini.
    Un Ordine contiene molti Articoli, ma anche uno stesso Articolo può comparire in molti Ordini. Tra queste due tabelle intercorre una relazione molti-a-molti. Per questo motivo si crea la tabella di congiunzione DettagliOrdini con i 2 campi chiave esterna IDOrdine e IDArticolo.

    Se non correggi le tabelle con la struttura che ti ho suggerito (ribadisco sta anche nel noto database NorthWind, facilmente reperibile su internet), inciampi su mille buche e non ne vieni fuori.
  • Re: Creazione etichetta e qrcode

    Scusa Osvaldo, ma perchè farmi delle join tra testate e righe d'ordine se:
    Ogni ordine cliente ha solo un codice articolo
    In riga ho le informazioni che mi servono per il mio output finale
    Dalla testata d'ordine non ho campi che mi servono per qrcode.
    L'utilizzatore ha necessità di avere solo il numero ordine cliente per creare e stampare.

    Veramente non riesco a capire......
  • Re: Creazione etichetta e qrcode

    superkairo ha scritto:


    Nel mio gestionale ho quindi un numero ordine diverso per ogni codice articolo, in più, (ma credo non interessi a nessuno) ogni articolo, il mio cliente, me lo ordina in quantità predefinite (sempre quelle).
    Esempio: l'articolo A verrà sempre ordinato a 64 pezzi la volta, l'Articolo B a 12 pezzi, l'articolo C a 5 pezzi la volta e via così.

    superkairo ha scritto:


    Ogni ordine cliente ha solo un codice articolo
    A me queste informazioni appaiono in contraddizione. Mi "suona" strano che un Cliente faccia 1 Ordine = 1 Articolo.

    superkairo ha scritto:


    Nome della tabella collegata al gestionale:
    Ordini clienti
    Campi Tabella
    Codice articolo, Ordine cliente (mi serve per caricare quello corretto) quantità articolo.

    Tabella creata a mano per creare righe con query accodamento:
    Nome tabella: Articolo A
    Campi tabella: ordine cliente, codice articolo, progressivo, qrcode.
    Io continuo a non seguirti. Da questa descrizione io leggo che tu hai 2 tabelle: "Ordini clienti" e "Articolo A".
    Domande:
    1. Una tabella Clienti ce l'hai?
    2. Ti sembra normale chiamare una tabella "Articolo A"?
    3. Se non vuoi descrivere a parole la tua struttura tabelle, allega una immagine della Finestra Relazioni.
  • Re: Creazione etichetta e qrcode

    Scusa, faccio passo indietro.....

    Questo cliente fa un ordine diverso per ogni articolo, TASSATIVAMENTE, è una cosa che ho voluto io anni fa e adesso mi torna parecchio utile. Ordina tre articoli diversi? 3 ordini clienti diversi. Ordina tre articoli uguali con date di consegna diverse? 3 ordini cliente diversi. Ordina tre articoli uguali con stessa data di consegna? Tre ordini diversi.

    Allego tabella Righe ordine (non mi serve niente altro le informazioni stanno tutte qui. Quello che posso permettermi, se semplifica le cose, e sfruttare 2 campi distinti con il numero start ed end del progressivo dell'articolo potrebbe semplificarmi le cose presumo)

    Quindi una tabella, quella che sopra avevo chiamato tabella A (per fare un esempio) è quella che nella mia testa ottengo dalla query di accodamento entrando per numero ordine cliente.

    Sempre nella mia testa quindi, una maschera con tanti pulsanti quanti sono gli articoli del cliente (6) che creano le relative tabelle, e altrettanti che stampino le etichette per ogni codice articolo.
    I tre campi che devo generare nei report sono sempre: progressivo (legato all'articolo) data() stampa e QRCODE che al suo interno ha il codice articolo. Queste informazioni stanno tutte nella tabella righe ordine (come esplicitato sopra potrei farci stare anche il campo start ed end del progressivo)

    Spero che ora sia chiaro.
    Allegati:
    Questo un semplice esempio della query con entrata numero ordine
    Questo un semplice esempio della query con entrata numero ordine

    Tabella righe ordine connessa via ODBC in totale sono 80 campi qui solo i primi
    Tabella righe ordine connessa via ODBC in totale sono 80 campi qui solo i primi
  • Re: Creazione etichetta e qrcode

    superkairo ha scritto:


    Questo cliente fa un ordine diverso per ogni articolo, TASSATIVAMENTE, è una cosa che ho voluto io anni fa e adesso mi torna parecchio utile. Ordina tre articoli diversi? 3 ordini clienti diversi. Ordina tre articoli uguali con date di consegna diverse? 3 ordini cliente diversi. Ordina tre articoli uguali con stessa data di consegna? Tre ordini diversi.
    Questo ragionamento va contro una delle prime regole di normalizzazione. Gli utenti del forum ragionano in "regime" di normalizzazione. Diversamente diventa difficile, anzi impossibile comprendersi.
    Io non posso aiutarti con queste premesse.
  • Re: Creazione etichetta e qrcode

    Ok, ti ringrazio. Nel frattempo sono arrivato qui dove carico attualmente un ordine che ha un determinato codice articolo.

    Quello che non riesco ancora a scrivere, e magari nemmeno è possibile, è la query di accodamento che accodi n record (dove n record è un campo che leggo dalla query stessa)
    Una volta che riesco a fare questo credo di aver risolto il problema
    Allegati:
    27396_c09d340b711d492cfc2d31f2c191ba32.png
    27396_c09d340b711d492cfc2d31f2c191ba32.png
Devi accedere o registrarti per scrivere nel forum
18 risposte