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

    Aggiornamento prezzi in percentuale con solo due decimali

    Buon giorno a tutto il forum.
    Vengo subito al punto: ho questa paginetta che mi aggiorna i prezzi dei prodotti in un database access in base alla percentuale passata da un form (la percentuale è un semplice numero che va da 1 a 20 scelto da una combo box).
    codice:
    <%
    Perc=Request.Form("Perc")
    'Perc=FormatNumber(Perc, 2)
    SQL="UPDATE aumento set perc='"&perc&"'"
    Conn.Execute(SQL)
    
    SQL1="UPDATE [Catalogo, Articoli], aumento SET [Catalogo, Articoli].Prezzo = [Catalogo, Articoli]!Prezzo+([Catalogo, Articoli]!Prezzo*aumento!perc/100)"
    Conn.Execute(SQL1)
    Response.Redirect "index.asp"
    
    %>
    La cosa funziona e i prezzi vengono aggiornati perfettamente.
    Il problema è che i valori vengono modificati nel database con tre o più decimali (es. 120,2365) mentre a me servirebbe che venissero salvati numeri con solo 2 cifre dopo la virgola (es. 120,24) arrotondate per eccesso o per difetto.
    Come posso risolvere?
    Grazie!

  2. #2
    Prezzo è di tipo Currency?

  3. #3
    Grazie per la risposta
    Prezzo è:
    tipo dati valuta
    Formato € #.##0;-€ #.##0
    con posizioni decimali 2 nel db access.

  4. #4
    quindi *nel db* sei ok. dove sta il problema? non ho capito

  5. #5
    Il problema sta nel fatto che dopo aver eseguito la query per il calcolo dell'aumento in percentuale dei prezzi (quella indicata all'inizio), i nuovi prezzi vengono si aumentati della percentuale voluta e il calcolo è giusto, ma vengono scritti nel database con più di 2 decimali.

  6. #6
    Provo a formulare la domanda in modo diverso.
    Come posso formulare la query di cui all'inizio
    codice:
    SQL1="UPDATE [Catalogo, Articoli], aumento SET [Catalogo, Articoli].Prezzo = [Catalogo, Articoli]!Prezzo+([Catalogo, Articoli]!Prezzo*aumento!perc/100)"
    in modo che mi dia valori con due soli decimali?
    Ho provato con formatnumber, ma mi da l'errore formatnumber non definito

  7. #7
    a parte il fatto che già il formato currency dovrebbe essere sufficiente a soddisfare le tue necessità (ma asp è strano...) la funzione FormatNumber NON va nella query, ma laddove esponi il valore

  8. #8
    Originariamente inviato da optime
    a parte il fatto che già il formato currency dovrebbe essere sufficiente a soddisfare le tue necessità (ma asp è strano...) la funzione FormatNumber NON va nella query, ma laddove esponi il valore
    Infatti asp è strano, comunque ho risolto il problema grazie al tuo suggerimento "... la funzione FormatNumber NON va nella query, ma laddove esponi il valore".
    Infatti una volta recuperato il valore dal database (dato da inviare a Paypal che richiede solo 2 decimali), ho applicato la funzione FormatNumber e tutto si è risolto.
    Come al solito OPTIME!
    Grazie

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.