Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1

    Problema con aggiornamento Campi DB

    Salve a tutti,

    ho un problema su un update fatto in asp.

    Il codice è il seguente:


    codice:
    <html>
    <head>
    <title>MODIFICA</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <link href="stile.css" rel="stylesheet" type="text/css">
    <script type="text/javascript" src="js/jquery.js"></script>
    <script type="text/javascript" src="js/interface.js"></script>
    <link href="stylemenu.css" rel="stylesheet" type="text/css" />		
    </head>
    <body>
    <%
    
    dim Conn, sede, responsabile, data_uscita, uscite_fattura, fornitore, uscite_scontrino, importo_entrate, saldo_progressivo, descrizione, effettuata_da, codice_commessa, divisione, fondo
    
    
    
    
    sede = request.querystring("sede")
    responsabile = request.querystring("responsabile")
    data_uscita = request.querystring("data_uscita")
    uscite_fattura = request.querystring("uscite_fattura")
    numero_fattura = request.querystring("numero_fattura")
    fornitore = request.querystring("fornitore")
    uscite_scontrino = request.querystring("uscite_scontrino")
    importo_entrate = request.querystring("importo_entrate")
    descrizione = request.querystring("descrizione")
    effettuata_da = request.querystring("effettuata_da")
    codice_commessa = request.querystring("codice_commessa")
    divisione = request.querystring("divisione")
    fondo = request.querystring("fondo")
    mese = request.QueryString("mese")
    anno = request.QueryString("anno")
    ID = request.QueryString("ID")
    IDsede = session("IDsede")
    saldo_precedente = request.QueryString("saldo_precedente")
    
    
    
    
    uscite_scontrino = Ccur(uscite_scontrino)
    uscite_fattura = Ccur(uscite_fattura)
    saldo_precedente = Ccur(saldo_precedente)
    saldo_progressivo = Ccur(saldo_progressivo)
    importo_uscite = Ccur(importo_uscite)
    fondo = Ccur(fondo)
    
    
    
    	Set Conn = Server.CreateObject("ADODB.Connection")
    	Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};" &_
    	"DBQ="& Server.MapPath("cassa.mdb")
    
     sqlmia = "SELECT * FROM t_dettagli WHERE sede ='" & sede & "' ORDER BY ID desc"
     
     set rsmia = conn.execute(sqlmia)
     
    		rsmia.movefirst
    		rsmia.movenext
    		
    		saldo_precedente = rsmia("saldo_progressivo")
    			
    		rsmia.movefirst
    
    
    Set rs = Server.CreateObject("ADODB.Recordset")
    set rs2 = Server.CreateObject("ADODB.Connection")
    Set rs.ActiveConnection = conn
    
    sql = "SELECT * FROM t_dettagli WHERE sede = '" & sede & "' AND pagina =" & rsmia("pagina")
    rs.Open sql ,conn,1,3
    
    set rs2 = conn.execute(sql)
    
    do while not rs2.EOF 
    
    	saldo_progressivo1 = saldo_precedente + importo_entrate
    	saldo_progressivo = saldo_progressivo1 - uscite_fattura - uscite_scontrino
    
    rs("responsabile") = responsabile
    rs("data_uscita") = data_uscita
    rs("uscite_fattura") = uscite_fattura
    rs("numero_fattura") = numero_fattura
    rs("fornitore") = fornitore
    rs("uscite_scontrino") = uscite_scontrino
    rs("importo_entrate") = importo_entrate
    rs("descrizione") = descrizione
    rs("effettuata_da") = effettuata_da
    rs("codice_commessa") = codice_commessa
    rs("divisione") = divisione
    rs("fondo") = fondo
    rs("saldo_progressivo") = saldo_progressivo
    
    rs2.movenext
    
    rs.Update
    
    loop
    
    rs.Close
    
    Set rs = Nothing
    
    conn.close
    
    Set conn = Nothing
    In pratica io sto facendo una pagina di modifica record, in particolare dovrei aggiornare il campo saldo progressivo presente nella tabella t_dettagli.

    Il saldo progressivo si calcola: Saldo Progressivo del record precedente + Importo entrate inserito nel form che passa i dati - uscite scontrino - uscite fattura.

    Con il codice che ho postato, mi aggiorna solo l' ultimo record che tira fuori la query.

    Qualcuno mi sa aiutare?

    Grazie.

  2. #2
    Spiego meglio il problema...

    Ho una tabella con svariati campi... In pratica io devo modificare più record assieme...

    Io vado a selezionare una riga dove vado a modificare tutti i campi che l' utente ha inserito in un form, dopodichè devo fare il calcolo del saldo progressivo per ogni campo successivo a quello modificato.

    Pagina di modifica

    codice:
    <html>
    <head>
    <title>MODIFICA SEDE</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <link href="stile.css" rel="stylesheet" type="text/css">
    <script type="text/javascript" src="js/jquery.js"></script>
    <script type="text/javascript" src="js/interface.js"></script>
    <link href="stylemenu.css" rel="stylesheet" type="text/css" />		
    </head>
    <body>
    <%
    
    
    sede = request.querystring("sede")
    responsabile = request.querystring("responsabile")
    data_uscita = request.querystring("data_uscita")
    uscite_fattura = request.querystring("uscite_fattura")
    numero_fattura = request.querystring("numero_fattura")
    fornitore = request.querystring("fornitore")
    uscite_scontrino = request.querystring("uscite_scontrino")
    importo_entrate = request.querystring("importo_entrate")
    'saldo_progressivo = request.querystring("saldo_progressivo")
    descrizione = request.querystring("descrizione")
    effettuata_da = request.querystring("effettuata_da")
    codice_commessa = request.querystring("codice_commessa")
    divisione = request.querystring("divisione")
    fondo = request.querystring("fondo")
    mese = request.QueryString("mese")
    anno = request.QueryString("anno")
    ID = request.QueryString("ID")
    IDsede = session("IDsede")
    
    
    
    
    
    uscite_scontrino = CDbl(uscite_scontrino)
    uscite_fattura = CDbl(uscite_fattura)
    saldo_precedente = CDbl(saldo_precedente)
    saldo_progressivo = CDbl(saldo_progressivo)
    importo_uscite = CDbl(importo_uscite)
    fondo = CDbl(fondo)
    
    
    
    'creo la connessione al database cassa.mdb
    	Set Conn = Server.CreateObject("ADODB.Connection")
    	Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};" &_
    	"DBQ="& Server.MapPath("cassa.mdb")
    
     sqlmia = "SELECT * FROM t_dettagli WHERE sede ='" & sede & "' ORDER BY ID desc"
     
     set rsmia = conn.execute(sqlmia)
    		
    		rsmia.movefirst
    		
    		pagina = rsmia("pagina")		
    		
    		rsmia.movenext
    		
    		saldo_precedente = rsmia("saldo_progressivo")
    			
    		rsmia.movefirst
    
    
    Set rs2 = Server.CreateObject("ADODB.Connection")
    
    sql2 = "SELECT * FROM t_dettagli WHERE sede = '" & sede & "' AND pagina =" & pagina & "AND ID=" & ID
    
    set rs2 = conn.execute(sql2)
    
    Set rs = Server.CreateObject("ADODB.Recordset")
    
    Set rs.ActiveConnection = conn
    
    rs.Open sql2 ,conn,1,3
    
    
    rs("responsabile") = responsabile
    rs("data_uscita") = data_uscita
    rs("uscite_fattura") = uscite_fattura
    rs("numero_fattura") = numero_fattura
    rs("fornitore") = fornitore
    rs("uscite_scontrino") = uscite_scontrino
    rs("importo_entrate") = importo_entrate
    rs("descrizione") = descrizione
    rs("effettuata_da") = effettuata_da
    rs("codice_commessa") = codice_commessa
    rs("divisione") = divisione
    rs("fondo") = fondo 
    rs("saldo_progressivo") = saldo_progressivo
    rs("ID") = ID
    
    Set rs3 = Server.CreateObject("ADODB.Connection")
    
    sql3 = "SELECT * FROM t_dettagli WHERE sede = '" & sede & "' & ID>" & ID
    
    set rs3 = conn.execute(sql3)
    
    Set rs3 = Server.CreateObject("ADODB.Recordset")
    
    Set rs3.ActiveConnection = conn
    
    rs3.Open sql3 ,conn,1,3
    
    
    do while not rs3.EOF 
    	saldo_progressivo = 0
    	saldo_progressivo1 = 0
    	saldo_progressivo1 = saldo_precedente + rs3("importo_entrate")
    	saldo_progressivo = saldo_progressivo1 - rs3("uscite_fattura") - rs3("uscite_scontrino")
    
    
    rs3("saldo_progressivo") = saldo_progressivo
    saldo_precedente = saldo_progressivo
    
    rs3.movenext
    
    rs.Update
    
    loop
    
    rs.Close
    
    Set rs = Nothing
    
    conn.close
    
    Set conn = Nothing
    
    %>
    
    
    
    
    
    
    <% response.Redirect("visCassaCorrente.asp?sede=" & sede & "&mese=" & mese & "&anno=" & anno) %>
    
    </body>
    </html>
    Cè qualcuno che saprebbe aiutarmi?

  3. #3
    se prima fai la .movenext e poi la . update... ci credo che ti aggiorna solo l'ultimo

    inverti i comandi

  4. #4
    Originariamente inviato da optime
    se prima fai la .movenext e poi la . update... ci credo che ti aggiorna solo l'ultimo

    inverti i comandi

    Scusa avevo postato la pagina di inserimento al posto di quella di modifica ^^' ora è giusto ^^'

  5. #5

  6. #6
    Mi genera questo errore:

    Microsoft OLE DB Provider for ODBC Drivers error '80040e21'

    Multiple-step OLE DB operation generated errors. Check each OLE DB status value, if available. No work was done.

  7. #7
    Ho trovato l' errore...

    Stavo cercando di modificare il campo ID ( che è numerazione automatica ) quando non potevo.

    Ora ho modificato il tutto ma è come se non funzionasse la query:

    codice:
    sql3 = "SELECT * FROM t_dettagli WHERE sede = '" & sede & "' & ID >" & ID
    Perchè facendo stampare le variabili non stampa quelle all' interno del ciclo do while:

    codice:
    set rs3 = conn.execute(sql3)
    
    Set rs3 = Server.CreateObject("ADODB.Recordset")
    
    Set rs3.ActiveConnection = conn
    
    rs3.Open sql3 ,conn,3,3
    
    
    do while not rs3.EOF 
    
    	saldo_progressivo = 0
    	saldo_progressivo1 = saldo_precedente + rs3("importo_entrate")
    	response.Write("saldo_progressivo1: " & saldo_progressivo1 & "
    ")
    	saldo_progressivo = saldo_progressivo1 - rs3("uscite_fattura") - rs3("uscite_scontrino")
    	response.Write("saldo_progressivo: " & saldo_progressivo & "
    ")
    
    rs3("saldo_progressivo") = saldo_progressivo
    
    saldo_precedente = saldo_progressivo
    
    rs3.Update
    
    rs3.movenext
    
    
    
    loop

  8. #8
    sei sicuro che questa query

    sql3 = "SELECT * FROM t_dettagli WHERE sede = '" & sede & "' & ID >" & ID

    restituisca dati?

  9. #9
    Originariamente inviato da optime
    sei sicuro che questa query

    sql3 = "SELECT * FROM t_dettagli WHERE sede = '" & sede & "' & ID >" & ID

    restituisca dati?
    Si perchè se guardi il codice è praticamente uguale a quella che cè sopra ( sql2 )

    codice:
     sql2 = "SELECT * FROM t_dettagli WHERE sede = '" & sede & "' AND pagina =" & pagina & "AND ID=" & ID
    ha semplicemente una condizione in meno e al posto dell' ID uguale deve cercare solo quelli maggiori...

    Considera che la modifica la sto effettuando su una tabella che al momento ha 3 righe e in particolare seleziono la prima.

  10. #10
    io me ne accerterei comunque (IF rs.EOF Then Response.write "trovato nulla" ELSE ...)


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.