Dubbio su correlazione tabelle di un Database

di il
24 risposte

24 Risposte - Pagina 2

  • Re: Dubbio su correlazione tabelle di un Database

    Grazie ragazzi per il grande aiuto.

    Forse non ho illustrato bene come ho progettato il mio Db:

    Il cliente è al centro, ogni cliente può avere più sedi ed ogni sede può avere uno o più apparecchi ognuno dotato della sua matricola.

    Ogni sede cliente può avere n-Interventi l'intervento può interessare uno o più apparecchi installati presso la sede cliente in questione

    Poi c'è una parte relativa ai contratti di manutenzione dove avrò delle scadenze che mi avviseranno che l'apparecchio X montato presso la sede Y del cliente Z abbia raggiunto la scadenza della manutenzione.

    Vedrete che ogni intervento può essere fatturato al cliente stesso (scelta di default nelle maschere) oppure ad un altro cliente a seconda dei casi.

    Per rispondere a OsvaldoLaviosa:

    La tabella di supporto, chiamata così perchè sono le tabelle fisse, contiene tutti gli apparecchi venduti e oggetto di manutenzione, la marca non esiste in quanto sono tutti della stessa, il codice prodotto è un codice alfanumerico che indica il modello e le caratteristiche particolari dell'apparecchio. Quando viene inserito un apparecchio nella sede cliente verrà univocamente individuato tramite  Codice Apparecchio Modello e numero di matricola.

    Quando ricevo una richiesta di intervento da parte di un cliente presso una stessa sede potrebbe essere relativa ad 1 o più apparecchi e quindi:

    • individuo il cliente,
    • apro una maschera di nuovo intervento, dove seleziono la sede, gli apparecchi oggetto dell'intervento, a chi devo fatturare l'intervento, lo stato (Ricevuto, assegnato, eseguito, fatturato, chiuso senza fattura) indico la tipologia di intervento e una breve descrizione, a chetecnico  viene assegnata e se in garanzia, con l'immissione dei dati viene generato anche un numero intervento codificato come AAAA.MM-XXX.
    • Questi dati mi andranno a comporre il primo documento "Scheda intervento" che verrà poi inviato ai tecnici. Io creerò una cartella intervento che fungerà da contenitore per tutta la documentazione relativa.
    • Il tecnico poi produrrà, con altro sistema, un rapportino di lavoro che verrà comunque salvato nella cartella intervento
    • A intervalli regolari vengono fatturati gli interventi e quando pronta, anche la fattura viene salvata nella cartella intervento.

    Sembrerà un percorso assurdo e arzigogolato ma purtroppo il gestionale principale non gestisce l'assistenza tecnica e il sistema di generazione dei rapportini non è interfacciabile con il gestionale.

    Un'architettura Cliente al centro, come quella da me pensata è utile per avere sottocchio tutte le operazioni fatte per singolo cliente, poi mediante queries potrò interrogare il dB su molti altri aspetti (ad. es tutti gli interventi da fatturare, quelli non assegnati, scadenze dei contratti e via dicendo).

    Allego la struttura, non avevo pensato ad estrarre dalla tabella sede comune provincia ma è una modifica che posso implementare senza problemi (ho già una tabella comuni).

    Il dB per adesso vieme usato solo da me, voglio rodarlo prima di renderlo pubblico.

  • Re: Dubbio su correlazione tabelle di un Database

    31/10/2025 - lantanio ha scritto:

    Il cliente è al centro,

    31/10/2025 - lantanio ha scritto:

    Quando ricevo una richiesta di intervento da parte di un cliente presso una stessa sede potrebbe essere relativa ad 1 o più apparecchi e quindi:

    • individuo il cliente,
    • apro una maschera di nuovo intervento

    l'errore sta proprio qui..

    se fai un preventivo, l'oggetto è il preventivo, che poi si riferisce ad uno o all'altro cliente che ha o meno una sede...

    se fai una fattura la gestisci dal form "fatture", quindi l'oggetto è l'emissione di una fattura che, come sopra, si riferisce ad un cliente, ad un intervento o preventivo.

    31/10/2025 - lantanio ha scritto:

    Sembrerà un percorso assurdo e arzigogolato ma purtroppo il gestionale principale non gestisce l'assistenza tecnica e il sistema di generazione dei rapportini non è interfacciabile con il gestionale.

    ma stai lavorando su un gestionale terzo?

    31/10/2025 - lantanio ha scritto:

    • individuo il cliente,
    • apro una maschera di nuovo intervento, dove seleziono la sede, gli apparecchi oggetto dell'intervento, a chi devo fatturare l'intervento, lo stato (Ricevuto, assegnato, eseguito, fatturato, chiuso senza fattura) indico la tipologia di intervento e una breve descrizione, a chetecnico  viene assegnata e se in garanzia, con l'immissione dei dati viene generato anche un numero intervento codificato come AAAA.MM-XXX.
    • Questi dati mi andranno a comporre il primo documento "Scheda intervento" che verrà poi inviato ai tecnici. Io creerò una cartella intervento che fungerà da contenitore per tutta la documentazione relativa.

    in realtà apri il form "Interventi"  pigi il tastino "nuovo" e crei il nuovo record, poi selezioni il cliente che se ha più sedi ti mostra una tabellina di scelta sede e in base alla sede, si mostra la lista degli apparecchi in quella sede. selezioni al doppio click e ti inserisce in base alla matricola, il prodotto marca e modello. a questo punto si apre la maschera "descrizione intervento" dove scrivi il problema lamentato o se si tratta di manutenzione ordinaria.

    come lavori tu, che potrebbe essere solo per comodità, apri il form clienti, scegli il cliente e da li ti ricolleghi al form interventi, ma il form clienti deve nascere e morire solo per i dati del cliente come le sedi, il fido, i dati fiscali. se vuoi sapere quanto deve pagare consulti il form fatture filtrato per cliente e per saldo<>0 (potrebbero esserci note di credito a seconda di come le gestisci).

  • Re: Dubbio su correlazione tabelle di un Database

    31/10/2025 - sihsandrea ha scritto:

    31/10/2025 - lantanio ha scritto:

    Il cliente è al centro,

    31/10/2025 - lantanio ha scritto:

    Quando ricevo una richiesta di intervento da parte di un cliente presso una stessa sede potrebbe essere relativa ad 1 o più apparecchi e quindi:

    • individuo il cliente,
    • apro una maschera di nuovo intervento

    l'errore sta proprio qui..

    se fai un preventivo, l'oggetto è il preventivo, che poi si riferisce ad uno o all'altro cliente che ha o meno una sede...

    OK, questo mio percorso è di "forma mentis" mia.

    se fai una fattura la gestisci dal form "fatture", quindi l'oggetto è l'emissione di una fattura che, come sopra, si riferisce ad un cliente, ad un intervento o preventivo.

    31/10/2025 - lantanio ha scritto:

    Sembrerà un percorso assurdo e arzigogolato ma purtroppo il gestionale principale non gestisce l'assistenza tecnica e il sistema di generazione dei rapportini non è interfacciabile con il gestionale.

    ma stai lavorando su un gestionale terzo? No, esiste un gestionale principale (l'odiato Dynamics di Microsoft) che però per la nostra filiale non gestisce il postvendita, un sistema misto per la generazione dei rapportini di lavoro anche da Mobile e il mio DBase che è nato per sopperire alla gestione mancante del post vendita di DYN

    31/10/2025 - lantanio ha scritto:

    • individuo il cliente,
    • apro una maschera di nuovo intervento, dove seleziono la sede, gli apparecchi oggetto dell'intervento, a chi devo fatturare l'intervento, lo stato (Ricevuto, assegnato, eseguito, fatturato, chiuso senza fattura) indico la tipologia di intervento e una breve descrizione, a chetecnico  viene assegnata e se in garanzia, con l'immissione dei dati viene generato anche un numero intervento codificato come AAAA.MM-XXX.
    • Questi dati mi andranno a comporre il primo documento "Scheda intervento" che verrà poi inviato ai tecnici. Io creerò una cartella intervento che fungerà da contenitore per tutta la documentazione relativa.

    in realtà apri il form "Interventi"  pigi il tastino "nuovo" e crei il nuovo record, poi selezioni il cliente che se ha più sedi ti mostra una tabellina di scelta sede e in base alla sede, si mostra la lista degli apparecchi in quella sede. selezioni al doppio click e ti inserisce in base alla matricola, il prodotto marca e modello. a questo punto si apre la maschera "descrizione intervento" dove scrivi il problema lamentato o se si tratta di manutenzione ordinaria.

    come lavori tu, che potrebbe essere solo per comodità, apri il form clienti, scegli il cliente e da li ti ricolleghi al form interventi, ma il form clienti deve nascere e morire solo per i dati del cliente come le sedi, il fido, i dati fiscali. se vuoi sapere quanto deve pagare consulti il form fatture filtrato per cliente e per saldo<>0 (potrebbero esserci note di credito a seconda di come le gestisci).

    Ho capito, in effetti la versione 1 di questo dB prevedeva proprio questo flusso di lavoro abbandonato poi per quello attuale per una questione di sola comodità (e per via di un corso online su Access che mi aveva indirizzato verso questo approccio.

    I

  • Re: Dubbio su correlazione tabelle di un Database

    31/10/2025 - lantanio ha scritto:

    un corso online su Access che mi aveva indirizzato verso questo approccio.

    pazzesco!

    allora se devi caricare una bolla fornitori apri la tabella fornitori?

    comuni, clienti, fornitori, metodi di pagamento ecc... potrebbero essere facoltative.

    se faccio una fattura, è una comodità caricare il cliente per non scriverlo ogni volta, così come i termini di pagamento e/o la banca di appoggio.

    l'oggetto è sempre l'emissione della fattura. posso avere articoli e quindi li seleziono dalla tabella articoli, ma potrebbe essere a testo libero (un professionista) che scrive "perizia immobile sito presso ... catasto... particella... " in questo caso non vai a caricare tutto il catasto ma usi un testo libero.

    giusto per farti capire che non sempre è necessario inserire dati in tabelle di supporto. chiamo la ditta x per un appuntamento, non devo dare i miei dati personali all'infuori del cognome e di un recapito telefonico (probabilmente non mi presento e li abbandono) non ha senso caricare la mia anagrafica (anche perchè comporterebbe l'invio dell'informativa privacy).

  • Re: Dubbio su correlazione tabelle di un Database

    31/10/2025 - lantanio ha scritto:

    La tabella di supporto, chiamata così perchè sono le tabelle fisse, contiene tutti gli apparecchi venduti e oggetto di manutenzione, la marca non esiste in quanto sono tutti della stessa, il codice prodotto è un codice alfanumerico che indica il modello e le caratteristiche particolari dell'apparecchio. Quando viene inserito un apparecchio nella sede cliente verrà univocamente individuato tramite  Codice Apparecchio Modello e numero di matricola.

    D'accordo.

    31/10/2025 - lantanio ha scritto:

    Ogni sede cliente può avere n-Interventi l'intervento può interessare uno o più apparecchi installati presso la sede cliente in questione

    La tabella Interventi deve avere una relazione con ApparecchiSedi, cioè ApparecchiSedi uno-a-molti Interventi. Nel tuo schema questa relazione non c'è.

    Nella tabella Interventi vedo campi quali IDCliente 2 volte e IDSede. Non servono per il motivo che ho descritto nel rigo precedente.

    Dalla Finestra Relazioni che hai mostrato noto che dimentichi di dare forza alla relazione uno-a-molti: voglio dire che devi mettere la spunta almeno su Applica integrità referenziale, facoltativa anche sulle altre 2 spunte successive.

    Rileggi attentamente il suggerimento del mio post precedente. Non ti far ingannare dal fatto (umanamente parlando) che vorresti partire da Cliente-Sede. Tu operatore punti agli ApparecchiSedi. Dovresti al limite implementare maschere legate a query con procedure di caselle combinate a cascata che ti permettono di individuare rapidamente "quegli apparecchi che stanno nella sede A di Caio". Cioè parti dal Cliente=Caio, questi mostrerà 5 Sedi, quindi tu scegli la sede A. La sede A (di Caio) mostrerà automaticamente gli Apparecchi che ti interessa per l'intervento. Ma questo è tutto un altro discorso. 
    Dal punto di vista della struttura tabelle, devi seguire il mio schema. Dal punto di vista del input dati, devi partire da Rapportini--->Interventi.

  • Re: Dubbio su correlazione tabelle di un Database

    Vi ringrazio tantissimo, in pochi suggerimenti ho avuto modo di imparare un sacco di cose per rendere più efficiente il mio dB.

    Siccome è una cosa che sto portando avanti nel tempo libero, mi ci vorrà un po' per sistemare e rendere fruibile il tutto.

    Fino a 3 mesi fa non sapevo neanche cosa fosse un dB, ora inizio a capire molte più cose.

  • Re: Dubbio su correlazione tabelle di un Database

    01/11/2025 - OsvaldoLaviosa ha scritto:

    31/10/2025 - lantanio ha scritto:

    La tabella di supporto, chiamata così perchè sono le tabelle fisse, contiene tutti gli apparecchi venduti e oggetto di manutenzione, la marca non esiste in quanto sono tutti della stessa, il codice prodotto è un codice alfanumerico che indica il modello e le caratteristiche particolari dell'apparecchio. Quando viene inserito un apparecchio nella sede cliente verrà univocamente individuato tramite  Codice Apparecchio Modello e numero di matricola.

    D'accordo.

    31/10/2025 - lantanio ha scritto:

    Ogni sede cliente può avere n-Interventi l'intervento può interessare uno o più apparecchi installati presso la sede cliente in questione

    La tabella Interventi deve avere una relazione con ApparecchiSedi, cioè ApparecchiSedi uno-a-molti Interventi. Nel tuo schema questa relazione non c'è.

    Ora sto rivedendo tutto e creerò questa relazione

    Nella tabella Interventi vedo campi quali IDCliente 2 volte e IDSede. Non servono per il motivo che ho descritto nel rigo precedente.

    IDcliente è presente due volte perchè il singolo intervento può essere fatturato al cliente dove viene fatto l'intervento oppure ad altro cliente (ad. esempio l'installatore o il grossista)

    Dalla Finestra Relazioni che hai mostrato noto che dimentichi di dare forza alla relazione uno-a-molti: voglio dire che devi mettere la spunta almeno su Applica integrità referenziale, facoltativa anche sulle altre 2 spunte successive.

    In questo caso riemerge l'ignoranza sui dB... Le tabelle, per paura di creare un file troppo grande, sono collegate al dB principale, in questo modo non sono riuscito a selezionare la casella "applica integrità referenziale".

    Sempre nel corso che ho seguito suggerivano di lasciare le tabelle in dB esterni collegati poi al principale per non creare un dB troppo grosso. Non vorrei che, dato che sia dB sia tabelle sono su cartelle in OneDrive non riescano a "vedersi" per applicare l'integrità referenziale.

    Rileggi attentamente il suggerimento del mio post precedente. Non ti far ingannare dal fatto (umanamente parlando) che vorresti partire da Cliente-Sede. Tu operatore punti agli ApparecchiSedi. Dovresti al limite implementare maschere legate a query con procedure di caselle combinate a cascata che ti permettono di individuare rapidamente "quegli apparecchi che stanno nella sede A di Caio". Cioè parti dal Cliente=Caio, questi mostrerà 5 Sedi, quindi tu scegli la sede A. La sede A (di Caio) mostrerà automaticamente gli Apparecchi che ti interessa per l'intervento. Ma questo è tutto un altro discorso. 
    Dal punto di vista della struttura tabelle, devi seguire il mio schema. Dal punto di vista del input dati, devi partire da Rapportini--->Interventi.

    Io mi ero costruito una maschera principale CLIENTE con un controllo struttura a schede e le varie sottomaschere "SEDI" , "INTERVENTI" "CONTRATTI DI MANUTENZIONE" 

    Questa mi rendo conto è solo un modo per visualizzare i dati correlati a quel cliente.

    Poi volevo creare una serie di maschere di inserimento di un nuovo cliente, una nuova sede, un nuovo intervento etc etc..

  • Re: Dubbio su correlazione tabelle di un Database

    Più che di capire cosa stai progettando si tratta di "carpire".

    Le informazioni arrivano a singhiozzo.

    03/11/2025 - lantanio ha scritto:

    IDcliente è presente due volte perchè il singolo intervento può essere fatturato al cliente dove viene fatto l'intervento oppure ad altro cliente (ad. esempio l'installatore o il grossista)

    Usa la fantasia e chiamala "installatori" o , se proprio ti piace la denominazione "clienti" usa i flag "grossista" e "installatore". 

    Penso che da grossista mi seccherebbe dire alla Samsung a chi rivendo i suoi prodotti e a chi mi appoggio per i ricambi e/o interventi.

    Sicuramente emergono dei dati fondamentali:

    1) abbiamo risposto abbondantemente su come si impostano delle relazioni

    2) il problema andrebbe posto come progettazione database previa analisi del modus operandi che devi gestire

    3) varie ed eventuali ne riparliamo dopo il punto 2... Con nuovi 3d.

  • Re: Dubbio su correlazione tabelle di un Database

    03/11/2025 - sihsandrea ha scritto:

    Più che di capire cosa stai progettando si tratta di "carpire".

    Le informazioni arrivano a singhiozzo.

    Chiedo scusa,

    03/11/2025 - lantanio ha scritto:

    IDcliente è presente due volte perchè il singolo intervento può essere fatturato al cliente dove viene fatto l'intervento oppure ad altro cliente (ad. esempio l'installatore o il grossista)

    Usa la fantasia e chiamala "installatori" o , se proprio ti piace la denominazione "clienti" usa i flag "grossista" e "installatore". 

    Penso che da grossista mi seccherebbe dire alla Samsung a chi rivendo i suoi prodotti e a chi mi appoggio per i ricambi e/o interventi

    Io per il 90% ho grossisti o installatori che non hanno tempo di fare manutenzione o avviamenti o assistenza ai prodotti della mia azienda e anzi, sono ben felici di sbolognare queste incombenze a noi casa madre. Ergo mi trovo spesso a dover gestire un intervento da un cliente e dover fatturare questo stesso intervento ad un soggetto terzo.

    Sicuramente emergono dei dati fondamentali:

    1) abbiamo risposto abbondantemente su come si impostano delle relazioni

    2) il problema andrebbe posto come progettazione database previa analisi del modus operandi che devi gestire

    3) varie ed eventuali ne riparliamo dopo il punto 2... Con nuovi 3d.

    Ho capito e vi ringrazio, mi scuso nuovamente per il disturbo.

  • Re: Dubbio su correlazione tabelle di un Database

    Nessun disturbo e non servono le scuse.

    Fai un progetto relazionato della struttura del db e ti viene data una mano.

    Finito il progetto e creato il db, inizi con i vari form clienti, articoli, ecc...

    Suppongo che il rivenditore ti comunichi la sede in cui si trova la matricola, in questo caso è il tuo rivenditore che ha più sedi (tu fatturi al rivenditore non all'utilizzatore, quindi sede è il sito in cui si trova il prodotto). 

    In questa ipotesi, tu sei la marca pincopallo che fornisce ai vari gdo e negozi ma che per l'assistenza vai diretto. Come quando compri il telefono e lo porti all'assistenza a prescindere dal negozio che te lo ha venduto giusto fin qui?

    Quindi traccia la vendita e dietro scontrino il cliente va all'assistenza (tua o convenzionata) per la riparazione o manutenzione. Tu fatturi i ricambi e l'intermediario il lavoro. Tu fai sempre la fattura all'intermediario e l'intermediario gira il ricambio come spesa al suo cliente... Giusto?

    Serve una analisi a monte, i consigli rischiano di essere vani a seconda dei casi che prevedi.

    Non mollare!

Devi accedere o registrarti per scrivere nel forum
24 risposte