Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 20
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2011
    Messaggi
    8

    [Access 2007] problema con query complessa

    Buonasera a tutti i partecipanti al forum.

    Ho un DB con una tabella 1997
    (campi: MOVRAGGID, VALUTA, SALDO_GIORNALIERO, GIORNI, NUMERI_CREDITORI, NUMERI_DEBITORI, TASSO_CREDITORE, TASSO_DEBITORE)

    E una tabella Tasso_Legale
    (campi: ID_Tasso, Inizio_Decorrenza, Fine_Decorrenza, Tasso_Creditore, Tasso_Debitore)

    Quello che dovrei fare è la seguente operazione:
    leggi la valuta (è un campo data gg/mm/aaaa) nella tabella 1997;
    cerca nella tabella Tasso_Legale (campo Inizio_Decorrenza – Fine_Decorrenza entrambi in formato gg/mm/aaaa) in quale intervallo è compresa la valuta;
    leggi il Tasso_Creditore corrispondente (sempre nella tabella Tasso_Legale) e scrivilo nella tabella 1997 nel campo TASSO_CREDITORE;
    Fai la stessa operazione per il Tasso_Debitore;
    Ho provato con query INSERT INTO ma la query mi restituisce il valore 0 (zero) quando dovrebbe invece indicarmi il valore 5% corrispondente.
    Prima di telefonare alla neuro, chiedo se qualcuno può indicarmi ( se esiste ) un modo per ottenere quanto sopra.
    Nel caso lo si ritenga utile, posso postare le due tabelle.
    Grazie

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Se puoi carica l'mdb con le due tabelle su

    http://www.myfreefilehosting.com/

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2011
    Messaggi
    8

    [access 2007] problema con query complessa

    Grazie a Nicola75ss per la pronta risposta.
    Ho caricato il DB come da tue istruzioni.

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Se ci passi il link magari.

  5. #5

  6. #6
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Mmm, avevo scritto in corsivo "mdb" nella speranza che lo convertissi in quel formato. Non ho office 2007 a disposizione. Se puoi salvalo in quel formato e ricaricalo. Sorry.

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2011
    Messaggi
    8

    [access 2007] problema con query complessa

    Ri-Sorry
    forse è l'ora. Sono un po preoccupato. Thanks
    http://myfreefilehosting.com/f/b33a7aae41_0.21MB

  8. #8
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Ok, scaricato. Dammi 5 minuti per raccapezzarmi.

  9. #9
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Allora, ho dato un'occhiata. Intanto rinominerei la tabella 1997 in modo diverso per evitare complicazioni.

    La tabella tasso_legale, in corrispondenza del record con id 6, contiene un errore (t_i_decorrenza immagino debba essere 1/1/1998 e non 1997), altrimenti i due intervalli si accavallerebbero.

    Da quello che vedo non ti serve un update. Avresti solo dati ridondanti.
    Fai una select mettendo in join le due tabelle

    codice:
    SELECT t1997.*, tasso_legale.tasso
    FROM t1997 
    INNER JOIN tasso_legale 
    ON t1997.valuta between  tasso_legale.t_i_decorrenza and tasso_legale.t_f_decorrenza;

  10. #10
    Utente di HTML.it
    Registrato dal
    Apr 2011
    Messaggi
    8

    [Access 2007] problema con query complessa

    Buongiorno a tutti e grazie a nicola75ss. Ieri sera il mio PC mi ha piantato con una magnifica quanto inattesa schermata blu. Visto i precedenti ho capito che non era la mia giornata.

    Tornando al problema vorrei dire a nicola75ss che la query proposta, mandata in esecuzione, mi segnala un errore (operatore between senza and nell'espressione della query 't1997.......).
    Inoltre non ho capito l’osservazione per cui il record id 6 conterrebbe un errore. Tale record identifica un intervallo temporale [che inizia il 01/01/1997 (T_I_Decorrenza = tasso inizio decorrenza) e termina il 31/12/1998 (T_F_Decorrenza = tasso fine decorrenza)] nel quale il Tasso di interesse applicato era del 5%.
    Occorre tenere presente che la tabella Tasso_Legale rappresenta la versione semplificata di un’altra tabella che si chiama Tasso_Interesse_Convenzionale. In quest’ultima tabella i tassi di interesse (sia creditore sia debitore) variano (indipendentemente l’uno dall’altro) anche 100 volte in un anno.
    Poiché la tabella 1997 rappresenta solo i movimenti di un anno, vi saranno ulteriori tabelle (1998, 1999 fino ad oggi) nelle quali occorrerà calcolare (mediante i numeri creditori e debitori inseriti) l’ammontare degli interessi che sono stati corrisposti. Tali interessi confrontati con quelli che sono stati effettivamente pagati, determineranno la richiesta di restituzione (da parte del correntista alla banca) per l’eventuale eccedenza.
    Non vorrei rendere più complicato il problema e quanto sopra è esposto per chiarezza.

    Tentando di riassumere pertanto la query dovrebbe leggere la data di valuta (tabella 1997); cercare l’intervallo temporale nella quale tale data è ricompresa nella tabella Tasso_Legale; estrarre da quest’ultima tabella il tasso Creditore corrispondente e scriverlo nella tabella 1997 . Idem per il tasso debitore. Per tutti i record della tabella 1997.

    Scusate la lunghezza

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.