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

    Problemone coi decimali

    Ciao raga!

    stamattina ho scritto 4 righe di codice, che dovrebbero copiare dei valori numerici (prezzi in euro) da una tabella all'altra, da due database diversi (db1 - tabella1 > db2 - tabella1)

    Entrambe le tabelle sono strutturate come numero - 2 decimali - precisione doppia ma quando copio i valori dalla tabella A alla tabella B alcuni vengono copiati esattamente, altri vengono copiati... come moltiplicati per 10, cioè ad esempio 10,90 diventa 109 !

    Vi copio il codice...help

    <%
    Set ConnDispo = Server.CreateObject("ADODB.Connection")
    ConnDispo.Open "driver={Microsoft Access Driver (*.mdb)};dbq="&server.mappath("\db\web.mdb")

    Set ConnEcom = Server.CreateObject("ADODB.Connection")
    ConnEcom.Open "driver={Microsoft Access Driver (*.mdb)};dbq="&server.mappath("\db\ecom.mdb")

    Set RSPrezzi = Server.CreateObject("ADODB.RecordSet")
    SQLPrezzi = ("SELECT * FROM articoli")
    RSPrezzi.Open SQLPrezzi, ConnDispo, 1

    If Not RSPrezzi.EOF Then RSPrezzi.MoveFirst
    Do While Not RSPrezzi.EoF

    Codiceaggprezzi = RSPrezzi("codice")
    Prezzi = RSPrezzi("prezzo")

    SQLPrezziEcom = "Update Prodotti Set RPrezzo = '" & prezzi & "' WHERE Codice = '" & codiceaggprezzi & "' "
    SET RSPrezziEcom = ConnEcom.Execute(SQLPrezziEcom)
    RSPrezzi.Movenext
    loop

  2. #2
    Utente di HTML.it L'avatar di [trodat]
    Registrato dal
    Oct 2004
    Messaggi
    2,135
    prova così:

    codice:
    Codiceaggprezzi = formatNumber(RSPrezzi("codice"),2)
    Prezzi = formatNumber(RSPrezzi("prezzo"),2)
    Lo Stato dà un posto. L’impresa privata dà un lavoro. – Indro Montanelli

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    85
    Il database in remoto accetta numeri decimali il cui separatore è INDEROGABILMENTE il punto (come detto negli interventi :-) ) nelle variabili (locali) lo stesso numero viene pero' memorizzato con il separatore derivante da LCID=1040 (Italia), per cui nel momento di updatare la variabile la virgola NON viene letta e viene - quindi - inviato un numero privato del separatore ( cioè 1,55 diventa 155)

    vedi integrale
    http://forum.html.it/forum/showthrea...readid=1039768

  4. #4
    Buona la seconda, con un paio di replace ho risolto... ad ogni modo ovviamente grazie a tutti e due!



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.