Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    decimali in query sql vb6

    salve. vorrei eseguire un update in sql da vb6. il problema è che questo update dovrebbe eseguire una moltiplicazioni tra due valori della stessa stringa. tutto funziona ma a me interessa che allo stesso tempo una volta eseguito l'update, il risultato della moltiplicazione ( che viene messo in un campo della tabella stessa), abbia solamente 2 decimali. come posso fare? ho cercato un po ed ho visto che la soluzione è aggiungere in ROUND ma proprio non son riuscito.

    la query è la seguente

    rs.open "update misurazioni set tot = prez * quant", db, adOpenStatic

    vorrei quindi che tutti i tot della tabella abbiano 2 massimo 2 decimali.

    come sempre grazie!
    - DenvEr -

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Non ha senso inserire 2 decimali in un campo numerico di un database. Il valore nel database deve essere lasciato così come calcolato.

    Semmai è il programma che visualizza il dato che deve operare sul dato come meglio si crede prima di mostrarlo.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    si quello è vero infatti il programma fa il resto e funziona bene. ma esiste un modo di far si che quel risultato abbia i 2 decimali solamente?
    - DenvEr -

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    758
    Di più. Non è corretto avere un campo in una tabella (tot) che è direttamente dipendente dal valore di uno o più altri campi della stessa tabella (prez, quant).

  5. #5
    come mai?
    - DenvEr -

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    758
    Perché la progettazione di un database deve seguire alcune regole che sono state codificate in un processo detto NORMALIZZAZIONE. Alcuni riescono a progettare correttamente una base dati semplicemente con il buon senso, altri devono seguire i passi di questo processo che hanno lo scopo di eliminare le eventuali ridondanze e di massimizzare l'efficienza del database stesso.
    Non è il caso qui di entrare più in profondità nell'argomento, ma puoi facilmente trovare su di esso enormi quantità di informazioni, in rete e/o in libreria.

  7. #7
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da DenvEr87
    come mai?
    Al di là della questione "normalizzazione", che senso ha (secondo la comune logica) memorizzare tra i dati del tuo database, ad esempio, il valore 5, il valore 4 e il valore 9, somma dei precedenti?

    E' ovvio che il valore 9 lo hai sempre a disposizione calcolandolo dai primi due, quindi è spazio sprecato sul db.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  8. #8
    assolutamente vero. ma io faccio cosi per avere alla fine una sorta di tabellone dove chiaramente ho anche la somma (nella tabella stessa) di 5+4 per poi poter stampare il tutto tramite report. tutto qui
    - DenvEr -

  9. #9
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Ribadisco che è sbagliato voler formattare il campo della tabella per il semplice fatto che nei casi in cui l'utente abbia impostazioni internazionali diverse, il valore potrebbe risultare sballato se i separatori delle migliaia e dei decimali sono differenti da quell che avresti previsto tu.

    Come ti ha già indicato Oregon, la "rappresentazione grafica" del valore la devi impostare usando le apposite funzioni di formattazione, le quali vanno applicate in base alle funzionalità del report.
    rami tutti i tool di reportistica prevedono la formattazione dei campi nel report stesso, come anche l'uso di campi calcolati e formule varie.



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.