Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 33

Discussione: Decimale e intero

  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    18

    Decimale e intero

    Ciao a tutti. Premetto che molto probabilmente il mio errore è banale ma non ho trovato soluzioni sul WEB.
    Sto facendo una pagina asp "cassa". Mi serve inserire degli importi che mi sommino una cifra già esistente nel mio DB access.
    Ecco la pagina asp:
    Set connCW = Server.CreateObject("ADODB.Connection")
    connCW.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.MapPath("/mdb-database/cassa.mdb")

    set rs =server.CreateObject("adodb.recordset")

    sSQL="Select * From Cassa "
    Bar=birre*nbirre+bibite*nbibite+acqua*nacqua+caffe *ncaffe

    rs.Open ssql, connCW, 2, 3

    If From = "BAR" then
    Do while not rs.EOF
    if rs("giorno")+1-1 = today+1-1 then
    conta = 1
    if Not rs is Nothing Then
    rs("Bar") = rs("Bar")+Bar
    else
    end if
    Response.Redirect "OK.asp?from=cassa?Barnew=" & Bar & "&Somma=" & rs("Bar") & ""
    else
    end if
    rs.MoveNext
    Loop


    Non mi da errori ma semplicemente non mi aggiorna la cifra con la nuova ma continua a inserirmi il numero contenuto in "Bar" anzichè sommarlo con rs("Bar")
    Penso sia un problema di numeri decimali o interi... ma non so come risolverlo.
    Spero di essermi spiegato...

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    18
    Nessuna idea?
    Aggiungo che sul DB access le ho provate un po' tutte (decimale con più o meno decimali dopo le virgole, intero lungo ecc..)

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    18
    Perdonate l'insistenza!!!! Nessun aiuto?
    SONO BLOCCATO PER UNA CAVOLATA!!!

  4. #4

    Re: Decimale e intero

    Originariamente inviato da omarweb
    ...
    If From = "BAR" then
    ...
    scusa la mia ignoranza(magari non lo so io) ma questo ha significato?
    ok ho capito che significa

    ... io ti direi (per ridurre la probabilità di sbagliare) di non eseguire questo
    codice:
    ..
    if rs("giorno") = today then
    ..
    ma di inserirlo nella query con un WHERE

    codice:
    ...
    sSQL="Select * From Cassa WHERE giorno=#"&today&"#"
    ...
    a me sembra un po' incasinato quel piccolo codice che hai postato =\

    cos'è questo?
    codice:
    if Not rs is Nothing Then
    cosa vorresti fare?

  5. #5
    da quello che ho potuto capire prova così
    codice:
    Set connCW = Server.CreateObject("ADODB.Connection")
    connCW.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.MapPath("/mdb-database/cassa.mdb")
    set rs =server.CreateObject("adodb.recordset")
    
    'se nel tuo db giorno è in formato data/ora 
    'sSQL="Select * From Cassa WHERE giorno=#"&today&"#"
    'se nel tuo db giorno è in formato testo 
    'sSQL="Select * From Cassa WHERE giorno='"&today&"'"
    
    Bar=birre*nbirre+bibite*nbibite+acqua*nacqua+caffe*ncaffe
    
    '****************************
    'modificato
    
    If ucase(From) = "BAR" then
    '***************************
    
    rs.Open ssql, connCW, 2, 3
    Do while not rs.EOF
    conta = 1
    rs("Bar") = rs("Bar")+Bar
    Response.Redirect "OK.asp?from=cassa&Barnew=" & Bar & "&Somma=" & rs("Bar") & ""
    rs.MoveNext
    Loop
    
    end if

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    18
    emmmm... Lo so faccio un po' di casini nei codici perché la mia conoscenza ASP è un po' limitata, quindi mi arrangio con quel poco che so!!!
    Cmq questo:
    if Not rs is Nothing Then
    non so cosa sia con l'esattezza. Quando aggiorno un dato o ne inserisco uno nuovo lo scrivo sempre. Ho trovato il codice dal sito html.it molto tempo fa e l'ho copiato.
    La parte incrimiata però non penso sia lì! Penso sia una non corrispondenza fra i dati, nel senso che prendo un "dato" dal DB Access e lo sommo con un "numero". Io devo usare numeri con le virgole (euro. Tipo 10,50) e sommarlo con numeri con le vigrgole!!!
    Come devo impostare il campo in ACCESSS??? Numerico Intero, oppure intero lungo, oppure decimale...

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    18
    Però dovrei dirgli che se il giorno già esiste devo aggiornare il dato, altrimenti crearne uno nuovo.
    Posso vendere una birra adesso e una fra mezz'ora...

  8. #8
    ok allora
    il campo deve essere decimale

    la somma che fai te è corretta (per quanto riguarda i tipi di valori) quindi al massimo devi cambiare solo il tipo nel database (ma se l'errore fosse stato quello ti avrebbe restituito errore di incongruenza tipo dati)

    comunque

    per controllare che esista gia il giorno puoi
    usare una select count() se il contatore è >0 significa che il record con la data di oggi è gia presente quindi modificherai
    se invece non esiste inserirai una nuova riga con una insert into

  9. #9
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    18
    Cioè? Non ho mai usato questi comandi... mi sembrano "intelligenti"! (select count() e insert into)
    Comunque tornando al mio problema principale, ho fatto questo:
    Database ACCESS:
    ID GIORNO BAR
    dove BAR è un dato NUMERICO DECIMALE con Precisione 18, Scala 2 e Posizioni decimali 2.
    Ora, nuovo giorno, inserisco una birra e mi aggiorna il campo con 2 euro (TUTTO GIUSTO).
    Poi vendo un'latra birra (strano?!?) e come somma mi da 4 euro (corretto) ma non mi aggiorna il dato nel DB!!!! Rimane sempre 2 euro!

  10. #10
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    18
    Scusami mi correggo!!!!
    Effettivamente mi da un errore di incongruenza dati:
    Microsoft VBScript runtime error '800a000d'

    Type mismatch

    /admin/aggiungicassa.asp, line 33

    La riga incriminata è questa:
    Sommatoria=rs("Bar")+Bar

    Ricordo che Bar è questo valore:
    Bar=birre*nbirre+bibite*nbibite+acqua*nacqua+caffe *ncaffe

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.