Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it L'avatar di [trodat]
    Registrato dal
    Oct 2004
    Messaggi
    2,135

    Problema con aggiornamento tabelle

    Ciao a tutti.

    Ho un dubbio sul quale vorrei un vs. parere; ho una tabella come quella dell'img inviata in allegato, che ho chiamato "generale".

    Potrebbe succedere, ad esempio, che il numero previsto per la colonna 2007 possa cambiare a favore della colonna 2006, cioè passare da 17 a 16 e conseguentemente la colonna 2006 passare da 7 a 8.

    Questa modifica avviene cambiando la data di un record contenuto in una seconda tabella (a proposito il db è Access) che ho chiamato "secondaria"; come faccio con asp a far capire al sistema che deve aggiornare la tabella generale se nella tabella secondaria cambio la data in un determinato record?

    Grazie
    Lo Stato dà un posto. L’impresa privata dà un lavoro. – Indro Montanelli

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

    Re: Problema con aggiornamento tabelle

    Originariamente inviato da [trodat]
    Ciao a tutti.

    Ho un dubbio sul quale vorrei un vs. parere; ho una tabella come quella dell'img inviata in allegato, che ho chiamato "generale".

    Potrebbe succedere, ad esempio, che il numero previsto per la colonna 2007 possa cambiare a favore della colonna 2006, cioè passare da 17 a 16 e conseguentemente la colonna 2006 passare da 7 a 8.

    Questa modifica avviene cambiando la data di un record contenuto in una seconda tabella (a proposito il db è Access) che ho chiamato "secondaria"; come faccio con asp a far capire al sistema che deve aggiornare la tabella generale se nella tabella secondaria cambio la data in un determinato record?

    Grazie
    Immagini allegate Immagini allegate
    Lo Stato dà un posto. L’impresa privata dà un lavoro. – Indro Montanelli

  3. #3
    Utente di HTML.it L'avatar di [trodat]
    Registrato dal
    Oct 2004
    Messaggi
    2,135
    Mi sono spiegato male?
    Lo Stato dà un posto. L’impresa privata dà un lavoro. – Indro Montanelli

  4. #4
    Utente di HTML.it L'avatar di [trodat]
    Registrato dal
    Oct 2004
    Messaggi
    2,135
    up
    Lo Stato dà un posto. L’impresa privata dà un lavoro. – Indro Montanelli

  5. #5
    VVoVe: VVoVe: VVoVe: VVoVe: VVoVe:

    non capito gnente

  6. #6
    Utente di HTML.it L'avatar di Lak3d
    Registrato dal
    Aug 2006
    Messaggi
    1,031
    come faccio con asp a far capire al sistema che deve aggiornare la tabella generale se nella tabella secondaria cambio la data in un determinato record?
    In Access non esistono i trigger (almenoo credo), altrimenti sarebbe tutto molto semplice...
    Devi eseguire la UPDATE dal codice ASP e una volta eseguita porre una variabile flag del tipo DataAggiornata con un valore booleano o 1/0... a questo punto, nelle righe ASP successive, dovrai crearti un if di controllo sulla variabile booleana e di conseguenza se è True fai un UPDATE dei valori...

  7. #7
    Utente di HTML.it L'avatar di [trodat]
    Registrato dal
    Oct 2004
    Messaggi
    2,135
    Originariamente inviato da optime
    VVoVe: VVoVe: VVoVe: VVoVe: VVoVe:

    non capito gnente

    Mi spiego meglio e semplifico

    Colonna_2006 = 7
    Colonna_2007 = 17
    Colonna_2008 = 6

    Se devo spostare un'unità da Colonna_2007 (-1, quindi da 17 diventano 16) a favore di colonna_2006 ( +1, quindi da 7 diventano 8), come posso fare quest'operazione con ASP?
    Lo Stato dà un posto. L’impresa privata dà un lavoro. – Indro Montanelli

  8. #8
    Utente di HTML.it L'avatar di Lak3d
    Registrato dal
    Aug 2006
    Messaggi
    1,031
    Originariamente inviato da [trodat]
    Se devo spostare un'unità da Colonna_2007 (-1, quindi da 17 diventano 16) a favore di colonna_2006 ( +1, quindi da 7 diventano 8), come posso fare quest'operazione con ASP?
    Scusa, ma hai letto quello che ti ho scritto?
    Se devi basarti in base al'update della data nella tabella secondaria fai come ti ho detto usando una variabile che ti specifica quando viene cambiata la data (quello che avviene con un trigger AFTER UPDATE):

    codice:
    SQL=UPDATE Tabella_Secondaria SET(Data=#NyovaData#)
    DataAggiornata=True
    
    If (DataAggiornata) then
       Set rs=Conn.OpenRecordset("Tabella")
       Val1=rs("2006")
       Val2=rs("2007")
       SQL="UPDATE Nome_Tabella SET (Colonna_2007=" & Val2-1 & ", Colonna_2006=" & Val1+1 & ")"
    End if

  9. #9
    Utente di HTML.it L'avatar di [trodat]
    Registrato dal
    Oct 2004
    Messaggi
    2,135
    Originariamente inviato da Lak3d
    Scusa, ma hai letto quello che ti ho scritto?
    Se devi basarti in base al'update della data nella tabella secondaria fai come ti ho detto usando una variabile che ti specifica quando viene cambiata la data (quello che avviene con un trigger AFTER UPDATE):

    codice:
    SQL=UPDATE Tabella_Secondaria SET(Data=#NyovaData#)
    DataAggiornata=True
    
    If (DataAggiornata) then
       Set rs=Conn.OpenRecordset("Tabella")
       Val1=rs("2006")
       Val2=rs("2007")
       SQL="UPDATE Nome_Tabella SET (Colonna_2007=" & Val2-1 & ", Colonna_2006=" & Val1+1 & ")"
    End if
    Scusa ma ero fermo alla risposta di Optime

    Comunque avrei risolto così, spero si possa ottimizzare:

    codice:
    'RECUPERO ID RECORD IN QUERYSTRING
    strID = request.querystring("ID")
    
    'RECUPERO DAL FORM L'ANNO PREVISTO
    strData_prevista = request.form("Data_prevista")
    
    'RECUPERO DAL FORM L'ANNO EFFETTIVO
    strData_effettiva = request.form("Data_effettiva")
    
    'RECUPERO IL NUMERO DI UNITA' DA MOVIMENTARE
    strN = request.form("n")
    
    'AGGIORNO LA TABELLA SECONDARIA
    strSQL = "UPDATE TBL_SEC set ... where id = "& strID
    conn.execute StrSQL
    
    'ESEGUO LA QUERY DI SELEZIONE SULLA TABELLA GENERALE
    sSQL = "select * FROM TBL_GEN where id = "& strID
    Set rs = server.CreateObject("ADODB.Recordset") 
    rs.Open sSQL, conn, 3, 3
    
    
    'SE DATA EFFETTIVA E' UGUALE A 2006
    if strData_effettiva = 2006 then
    S_mov = rs("2006") + (strN)
    
    Sql = "UPDATE TBL_GEN set "
    Sql = Sql & " 2006 = "& S_mov &" "
    Sql = Sql & " where id = "& strID
    
    'SE DATA EFFETTIVA E' UGUALE A 2007
    ElseIf strData_effettiva = 2007 then
    S_mov = rs("2007") + (strN)
    
    Sql = "UPDATE Prog_Petersen set "
    Sql = Sql & " 2007 = "& S_mov &" "
    Sql = Sql & " where id = "& strID
    
    'SE DATA EFFETTIVA E' UGUALE A 2008
    ElseIf strData_effettiva = 2008 then
    S_mov = rs("2008") + (strN)
    
    Sql = "UPDATE Prog_Petersen set "
    Sql = Sql & " 2008 = "& S_mov &" "
    Sql = Sql & " where id = "& strID
    
    End if
    
    'SE DATA PREVISTA E' 2006
    if strData_prevista = 2006 then
    S_mov = rs("2006") - (strN)
    
    SQLL = "UPDATE TBL_GEN set "
    SQLL = SQLL & " 2006 = "& S_mov &" "
    SQLL = SQLL & " where id = "& strID
    
    ElseIf strData_prevista = 2007 then
    S_mov = rs("2007") - (strN)
    
    SQLL = "UPDATE TBG_GEN set "
    SQLL = SQLL & " 2007 = "& S_mov &" "
    SQLL = SQLL & " where id = "& strID
    
    ElseIf strData_prevista = 2008 then
    S_mov = rs("2008") - (strN)
    
    SQLL = "UPDATE TBL_GEN set "
    SQLL = SQLL & " 2008 = "& S_mov &" "
    SQLL = SQLL & " where id = "& strID
    
    End if
    
    'ESECUZIONE DELLE DUE QUERY
    conn.execute Sql
    conn.execute Sqll
    
    'CHIUDO E DISTRUGGO RS
    rs.Close
    Set rs = Nothing
    
    'CHIUDO E DISTRUGGO CONNESSIONE
    conn.Close
    Set conn = Nothing
    Lo Stato dà un posto. L’impresa privata dà un lavoro. – Indro Montanelli

  10. #10
    son contento che tu abbia risolto. tanto non avevo capito GNente comunque

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.