Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    46

    Incrementare/Decrementare ID tabella

    Ciao a tutti! Ho un problema di aggiornamento di una tabella.
    Vorrei incrementare o decrementare di un certo numero fissato (diff) tutti gli ID maggiori di un certo numero (Session("id")).

    Codice PHP:
    Set rsPubAut2 objConn.Execute("SELECT * FROM [Pub-Aut] where Pub > "  Session("id"))
            
    rsPubAut2.close
    rsPubAut2
    .LockType 
    rsPubAut2
    .open
    rsPubAut2
    .MoveFirst
    On Error Resume Next

    If (NOT rsPubAut2.EOF) And (NOT rsPubAut2.BOFThen
        
    do while Not rsPubAut2.eof
            
    if numaut >= cont then
                rsPubAut2
    .Fields("ID").value rsPubAut2.Fields("ID").value diff
            
    else 
                    
    rsPubAut2.Fields("ID").value rsPubAut2.Fields("ID").value diff
            end 
    if
            
    rsPubAut2.MoveNext
        loop
    end 
    if 
    Purtroppo gli ID non vengono aggiornati bene.

    Esiste qualche altro modo per farlo oppure ho sbagliato io qualcosa?

    Grazie

  2. #2
    il campo ID *NON* è un contatore, vero?

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    46
    no è un numero.

  4. #4
    cosa sono e da dove provengono NUMAUT e CONT ?

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    46
    Sono due interi che ho calcolato in precedenza:

    Codice PHP:
    if numaut >= cont then
        diff 
    numaut cont
    else 
        
    diff cont numaut
    end 
    if 
    Mi servono per capire se devo incrementare o decrementare.
    Cmq non sono quello il problema anche perchè ho provato a toglierli e non andava lo stesso.

  6. #6
    oki

    codice:
    if numaut >= cont then 
        diff = numaut - cont
        objConn.Execute("UPDATE [Pub-Aut] SET ID=ID+" & diff & " where Pub > "  & Session("id")) 
    else 
        diff = cont - numaut 
        objConn.Execute("UPDATE [Pub-Aut] SET ID=ID-" & diff & " where Pub > "  & Session("id")) 
    end if
    ho replicato la tua logica. NON SO se sia giusta (lo sai tu).

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    46
    Avevo provato anche io a farlo in SQL ma mi dava l'errore:

    Codice PHP:
    L'apporto modifiche non è riuscito perché si è cercato di duplicare i valori nell'indicenella chiave primaria o nella relazione
    Cmq ho provato a dare io un valore a diff (=5) e a Session("id") (=51) :


    Codice PHP:
    Set rsPubAut2 objConn.Execute("SELECT * FROM [Pub-Aut] where Pub > 51")
    rsPubAut2.close
    rsPubAut2
    .LockType 
    rsPubAut2
    .open
    rsPubAut2
    .MoveFirst
    On Error Resume Next
    If (NOT rsPubAut2.EOF) And  (NOT rsPubAut2.BOFThen
        
    do while Not rsPubAut2.eof
            rsPubAut2
    .Fields("ID").value rsPubAut2.Fields("ID").value 5
            rsPubAut2
    .MoveNext
        loop
    end 
    if
    rsPubAut2.update 
    il risulatato è questo:

    PRIMA:


    DOPO:


    Parte da 183????

    Boh mi sa che riproverò a riguardare il codice!
    Grazie cmq

  8. #8
    ma allora ID è una chiave! ci starei molto attento...

  9. #9
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    46
    eh si!

    ...mi consigli di lasciar perdere?

  10. #10
    e che ne so io. sei tu che sai se ti serve o no. di solito le chiavi non si toccano. ma - ripeto - sei tu che sai.

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.