Selezione record da sottomaschera

di il
27 risposte

27 Risposte - Pagina 2

  • Re: Selezione record da sottomaschera

    Quindi la soluzione che mi prospetti è quella di relazionare PREVENTIVI e VERBALI in relazione uno-a-uno. Solo che mi domando cosa succede quando devo inserire un verbale di richiesta al magazzino svincolato da un preventivo (esempio: richiesta materiale al magazzino per il punto vendita)

    Quindi il fulcro del sistema è quello dei verbali?

    Nel senso che redigi verbali e a quello potrebbe fat fronte un preventivo?

    Ti sei espresso male allora… 

    Ora, da alcuni di questi preventivi presenti in archivio può verificarsi la necessità di emettere un buono d'ordine verso il magazzino, per cui ho sviluppato un' apposita funzione  in cui su un evento click si crea un verbale che inserisce alcuni dati in una tabella “VERBALE”….

    Se la prassi è quella di comande al magazzino dove alcune possono appartenere ad un preventivo, inverti l'ordine…

    Movimenti la tabella verbali e se c'è un preventivo inserisci su verbali il campo preventivo..

    Un suggerimento: hai le idee molto confuse, la linea da seguire è sempre la stessa, devi solo capire e farci capire cosa fai di solito e quali sono i casi che si possono verificare. 

    Esempio: squilla il telefono, è il magazzino che vuole n articoli….

    Oppure al telefono ho un cliente che vuole un preventivo ma potrebbe non essere confermato.

    Oppure n preventivi e confermare solo alcuni articoli di uno e alcuni di un altro…

    Cambia tutto! Esprimi chiaramente cosa vorresti realizzare.

  • Re: Selezione record da sottomaschera

    Quindi il fulcro del sistema è quello dei verbali?

    No, è esattamente il contrario. Quando emettiamo un preventivo, lo facciamo già sapendo la disponibilità del materiale in magazzino, quindi il buono d'ordine verso il magazzino è unicamente una COMPLICAZIONE BUROCRATICA, di fatto fine a se stessa ma necessaria per fare uscire il materiale dal magazzino. Onestamente non mi sento di affrontare una battaglia contro i mulini a vento per modificare questa prassi secolare, per cui eccomi con la mia esigenza…..

    Il magazzino viene interpellato da noi punto vendita in due casi:
    a) In base ad un certo tipo di preventivi (non tutti, non ti sto a specificare quale è il discriminante, l'essenziale è sapere che non a tutti i preventivi corrisponde un ordine verso magazzino
    b)  per riassortimento scorte (quindi un buono diretto di prelevamento materiale).

    Il programma che usiamo attualmente, obsoleto e che dovrebbe essere sostituito dal mio, prevede una funzione di compilazione verbale di richiesta svincolata dai preventivi. A me parrebbe una cosa sensata prevedere la creazione di un buono d'ordine in base al preventivo, visto che fondamentalmente i dati che si inseriscono sono quasi gli stessi (quelli degli articoli sono identici, almeno per quanto riguarda articolo, tipologia e quantità). Inoltre, considerata la conuetudine d'uso dei colleghi che lavorano sia in punto vendita che in magazzino, preferirei non separare la gestione “buono d'ordine da preventivo” da quella “buono d'ordine per riassortimento”.

    L'obiettivo è quindi quello di:
    a) produrre il buono d'ordine (che chiamo VERBALE) in base al preventivo visualizzato a schermo
    oppure
    b) inserire un buono d'ordine svincolato da un preventivo (e questo è il caso del riassortimento, funzione che reputo più semplice e che svilupperò una volta superato l'intoppo che sto cercando di risolvere).

    Tutto quanto sopra premesso, ti fa capire che a “comandare” non è il verbale (o buono d'ordine che sia), ma il preventivo.

  • Re: Selezione record da sottomaschera

    Mi arrendo!

  • Re: Selezione record da sottomaschera

    Quella che tu consideri inutile burocrazia, è il metodo che viene usato in tutte le aziende ed è l'unico metodo per far funzionare tutto al meglio, avere traccia dei movimenti del materiale, degli ordini clienti e dei riassortimenti.

    Non puoi usare uno stesso metodo ed accorpare tutte le tre operazioni per “fare prima”, perchè nel giro di una settimana si creerebbe un ginepraio che non si riuscirebbe a dipanare.

    Di conseguenza, devi avere tre metodi diversi per gestire le cose:

    1- un metodo per trasformare un preventivo in un ordine
    2- un metodo per fare un ordine diverso
    3- un metodo per fare il riassortimento.

    Sono tre opzioni che in tutti i casi, di creazione, esecuzione, e di contabilizzazione, devono essere tenuti separati e che sono materia di studio e di esame in qualsiasi facoltà universitaria di economia, matematica statistica e gestione aziendale.

    Inoltre l'approccio che ti stai ostinando a cercare di tenere anche per la creazione del database, e mi riferisco sia alla logica di approccio che di esecuzione del codice (non si crea un preventivo, un ordine o un riassoritimento, prendendo i dati dai controlli della maschera, usando un codice ibrido Vba, macro. Al massimo lo si stampa) è completamente sbagliato. Senza considerare che devo capire perchè usi il Vba per fare una cosa che access fa in automatico ed è il punto di forza di access, complicandoti in modo esponenziale la vita, sia per la progettazione, che soprattutto poi nell'utilizzo del programma, visto che quello che hai scritto, dato in mano ad un'altro utente ti creerà una marea di blocchi in esecuzione e di bug.

    Esiste il modello north wind che fa esattamente quello che tu stai cercando di realizzare.
    Prendilo da esempio. Non tanto per il codice, ma per la logica di approccio.

    Dico questo, in modo brusco, perchè stai cercando di imporre il tuo punto di vista a dei professionisti che sono minimo 40 anni che sviluppano programmi di questo genere, e che sanno già che l'approccio ed il codice che stai seguendo non ti porterà da nessuna parte, senza ascoltare i loro consigli.
    Quindi mi chiedo se è un aiuto a mente aperta, oppure cerchi qualcuno che ti risolva il problema, seguendo la logica completamente sbagliata sull'approccio al problema, perchè sei convinto che il tuo metodo è giusto e tutti gli altri sbagliano. Problema che ti poi ti stai creando da solo.

    Quello che stai cercando di realizzare, a livello base e  logico, si risolve con 3 tabelle, 2 query di selezione semplice con un paio di join e semplici relazioni uno a molti, senza scomodare il vba. Sempre se entri nell'ottica dei consigli che ti sono già stati dati. Se invece vuoi continuare sulla tua strada, non ci resta che arrenderci.

  • Re: Selezione record da sottomaschera

    Ok, prendo atto delle tue osservazioni.

    Il mio voler insistere su quanto fatto è semplicemente non  voler buttare a mare tre mesi di lavoro e un sacco di problemi bene o male risolti.

    Di certo non mi sogno minimamente di voler imporre il mio punto di vista a professionisti del settore, io che sono semplicemente uno smanettone volenteroso. Il mio è solo un tentativo di non dover ricominciare da zero o quasi dopo tanto tempo passato a creare questa struttura e azzerare un lavoro che tutto sommato funziona abbastanza fluidamente, per quello che serve a me.

    Detto ciò, mi pare evidente che per portare a termine quello che mi sono prefissato dovrò rimettermi seriamente a studiare e a rivedere l'approccio che ho utilizzato per risolvere il problema. Grazie comunque per i consigli.

  • Re: Selezione record da sottomaschera

    16/06/2023 - ivbrusa71 ha scritto:


    Ok, prendo atto delle tue osservazioni.

    Il mio voler insistere su quanto fatto è semplicemente non  voler buttare a mare tre mesi di lavoro e un sacco di problemi bene o male risolti.

    Di certo non mi sogno minimamente di voler imporre il mio punto di vista a professionisti del settore, io che sono semplicemente uno smanettone volenteroso. Il mio è solo un tentativo di non dover ricominciare da zero o quasi dopo tanto tempo passato a creare questa struttura e azzerare un lavoro che tutto sommato funziona abbastanza fluidamente, per quello che serve a me.

    Detto ciò, mi pare evidente che per portare a termine quello che mi sono prefissato dovrò rimettermi seriamente a studiare e a rivedere l'approccio che ho utilizzato per risolvere il problema. Grazie comunque per i consigli.

    ti dico questo non per criticare o offendere, ma perchè è quello che quotidianamente accade anche ai professionisti.

    E' storia ad esempio di grandi titoli di videogiochi, nati con grossi errori di approccio e programmazione, corretti poi con patch complicate, per non buttare 4 o 5 anni di sviluppo, ma che poi le toppe si sono rivelate peggio degli errori e che ne decretarono miseramente il fallimento, oppure la correzione portò via più tempo che l'intera riscrizione del codice.

    Purtroppo è una cosa che accade continuamente. Soprattutto se si parte con una idea ben precisa e poi si vuole implementare qualche funzione che all'apparenza è semplice, ma che va a sconvolgere l'intero progetto, sia a livello logico di struttura che di programmazione.

  • Re: Selezione record da sottomaschera

    Beh, già usare access…  pensare che basta impostare quatto componenti come se fosse una locandina fatta col Photoshop… 

    Così come access fa pensare di essere un programmatore solo perché riesci a creare una tabella, è come pensare di essere un grafico solo perche si usano strumenti automatici di Photoshop…

    In entrambi i casi c'è uno studio dietro.

    Qui non si riesce neanche a dare il nome giusto alle tabelle e ai documenti aziendali.

  • Re: Selezione record da sottomaschera

    Nessuno ha mai sostenuto di essere un programmatore, anzi se vai a rileggere i post precedenti ho sempre affermato il contrario.

    Mi sono accostato a questo forum già da diversi anni, con UMILTA' e VOGLIA DI IMPARARE e credimi, prima di pubblicare questo post di oggi ho provato, riprovato, riprovato ancora e poi riflettuto a lungo se valeva la pena riprovare ancora o chiedere aiuto per provare a trovare una soluzione alternativa. 

    Detto ciò, mi è stato detto di cambiare il mio approccio, e lo farò; di studiare e studiare, e farò anche questo, ma le critiche su come chiamo le tabelle (e ti ripeto che non ho fatto corsi di programmazione e che tutto quello che so l'ho imparato da solo, per cui scusami se sono a corto di convenzioni in uso nel mondo della programmazione) o di non conoscere i documenti aziendali, il che può essere vero, visto che negli ultimi 32 anni ho fatto tutt'altro lavoro e a 52 anni, non per mia scelta, mi devo reinventare contabile senza alcun corso formativo, ma ti assicuro che ho ben chiaro quali sono le esigenze del mio luogo di lavoro e di quali documenti ho necessità di tirare fuori da questo progetto, a prescindere da come li abbia chiamati.

    Tutto questo pistolotto semplicemente per dire, senza polemica, che per me il post è chiuso, ringrazio per l'aiuto ricevuto e, umilmente saluto. 

  • Re: Selezione record da sottomaschera

    Ecco svelato l'arcano…

    Non hai carenza di termini informatici. Anche un informatico conosce la differenza tra bolla e distinta di spedizione. Non puoi neanche improvvisarti contabile. Non rischi il blocco del pc, ma sanzioni amministrative. Te lo dice un ragioniere…. e programmatore.

  • Re: Selezione record da sottomaschera

    16/06/2023 - ivbrusa71 ha scritto:


    Mi sono accostato a questo forum già da diversi anni, con UMILTA' e VOGLIA DI IMPARARE e credimi, prima di pubblicare questo post di oggi ho provato, riprovato, riprovato ancora e poi riflettuto a lungo se valeva la pena riprovare ancora o chiedere aiuto per provare a trovare una soluzione alternativa. 

    Beh che dire… tutti i post che si sono succeduti non sono altro che dei consigli. Sicuramente sono critiche a fin di bene. Ma questo già lo sai.

    Nel caso specifico a mio avviso devi assolutamente cambiare approccio che ti consentirà di arrivare allo stesso risultato ma con molta meno fatica e problemi. 

    Ti ho fatto diverse domande per capire meglio il progetto e ancora mi sfugge qualcosa….

    Tra le tabelle preventivo e verbali hai questa struttura:

    Tabella PREVENTIVO
    ID_PREVENTIVO (chiave primaria)
    PREVENTIVO_NRPROG (numerico intero)
    DATA (data)
    RIFERIMENTI (testo breve)
    IMPORTO (numerico precisione doppia, valuta euro)
    
    Tabella PREVENTIVO_LINEE
    ID_LINEE (chiave primaria)
    ID_PREVENTIVO (numerico, collegamento uno-a-molti su PREVENTIVO.ID_PREVENTIVO)
    LINEA_NUMERO (numerico intero)
    ARTICOLO (numerico, collegato ad una tabella articoli)
    QUANTITA (numerico)
    CAT_MERC
    IMPONIBILE (numerico precisione doppia, valuta euro)
    IVA (numerico)
    TOTALE (numerico precisione doppia, valuta euro)
    
    tabella VERBALE
    ID_VERB (chiave primaria)
    VERB_NRPROG (numerico)
    DATA (data)
    …seguono altre righe di dettaglio non collegate ad altre tabelle
    
    tabella VERBALE_LINEE
    ID_LINEE (chiave primaria)
    ID_PREVENTIVO (numerico, collegamento uno-a-molti su PREVENTIVO.ID_PREVENTIVO)
    LINEA_NUMERO (numerico intero)
    ARTICOLO (numerico, collegato ad una tabella articoli)
    QUANTITA (numerico)
    CAT_MERC

    Diciamo che per le tabelle Preventivo posso capire la relazione

    Ma per le tabelle Verbali non capisco come l'hai strutturate 
    Queste due tabelle devono essere relazionate tra di loro? 
    Come l'hai pensate? 


    Un altra cosa… le altre tabelle non ne comprendo la necessità… perchè l'hai create? con quale fine? qual'è la tua idea per queste tabelle?

    tabella PREVENTIVO_CLIENTE
    ID_PV (chiave primaria)
    ID_PREV (numerico, collegamento uno-a-molti su PREVENTIVO.ID_PREVENTIVO)
    ID_CLIENTE (numerico, collegamento uno-a-molti su tabella CLIENTI.ID_CLIENTI) 
    
    tabella PREVENTIVO_RIEPILOGO
    ID_RIEPILOGO(chiave primaria)
    ID_PREVENTIVO (numerico, collegamento uno-a-molti su PREVENTIVO.ID_PREVENTIVO)
    …seguono diverse righe relative ad imponibile, iva e totale non collegate ad altre tabelle
    
    tabella PREVENTIVO_VERBALE
    ID_PV (chiave primaria)
    ID_PREV (numerico, collegamento uno-a-molti su PREVENTIVO.ID_PREVENTIVO)
    ID_VERB (numerico, collegamento uno-a-molti su VERBALE.ID_VERBALE) 

    Un altra cosa…. Per poter utilizzare le tabelle Verbale con records provenienti da preventivi o senza la provenienza da preventivi, non le devi relazionare tra di loro. 


    Ti lascio alcuni link dove puoi trovare spunti e riflessioni di base per access:

    Nozioni fondamentali sulla progettazione di database - Supporto tecnico Microsoft
    Creare un database in Access - Supporto tecnico Microsoft
    Modelli di Access in primo piano - Supporto tecnico Microsoft

  • Re: Selezione record da sottomaschera

    16/06/2023 - ivbrusa71 ha scritto:


    per cui scusami se sono a corto di convenzioni in uso nel mondo della programmazione) o di non conoscere i documenti aziendali,

    Però se ti approcci a  qualcosa di nuovo, devi per forza imparare come minimo le terminologie e la “lingua” della professione che stai per fare, altrimenti nessuno ti capirà mai  e tu non riuscirai a capire quello che ti viene detto.
    E comunque, ci si improvvisa nei lavoretti e nella gestione di casa propria, non in un azienda, soprattutto per i settori che interessano l'agenzia delle entrate e la guardia di finanza.

    Detto ciò, sia nella struttura che nel codice scritto, mancano elementi fondamentali.

    Non c'è riferimento ai clienti, elemento che ti permette di separare i vari preventivi, in base ad un criterio univoco e logico, e che ti permetterebbe, in modo un po' forzato, di poter considerare i riordini e riassortimenti interni, come se fossero ordini, quindi senza bisogno di creare un nuovo metodo per dividere gli ordini dei clienti da quelli interni. (consideri il magazzino come un cliente e contemporaneamente come un fornitore)

    Non c'è riferimento ad una tabella magazzino.

    Non c'è riferimento ad una tabella articoli, che ti permette di gestire in modo automatico le giacenze, i riassortimenti le entrate e le uscite.

    Non c'è riferimento alla movimentazione di entrata ed uscita e di riapprovvigionamento.

    Tralasciamo poi tutta la parte dei fornitori e della parte contabile, con l'emissione di DDT, fatture e tutto il resto.

    Per la parte contabile, poi ho delle grosse perplessità, visto l'introduzione della fatturazione elettronica che non si può appoggiare a programmini fatti in autonomia, ma che ha ferree regole ed autorizzazioni. Quindi quella proprio ti consiglio di non toccarla per niente.

    Tutti elementi che devono essere inclusi nelle tabelle che hai creato, altrimenti crei solo cattedrali nel deserto, dove l'operatore deve inserire i dati, in base ad altre fonti o in base alla sua memoria.

    Se devi creare una cosa funzionante e funzionale, devi automatizzare il più possibile.
    Sia per far funzionare il database, sia per agevolare il lavoro.
    Perchè altrimenti è più funzionale ed utile usare il cartaceo.

  • Re: Selezione record da sottomaschera

    16/06/2023 - ivbrusa71 ha scritto:


    Tabella PREVENTIVO
    ID_PREVENTIVO (chiave primaria)
    PREVENTIVO_NRPROG (numerico intero)
    DATA (data)
    RIFERIMENTI (testo breve)
    IMPORTO (numerico precisione doppia, valuta euro)

    tabella PREVENTIVO_CLIENTE
    ID_PV (chiave primaria)
    ID_PREV (numerico, collegamento uno-a-molti su PREVENTIVO.ID_PREVENTIVO)
    ID_CLIENTE (numerico, collegamento uno-a-molti su tabella CLIENTI.ID_CLIENTI) 

    Tabella PREVENTIVO_LINEE
    ID_LINEE (chiave primaria)
    ID_PREVENTIVO (numerico, collegamento uno-a-molti su PREVENTIVO.ID_PREVENTIVO)
    LINEA_NUMERO (numerico intero)
    ARTICOLO (numerico, collegato ad una tabella articoli)
    QUANTITA (numerico)
    CAT_MERC
    IMPONIBILE (numerico precisione doppia, valuta euro)
    IVA (numerico)
    TOTALE (numerico precisione doppia, valuta euro)

    tabella PREVENTIVO_RIEPILOGO
    ID_RIEPILOGO(chiave primaria)
    ID_PREVENTIVO (numerico, collegamento uno-a-molti su PREVENTIVO.ID_PREVENTIVO)
    …seguono diverse righe relative ad imponibile, iva e totale non collegate ad altre tabelle

    tabella PREVENTIVO_VERBALE
    ID_PV (chiave primaria)
    ID_PREV (numerico, collegamento uno-a-molti su PREVENTIVO.ID_PREVENTIVO)
    ID_VERB (numerico, collegamento uno-a-molti su VERBALE.ID_VERBALE) 

    tabella VERBALE
    ID_VERB (chiave primaria)
    VERB_NRPROG (numerico)
    DATA (data)
    …seguono altre righe di dettaglio non collegate ad altre tabelle

    tabella VERBALE_LINEE
    ID_LINEE (chiave primaria)
    ID_PREVENTIVO (numerico, collegamento uno-a-molti su PREVENTIVO.ID_PREVENTIVO)
    LINEA_NUMERO (numerico intero)
    ARTICOLO (numerico, collegato ad una tabella articoli)
    QUANTITA (numerico)
    CAT_MERC

    -----------------------------

    Riflettendoci, le relazioni molti-a-molti potrebbero essere superflue….mi prendo un po' di tempo per studiarci

    Per me ci sono molte inutili ridondanze…
    Una cosa che mi salta subito all'occhio è che manca la tabella CLIENTI. Poi basta la sola relazione CLIENTI uno-a-molti PREVENTIVI.

  • Re: Selezione record da sottomaschera

    17/06/2023 - OsvaldoLaviosa ha scritto:


    Per me ci sono molte inutili ridondanze…
    Una cosa che mi salta subito all'occhio è che manca la tabella CLIENTI. Poi basta la sola relazione CLIENTI uno-a-molti PREVENTIVI.

    Vabbè…. così sei stato fin troppo generoso ;))

    Possiamo dire che è tutto da rifare e da ripensare ?  forse è meglio! 
    So' esagerato secondo te ? ;)

Devi accedere o registrarti per scrivere nel forum
27 risposte