Report e relazioni tabelle

di il
28 risposte

28 Risposte - Pagina 2

  • Re: Report e relazioni tabelle

    Ok, ora ho capito, e comincio a ricordare qualcosina su argomento gestione. Hai perfettamente ragione Alex.

    Però c'è anche da dire che in questo caso si usa mettere l'articolo/causale direttamente nella riga del documento. Occhio però che, invece, un documento sarà composto da una tabella testata e una tabella righe. Quindi, in questo caso si creerebbe una struttura come la tua. Quindi abbiamo

    testataPreventivo (i dati in comune: numero, data, intestatario, ...)
    righePreventivo (le righe che compongono il preventivo)
    tabella catalogo

    Quindi alla fine veniamo allo stesso risultato, anche se spiegato diversamente Dirò di più. Io farei una cosa generica per tutti i documenti, mai sia che tra due giorni debba fare anche le fatture. Ovviamente servirà il campo che inidichi la tipologia del documento. Ma iniziamo ad andare oltre, anche se fa parte di una buona analisi pre-sviluppo prevedere aggiunte future, e quindi sviluppare in prospettiva di tali probabili aggiunte
  • Re: Report e relazioni tabelle

    fonzarelli ha scritto:


    Ok, ora ho capito, e comincio a ricordare qualcosina su argomento gestione. Hai perfettamente ragione Alex.

    Però c'è anche da dire che in questo caso si usa mettere l'articolo/causale direttamente nella riga del documento. Occhio però che, invece, un documento sarà composto da una tabella testata e una tabella righe. Quindi, in questo caso si creerebbe una struttura come la tua. Quindi abbiamo

    testataPreventivo (i dati in comune: numero, data, intestatario, ...)
    righePreventivo (le righe che compongono il preventivo)
    tabella catalogo
    Estatto proprio questo il concetto delle 3 tabelle.

    fonzarelli ha scritto:


    Quindi alla fine veniamo allo stesso risultato, anche se spiegato diversamente Dirò di più. Io farei una cosa generica per tutti i documenti, mai sia che tra due giorni debba fare anche le fatture. Ovviamente servirà il campo che inidichi la tipologia del documento. Ma iniziamo ad andare oltre, anche se fa parte di una buona analisi pre-sviluppo prevedere aggiunte future, e quindi sviluppare in prospettiva di tali probabili aggiunte
    Si chiaramente ora stai raffinando le esigenze , non ho volutamente preso la strada del dettaglio in quanto era evidente l'errore concettuale che volevo cercare di colmare tecnicamente.
  • Re: Report e relazioni tabelle

    Nono hai pienamente ragione, ero io che, com'era messo giù, non riuscivo a capire cosa intendevi per causale, quindi io avevo la mia visione e non riuscivo a collegarla con la tua, nonostante alla fine era praticamente uguale Io direi di lasciarla comunque aperta la discussione e, comunque, tengo sotto'occhio il comportamento sempre qua dentro
  • Re: Report e relazioni tabelle

    A weldox saranno venuti i sensi di colpa per aver aperto il thread
    Capisco che a volte ci si appassiona ma invito sia @Alex che nelsonblu a rileggere la discussione, entrambi avreste potuto essere un attimo più delicati l'uno con l'altro evitanto di creare inutili tensioni.

    Nelsonblu ha fornito una soluzione basata sulle tabelle che weldox ha indicato e che gli risulta facilmente comprensibile visto che è alle prime armi

    @Alex ha fornito e gettato le basi per una soluzione più articolata e completa che io condivido e implementerei ma che weldox immagino possa fare fatica a comprenderla e realizzarla.

    Quindi avete entrambi torto o entrambi ragione?
    Vi invito a una stretta di mano Virtuale su questo stesso thread.
  • Re: Report e relazioni tabelle

    Eheh si, un po' mi sono venuti!

    Comunque continuo a rileggermi le vostre considerazioni per cercare di capire il metodo giusto.
    Mi è un po' difficile capire quello che state dicendo.
    Capisco bene solo se mi fate degli esempi grafici....tipo quello di nelsonblu!

    C'è una cosa che non ho capito bene come fare: come mettere in relazione le tabelle.
    Lo so, sembra una sciocchezza.. ma non ci riesco.
    Ho provato a fare due tabelle, ciascuna con la propria chiave primaria (una è IDPreventivo ed è "testo", l'altra è ID ed è "contatore").

    Se provo a correlarle mi riconosce uno-a-molti automaticamente (magia?), ma le tre caselle di spunta "applica integrità referenziale", "aggiorna campi correlati a catena" e "elimina record correlati a catena" mi rimangono grige e non posso mettere la spunta.

    Ci tengo a precisare che il mio db ha le tabelle divise dal "programma".
    Cioè le mie tabelle sono in un altro file... io le collego al programma e lavoro nel file del programma (che è sempre in access ovviamente). Può essere questo?

    In pratica se faccio delle relazioni mi si vede solo l a riga di collegament, senza i simboli 1 e infinito.
    Ma nelle relazioni vedo che ci sono già tante altre relazioni fra tabelle che ste simboli li hanno tranquillamente...quindi deve essere qualcosa che non riesco a fare io.

    PS: per la cronaca, da ieri sto iniziando con la questione dei DDT in uscita....ce la faranno i nostri eroi?! speriamo! altrimenti preparatevi che dovrò interrogarvi ancora!
    Grazie mille a tutti ragazzi...siete preziosi.
  • Re: Report e relazioni tabelle

    weldox ha scritto:


    eheh si, un po' mi sono venuti!

    Comunque continuo a rileggermi le vostre considerazioni per cercare di capire il metodo giusto.
    Mi è un po' difficile capire quello che state dicendo.
    Capisco bene solo se mi fate degli esempi grafici....tipo quello di nelsonblu!

    C'è una cosa che non ho capito bene come fare: come mettere in relazione le tabelle.
    Lo so, sembra una sciocchezza.. ma non ci riesco.
    Ho provato a fare due tabelle, ciascuna con la propria chiave primaria (una è IDPreventivo ed è "testo", l'altra è ID ed è "contatore").

    Se provo a correlarle mi riconosce uno-a-molti automaticamente (magia?), ma le tre caselle di spunta "applica integrità referenziale", "aggiorna campi correlati a catena" e "elimina record correlati a catena" mi rimangono grige e non posso mettere la spunta.
    Secondo me, prima di iniziare a fare Maschere e sviluppare un'interfaccia, serve avere un minimo di padronanza del mezzo... altrimenti come puoi avere una visione del sistema...?
    Di norma i Forum non son un servizio di CORSI ONLINE, ma luoghi di approfondimento.
    Ovviamente l'appofondimento o l'affrontare i problemi viene bene se chi li pone ha le basi.

    Le tue perplessità sono veramente alla base della conoscenza del sistema e personalmente
    per spiegarti o colmare le lacune che palesi, serve veramente un corso...

    weldox ha scritto:


    Ci tengo a precisare che il mio db ha le tabelle divise dal "programma".
    Cioè le mie tabelle sono in un altro file... io le collego al programma e lavoro nel file del programma (che è sempre in access ovviamente). Può essere questo?
    Ma stai lavorando su un prodotto non tuo...?
    Certo che è possibile, anzi è proprio quello che di norma corrisponde ad uno SVILUPPO CLIENT-SERVER, anche se con Access-JET sono paroloni...

    weldox ha scritto:


    In pratica se faccio delle relazioni mi si vede solo l a riga di collegament, senza i simboli 1 e infinito.
    Ma nelle relazioni vedo che ci sono già tante altre relazioni fra tabelle che ste simboli li hanno tranquillamente...quindi deve essere qualcosa che non riesco a fare io.
    Se non viene creata la relazione corretta 1-M è perchè non hai configurato bene il JOIN oppure
    per INCONSISTENZA dei dati.

    weldox ha scritto:


    PS: per la cronaca, da ieri sto iniziando con la questione dei DDT in uscita....ce la faranno i nostri eroi?! speriamo! altrimenti preparatevi che dovrò interrogarvi ancora!
    Grazie mille a tutti ragazzi...siete preziosi.
    Io credo che un freno per approfondimento TECNICO sia doveroso.
  • Re: Report e relazioni tabelle

    Mi accodo a ciò che ha detto Toki (anzi, grazie per aver chiuso la segnalazione, me lo sono dimenticato ).
    Come si può leggere nel mio primo intervento,cercavo di dare ragione a entrambi, anche se puntavo più sul Alex più che altro perchè è la scelta migliore ed evita modifiche future quando ci si accorge che la soluzione di nelsonblu, che aveva semplicemente "tradotto" ciò che weldox ha scritto, cominciava a non essere più gestibile.

    Quindi, come dice sempre Toki, nessuno dei due ha torto. Sicuramente avete torto nel lato espressivo che la discussione ha iniziato ad avere.

    Invito nelsonblu a riapparire nel forum e "stringersi la mano" con alex, con la promessa che tale situazione non si riproponga più.

    Ritornando alla discussione, Alex, hai ragione, il forum non è la zona idonea per corsi on-line, però siamo qua anche per aiutare i principianti. Quindi si cerca di indirizzarlo nel modo migliore. Ovvio che, e qui hai ragione, non possiamo tenere dei veri e propri corsi on-line, uno perchè ci manca il tempo materiale e due erchè in un forum è comunque improponibile. Quindi weldox, il consiglio che posso darti è: chiedici pure ciò che ti da delle perplessità, ma nello stesso tempo documentati per bene. Mi spiego meglio, magari basandomi su ciò che di solito faccio io. Trovo una difficoltà (nel mio caso potrebbe essere il funzionamento di una determinata classe .net piuttosto che jQery & co...), vado nei siti preposti (msdn, jQuery.com, ...) e mi leggo la documentazione. Ho trovato la risposta? Ottimo, altrimenti inizio a girare per internet. Se non trovo chiedo aiuto a un forum.

    La tua strada, invece potrebbe essere: riscontri un problema (in questo caso le relazioni), ci chiedi aiuto. Noi cerchiamo di darti una infarinatura base in modo da indirizzarti sulla soluzione, te però inizi a leggerti documentazione per approfondire e capire meglio questa infarinatura (in questa discussione la documentazione che ti serve sono le regole di normalizzazione e le relazioni). Tra l'altro ho notato un errore che è sfuggito anche ad Alex. Non sarebbe molto indicato usare come indice principale una colonna di tipo testo. Ti consiglio di creare una colonna di tipo contatore da usare come chiave primaria e la colonna del numero preventivo (il tuo attuale idPreventivo) come chiave secondaria. In questo modo hai sia la certezza che il numero preventivo sia univoco sia prestazioni sulla ricerca

    e dopo questa via alla birra, offro io
  • Re: Report e relazioni tabelle

    fonzarelli ha scritto:


    ....
    Ritornando alla discussione, Alex, hai ragione, il forum non è la zona idonea per corsi on-line, però siamo qua anche per aiutare i principianti. Quindi si cerca di indirizzarlo nel modo migliore.
    Certo l'apprccio migliore è sempre parlare la stessa lingua... ma lo sforzo necessario
    è veramente alto se non ci sono un minimo di presupposti.

    fonzarelli ha scritto:


    Ovvio che, e qui hai ragione, non possiamo tenere dei veri e propri corsi on-line, uno perchè ci manca il tempo materiale e due erchè in un forum è comunque improponibile.
    Hai centrato il problema.
    Quando si parla di affrontare da zero concetti base senza essere superficiali, serve farlo con una spiegazione utile, questa richiede per forza di cose TEMPO e spesso PING-PONG di domande e risposte.
    Tutto questo è DOVEROSO e TECNICAMENTE rilevante su concetti di approfondimento, a mio avviso, ma su concetti BASILARI proprio per la necessità di DETTAGLI, rischia di morire prima di partire ed i buoni intenti poi diventano ABBANDONO.

    Personalmente non volendo abbandonare un discorso, adotto proprio il principio che ho esposto
    perchè lato tecnico cerco di approfondire al massimo per dare all'utente la chiarezza dei dettagli e spessore di concetti.
    Mi risulta difficile, ma credo che per tutti i tecnici lo sia, avere la stessa dovizia di particolari senza poter usare gli strumenti tecnici a disposizione in quanto dall'altra parte non si conoscono.
    Sicuramente è un mio limite.

    fonzarelli ha scritto:


    Quindi weldox, il consiglio che posso darti è: chiedici pure ciò che ti da delle perplessità, ma nello stesso tempo documentati per bene. Mi spiego meglio, magari basandomi su ciò che di solito faccio io. Trovo una difficoltà (nel mio caso potrebbe essere il funzionamento di una determinata classe .net piuttosto che jQery & co...), vado nei siti preposti (msdn, jQuery.com, ...) e mi leggo la documentazione. Ho trovato la risposta? Ottimo, altrimenti inizio a girare per internet. Se non trovo chiedo aiuto a un forum.

    La tua strada, invece potrebbe essere: riscontri un problema (in questo caso le relazioni), ci chiedi aiuto. Noi cerchiamo di darti una infarinatura base in modo da indirizzarti sulla soluzione, te però inizi a leggerti documentazione per approfondire e capire meglio questa infarinatura (in questa discussione la documentazione che ti serve sono le regole di normalizzazione e le relazioni). Tra l'altro ho notato un errore che è sfuggito anche ad Alex. Non sarebbe molto indicato usare come indice principale una colonna di tipo testo. Ti consiglio di creare una colonna di tipo contatore da usare come chiave primaria e la colonna del numero preventivo (il tuo attuale idPreventivo) come chiave secondaria. In questo modo hai sia la certezza che il numero preventivo sia univoco sia prestazioni sulla ricerca

    e dopo questa via alla birra, offro io
    La questione della PK è puramente di comodità usare un Counter, ci sono Tabelle di componenti di Magazzino a sigla GerarchicaParlante(per la ricorsione semplice) che sono usati come PK a Campi Multipli senza problemi, ovvio che impone una gestione più specifica, la PK Counter invece ci lascia più tranquilli
  • Re: Report e relazioni tabelle

    Son d'accordo però nel nostro caso usare l'idPreventivo come pk non è proprio il caso anche perchè sta iniziando a creare altri documenti (il ddt), e se per ogni documento crea una tabella è la fine quindi converrebbe unire il tutto e, a quel punto, l'idPreventivo sfugge come pk

    Poi per il resto va bene tutto, l'importante è che la scelta, ovviamente, sia sensata
  • Re: Report e relazioni tabelle

    fonzarelli ha scritto:


    ....
    Sai che mi piace proprio "la tua firma" che hai inserito...!
  • Re: Report e relazioni tabelle

    Grazie grazie :d
  • Re: Report e relazioni tabelle

    Afferrato ragazzi.
    Ora mi fermo un attimino e vedo di approfondire la questione.
    Purtroppo di corsi non ho proprio il tempo di seguirne (mi piacerebbe...ma proprio il tempo manca, e quello che trovo lo devo dedicare per forza di cose al mio lavoro primario: saldatura robotizzata), quindi devo arrangiarmi.
    Ci metterò più tempo, ma per adesso questo è l'iter che devo seguire.

    Cercherò di usare il forum esclusivamente per ricevere dritte e consigli prima ancora che chiedere che mi si faccia un mini-corso online. Giustamente.

    In ogni caso vi ringrazio perchè pian piano colleziono delle informazioni molto utili.
    Tipo questa della chiave primaria come contatore.

    Grazie infinite.
    Un saluto.
    Mauri
  • Re: Report e relazioni tabelle

    X alex,

    @Alex ha scritto:


    Ma stai lavorando su un prodotto non tuo...?
    Certo che è possibile, anzi è proprio quello che di norma corrisponde ad uno SVILUPPO CLIENT-SERVER, anche se con Access-JET sono paroloni...
    Sto lavorando su un programma che ci ha fornito uno studio che ci aiuta a sviluppare meglio la parte commerciale della ditta ed il rapporto con i clienti (adesso per fortuna abbiamo meno necessità poichè il lavoro è tornato, prima eravamo un po' in cassa integrazione con deroga).
    In particolare avevamo la necessità della certificazione ISO9001(per pura presentazione aziendale) e quest'ingegnere ci ha indirizzato ad una gestione quasi totalmente manuale di tutti gli aspetti primari della ISO.
    Elenchi vari da tenere aggiornati a mano, modulistica, ecc..ecc.. una pappardella di lavoro che inevitabilmente ci ha portati a chiedere se un programma simil-gestionale ci avesse potuto aiutare.
    Loro ci hanno fornito questo programma in access, suddiviso in due file: quello del programma vero e proprio e poi quello delle tabelle correlate dove ci sono pressochè tutti i dati.
    Il programma è su un server e noi accediamo tramite rete.
    Piano piano l'ingegnere l'ha un po' adattato alle nostre esigenze e ci ha dato il permesso di modificarlo ed adattarlo a piacimento.
    Ora l'obbiettivo "certificazione" è un po' sfumato, perchè è uno dei modi più veloci per far perdere di elasticità alle piccole realtà.
    Tuttavia ci siamo tenuti il bagaglio fatto e stiamo cercando di implementarlo ulteriormente (senza fare ulteriori investimenti, se possibile..abbiamo già speso abbastanza) per agevolare e velocizzare alcuni aspetti.
    Da introdurre ex novo c'è la questione dei preventivi...che però credo di aver risolto (in maniera maccheronica..ok, ma vedo che per quello che dobbiamo fare vanno bene).
    E la questione dei DDT, perchè portano via molto tempo sia nell'archiviazione, sia nelle ricerche, sia nella compilazione.
    Se non viene creata la relazione corretta 1-M è perchè non hai configurato bene il JOIN oppure
    per INCONSISTENZA dei dati.
    Alla fine la questione era moolto più semplice!
    I dati non potevano essere poichè non ne ho inseriti, il problema era che io volevo andare a creare le relazioni nelle tabelle collegate direttamente dal file del programma.
    Ho provato a creare le relazioni nel file dei dati,cioè dove sono fisicamente le tabelle, e ce l'ho fatta!
    Io credo che un freno per approfondimento TECNICO sia doveroso.
    Freno per approfondimento tecnico inserito! Però, come ho già detto...il mio "approfondimento tecnico" per adesso non può che essere puramente autodidattico purtroppo.
    Grazie di tutto!

    PS: Vi romperò l'anima ancora!
  • Re: Report e relazioni tabelle

    @Alex ha scritto:


    Credo ci sia un fraintendimento sul concetto di CAUSALE.
    La Causale è la Voce di prezzo, che può essere Multipla, che compone il preventivo.

    Di norma infatti un preventivo(Tabella Preventivi) comprende voci di Catalogo(divise in Categorie).

    La dove il preventivo può avere molti Articoli/Causali serve una Tabella 1-Molti.
    Ma il problema si complica in quanto i preventivi sono MOLTI ma anche gli ARTICOLI/CAUSALI sono molti.

    Quindi già mi trovo con 2 Tabelle
    1° Tabella Preventivi
    2° Tabella Catalogo Articoli o Causali o Voci Prezzo

    Come faccio a mettere in relazione queste 2 Tabelle che contendgono i dati per comporre
    da una parte il PREVENTIVO dall'altra i riferimenti alle VOCI di CATALOGO ARTICOLI...?

    Per fare in modo che un Preventivo abbia un legame con Molti Articoli, quindi un'elenco di CAUSALI che concorrono a comporre il TOTALE serve un'altra tabella, nella quale convergono la PK della Tabella Preventivo e la PK della Tabella CATALOGO.

    Questa è la Relazione Molti-Molti, non c'è altro modo per gestire queste cose al fine di avere FLESSIBILITA'.

    Spero di aver chiarito il concetto.
    Credo di essere riuscito a capire Alex.

    Gli articoli io in effetti li gestisco tramite una casella combinata ed un'altra tabella che non ho relazionato.
    Nella mia tabella dei materiali vado a riprendere i vari articoli (nel mio caso sono vari profilati di acciaio, tipo travi HEB, IPE, UPN, ferri a L...ecc... poi ci sono anche voci tipo Anelli, Dischi, Tubi, Filo di Saldatura, Antiruggine, ecc..).
    Tramite codice VBA io gestisco i subtotali di ogni riga...quello che credo tu intenda per "causali".

    Nella tabella che contiene gli articoli io ho messo vari dati che mi servono per calcolare il peso e per calcolare il prezzo di ogni singola riga.
    A tale tabella posso accedere tramite un doppio click e lei si apre in popup.
    Posso eventualmente aggiungere voci e correggere i prezzi che, comunque, sono da ritenerso solo prezzi "suggeriti", perchè non si riuscirà mai ad avere un listino veramente aggiornato visto che il costo del materiale varia quasi di giorno in giorno.
    Nel selezionare le varie voci mi si settano i campi in maniera da permettermi di fare il giusto calcolo.
    Tipo le travi ed i profilati avranno il peso calcolato dal loro valore "peso al metro" e dalla casella "lunghezza".
    Mentre un Anello ossitagliato avrà il peso calcolato tramite diametro esterno, interno e spessore.
    Il Filo di Saldatura avrà il prezzo al kg ed il peso inserito a mano...ecc..ecc..
    Tramite If-then-elseif-else gestisco questi calcoli.
Devi accedere o registrarti per scrivere nel forum
28 risposte