Pagina 2 di 4 primaprima 1 2 3 4 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 33

Discussione: Decimale e intero

  1. #11
    Originariamente inviato da omarweb
    ... ma non mi aggiorna il dato nel DB!!!! Rimane sempre 2 euro!
    devi dire al programma di aggiornare il db e per farlo devi usare l' update

    mentre
    per quanto riguarda questo errore

    Type mismatch

    /admin/aggiungicassa.asp, line 33

    ti consiglio
    1.
    Bar=Cdbl(birre)*cint(nbirre)+Cdbl(bibite)*cint(nbi bite)+Cdbl(acqua)*cint(nacqua)+Cdbl(caffe)*cint(nc affe)
    e poi
    Sommatoria=cdbl(rs("Bar"))+cdbl(Bar)

    se dovesse darti ancora errore

    2.
    prova stampare a video sia
    rs("Bar") che Bar
    e vedere il loro risultato

  2. #12
    così sto andando un po' alla cieca e a tentativi, ma da quello ke mi dici che il programma fa credo manchi qualcosa

    per cortesia mi posti tutto il codice? perchè credo che alcune cose necessarie non siano state pubblicate grazie

  3. #13
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    18
    Ok eccolo:
    <%
    Birre = Request.Form("Birre")
    nBirre = Request.Form("nBirre")
    Bibite = Request.Form("Bibite")
    nBibite = Request.Form("nBibite")
    Acqua = Request.Form("Acqua")
    nAcqua = Request.Form("nAcqua")
    Caffe = Request.Form("Caffe")
    nCaffe = Request.Form("nCaffe")
    Giorno = Request.Querystring("Giorno")
    Settimana = Request.Querystring("Settimana")
    Mese = Request.Querystring("Mese")
    Anno = Request.Querystring("Anno")
    From=Request.Querystring("From")
    today=Giorno&Mese&Anno
    conta = 0
    Sommatoria=0

    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=Cdbl(birre)*cint(nbirre)+Cdbl(bibite)*cint(nbi bite)+Cdbl(acqua)*cint(nacqua)+Cdbl(caffe)*cint(nc affe)

    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
    Sommatoria=cdbl(rs("Bar"))+cdbl(Bar)
    if Not rs is Nothing Then
    rs("Bar") = Sommatoria
    else
    end if
    Response.Redirect "OK.asp?from=cassa?Barnew=" & Bar & "&Somma=" & sommatoria & ""
    else
    end if
    rs.MoveNext
    Loop
    If conta = 0 then
    if Not rs is Nothing Then
    rs.AddNew
    rs("Giorno") = today
    rs("Bar") = bar
    rs.Update
    Response.Redirect "OK.asp?from=cassa"
    else
    Response.Redirect "prenotazioni.asp?Errore=True"
    end if
    else
    end if
    else
    end if
    %>

    Anche inserendo quello che mi hai detto, non aggiorna il dato nel DB!
    ...e grazie per l'aiuto!!!

  4. #14
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    18
    rs(Bar) mi da sempre 2 (il primo dato inserito) mentre Bar la somma (corretta)

  5. #15
    prova così
    codice:
    <%
    From=Request.Querystring("From")
    
    If ucase(From) = "BAR" then
    
    Birre = Request.Form("Birre")
    nBirre = Request.Form("nBirre")
    Bibite = Request.Form("Bibite")
    nBibite = Request.Form("nBibite")
    Acqua = Request.Form("Acqua")
    nAcqua = Request.Form("nAcqua")
    Caffe = Request.Form("Caffe")
    nCaffe = Request.Form("nCaffe")
    Giorno = Request.Querystring("Giorno")
    Settimana = Request.Querystring("Settimana")
    Mese = Request.Querystring("Mese")
    Anno = Request.Querystring("Anno")
    
    today=Mese&"/"&Giorno&"/"&Anno
    conta = 0
    Sommatoria=0
    Bar=birre*nbirre+bibite*nbibite+acqua*nacqua+caffe*ncaffe
    
    Set objConn = Server.CreateObject("ADODB.Connection")
    objConn.Open("Provider = Microsoft.Jet.OLEDB.4.0; Data Source = " & Server.MapPath("/mdb-database/scheda_di_lavorazione.mdb"))
    Set rs = Server.CreateObject("ADODB.Recordset")
    
    set rs = objConn.Execute("Select * From Cassa where giorno=#"&today&"#")
    Do while not rs.EOF
    conta = 1
    Sommatoria=rs("Bar")+Bar
    rs.movenext
    Loop
    if conta=1 then
    set rs = objConn.Execute("UPDATE Cassa SET Bar="&Sommatoria&" WHERE giorno=#"&today&"#")
    else
    set rs = objConn.Execute("INSERT INTO Cassa (GIORNO, BAR) VALUES (#"&today&"#, "&Sommatoria&")")
    end if
    
    Response.Redirect "OK.asp?from=cassa&Barnew="&Bar&"&Somma="&sommatoria
    
    end if
    %>

  6. #16
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    18
    allora...
    il primo inserimento è ok, al secondo mi da questo errore:
    Microsoft VBScript runtime error '800a000d'

    Type mismatch

    /admin/aggiungicassa.asp, line 31

    linea 31:
    Sommatoria=rs("Bar")+Bar

  7. #17
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Dovresti fare una cosa di questo tipo:

    Sommatoria=rs("Bar")+ CDbl(Bar)

    Roby

  8. #18
    si scusa ho dimenticato le conversioni
    ero di fretta per la pausa pranzo ^_^

    fai come dice roby e facci sapere


    UNA NOTAZIONE
    i decimali hanno il . e nn la ,

  9. #19
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    18
    OH!!!!! Ci siamo quasi!!!
    Ora aggiorna, ma se inserisco numeri con la virgola mi da errorecome giustamente dice Grambo! Però se inserisco 1.50 me lo considera 150

  10. #20
    cosa vuol dire te lo considera 150? nel db?
    controlla che il campo db sia impostato correttamente
    tipo dati : numerico
    dimensione campo: decimale
    precisione: 18
    scala: 2
    posizioni decimali: 2
    valore predefinito: 0
    richiesto e indicizzato : no
    il resto vuoto

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 © 2026 vBulletin Solutions, Inc. All rights reserved.