Inserimento ordine mltiplo

di il
9 risposte

Inserimento ordine mltiplo

Buongiorno a tutti
ho un db di raccolta ordini che funziona nel seguene modo:
scelgo il cliente, la destinazione merce ed effettuo l'ordine con un'apposita maschera inserendo le quantità per articoli.
Mi hanno chiesto se è possibile poter modificare il db in modo da poter effettuare un ordne multiplo per 2 o più destinazioni merce contemporaneamente.
Che soluzione potrei adottare considerando che il numero di destinazioni è variabile per ogni cliente?

Grazie e buon weekend

9 Risposte

  • Re: Inserimento ordine mltiplo

    Esponi dettagliatamente:
    - nomi propri di tabelle e maschere
    - nomi propri dei campi di ogni tabella/maschera
    - rispiega quello che ti serve usando i nomi propri
  • Re: Inserimento ordine mltiplo

    Sono necessarie di sicuro relazioni molti a molti. Partendo dalla struttura del tuo db potresti prendere spunto dai seguenti tutorial e rielaborarlo in base alle tue esigenze:
    https://www.youtube.com/watch?v=X3kQm_uXvF
    https://www.youtube.com/watch?v=XhExWjBnrl
    poi adatta la maschera in relazione allo scopo.
  • Re: Inserimento ordine mltiplo

    Le relazioni non condizionano la possibilità di generare ordini multipli, servono sicuramente per consentire che ogni destinatario possa essere oggetto di più ordini ma questo non risolve la fattibilità pratica operativa di poter effettuare in un sol colpo un ordine a più destinatari, o, come chiede l'OP Ordini Multipli.

    L'interfaccia deve offrire la possibilità di selezionare Più destinatari che si può fare con una ListBox a selezione multipla estesa oppure una Sottomaschera con delle checkbox, ma deve appoggiarsi ad una tabella temporanea.
    Detto questo l'ordine deve essere gestito in modo non associato, nel senso non direttamente inputato alla tabella DettaglioOrdini ma usando una tabella temporanea oppure un recordset temporaneo in memoria, ed andrà inserito su evento voluto con una routine che ciclando I destinatari selezionati va ad inserire l'ordine ed i codici di dettaglio dell'ordine per ogni destinatario selezionato.

    La buona tecnica richiederebbe di usare una transazione in cui andare ad inserire il ciclo di ADDNEW su 2 livelli.
    ORDINE--->DETTAGLIOordine

    Serve fare attenzione alle chiavi primarie da riportare nella tabella dettaglio che viene scritta nel ciclo più interno.

    Senza codice questa cosa non si può fare.
  • Re: Inserimento ordine mltiplo

    Grazie per le risposte,
    avevo già immaginato di dove uare tabelle di appoggio, sicuramente una per ogni destinazione selezionata...
    credo che la cosa sia abbastanza complessa in quanto nel db attuale a fine ordine viene salvato un report pdf, un tracciato csv da far acquisire al gestionale principale e un catalogo fotografico...
    fare tutti questi salvataggi per x destinazioni credo sia una bella botta in fase di salvataggio...
    intanto mi studio per bene gli esempi di @eddy1973 e valuto come procedere.
    Grazie ancora
  • Re: Inserimento ordine mltiplo

    nickbi78 ha scritto:


    Grazie per le risposte,
    avevo già immaginato di dove uare tabelle di appoggio, sicuramente una per ogni destinazione selezionata...
    No una sola...!!!!

    nickbi78 ha scritto:


    credo che la cosa sia abbastanza complessa in quanto nel db attuale a fine ordine viene salvato un report pdf, un tracciato csv da far acquisire al gestionale principale e un catalogo fotografico...
    Cosa c'entra il Fine Ordine con la fase di gestione/attribuzione...?
    Ovviamente sono sequenziali, ma proprio per questo, la seconda si fa SOLO dopo aver sistemato la prima, quindi NULLA CAMBIA.

    nickbi78 ha scritto:


    fare tutti questi salvataggi per x destinazioni credo sia una bella botta in fase di salvataggio...
    In che senso..."bella botta" ?
    Si tratta di un salvataggio di dati, non avrai 100000 Destinazioni... se parliamo di un centinaio di destinazioni direi che non dovresti nemmeno accorgertene... se scrivi BENE codice e configuri bene i Campi.

    nickbi78 ha scritto:


    intanto mi studio per bene gli esempi di @eddy1973 e valuto come procedere.
    Grazie ancora
    Quegli esempi non servono al tuo caso, se togli la gestione MULTIPLA ricadi nello standard e l'inserimento in teoria è RealTime quindi non ha senso parlare di Codice e TempTable, che appunto non trattano gli esempi...!
  • Re: Inserimento ordine mltiplo

    Se non ho capito male, praticamente:
    una volta selezionati i valori multipli dall'eventuale casella di riepilogo con le destinazioni, devo creare una tabella temporanea da utilizzare come sottomaschera alla maschera articoli.
    Questa tabella temporanea, avrà tanti record per quanti sono gli articoli (in modo da poter effttuare il join tra tabelle) ed ogni record avrà tanti campi per quante sono le destinazioni selezionate...
    giusto?
  • Re: Inserimento ordine mltiplo

    Mi appello al buon senso di comprensione. Siete tutti sicuri di comprendervi a vicenda? Almeno io, senza questa descrizione

    OsvaldoLaviosa ha scritto:


    Esponi dettagliatamente:
    - nomi propri di tabelle e maschere
    - nomi propri dei campi di ogni tabella/maschera
    - rispiega quello che ti serve usando i nomi propri
    non riesco a seguire.
    nickbi78, potresti rispondere a quella mia richiesta? In alternativa puoi mostrare una immagine della Finestra Relazioni.
  • Re: Inserimento ordine mltiplo

    Al momento il db è mono-ordine,
    All'avvio del db si sceglie il cliente e la destinazione, si procede con un nuovo ordine e si selezionano gli articoli in base alle esigenze.
    Il passo successivo è il riepilogo ordine con importi e quantità totali filtrato sugli articoli selezionati (con campo QTA valorizzato) con possibilità di revisione dell'ordine completo e di seguito il salvataggio dei vari formati che poi vengono inviati per mail.

    tra le varie tabella ci sono le 3 principali in questione:
    1) CLIENTI con l'anagrafica dei clienti (codice ragionesociale, ecc)
    2) DESTINAZIONI con le varie destinazioni per cliente, il campo di join con CLIENTI è CODICECLIENTE
    3) ARTICOLI con tutta l'anagrafica articoli (codice, ean, descrizione,) ed un campo numerico QTA in cui chi opera inserisce appunto la quantità da ordinare.

    Quello che dovrei integrare è far si che sfogliando il catalogo articoli ci sia la possibilità di poter effettuare un ordine per 1 o più destinazioni contemporaneamente dando la possibilità di indicare la quantità per ogni destinazione.
  • Re: Inserimento ordine mltiplo

    nickbi78 ha scritto:


    tra le varie tabella ci sono le 3 principali in questione:
    1) CLIENTI con l'anagrafica dei clienti (codice ragionesociale, ecc)
    2) DESTINAZIONI con le varie destinazioni per cliente, il campo di join con CLIENTI è CODICECLIENTE
    3) ARTICOLI con tutta l'anagrafica articoli (codice, ean, descrizione,) ed un campo numerico QTA in cui chi opera inserisce appunto la quantità da ordinare.
    A) Non hai una tabella DettagliDestinazioni?
    B) Parli di Ordini...il che mi ricorda un noto database NorthWind, invece hai una tabella Destinazioni. Continuo a non afferrare il tuo schema tabelle. Mi piacerebbe conoscere tutti i campi e le relazioni.
    C) Potresti raccontare il tutto con qualche esempio "pratico" con dati inventati?...io davvero non riesco a "cogliere" l'insieme del problema.
Devi accedere o registrarti per scrivere nel forum
9 risposte