Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    66

    Cancellazzione record se data > 180 giorni

    salve a tutti avrei un piccolo problemino da porvi..

    ho la necessità di eliminare tutti i record in un database la cui differenza fra la data di iserimento e la data attuale si maggiore di 180...

    come potrei procedere??

    ekko il codice ke ho elaborato ed ovviamente nn funziona


    dim conn2
    dim rs2

    set conn2 = Server.CreateObject("ADODB.Connection")
    Conn2.Open "Provider = Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("mdb-database/annunci.mdb")


    sq2l="Delete * from annunci where data DATEDIFF(d,data,date())>180"
    Set rs2=conn2.Execute(sql2)

    conn2.Close

  2. #2
    prova a fare cosi:

    scorri la tab annunci
    salvi il Id_Ann
    salvi la data annuncio e la confronti
    se datediff(d,data_annuncio,date())>180
    ---> Delete * FROM Annunci WHERE Id_Annuncio=Id_Ann

    dovrebbe funzionare

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    66
    mi sa ke in questo modo non potrà mai funzionare!!

    se apro una tabelle e la faccio scorrere fino alla sua fine,nel momento in cui elimino un record la fine non corrisponde +......

    ci sono altre proposte??

  4. #4
    per riportare il recordset all'inizio senza doverne creare un altro puoi fare
    rs.MoveFirst

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    66
    ok ragazzi potete farmi un esempio

  6. #6
    Secondo me potrebbe andare bene così:

    codice:
    SELECT * FROM Tabella
    WHERE DataInserimento <= DATEDIFF("d", 180, DATE())
    in questo modo gli dici di prendere tutti i record in cui la data di inserimento è inferiore a 180 giorni a partire dalla data di oggi...

    fai prima la select così vedi se ti prende i risultati che vuoi, se poi va bene la trasformi in DELETE

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    66
    neanche questa soluzione è andata a buon fine!!

    Chi sa veramente aiutarmi??

  8. #8
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Che db usi?
    Come hai memorizzato la data?

    Roby

  9. #9
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Calcoli la data di 180 giorni fa e fai la query usando quella...

    dateRif = dateadd("D",-180,Date())

    dateDb="#"&month(dateRif)&"-"&day(dateRif)&"-"&year(dateRif)&"#"

    sql = "delete from tabella where datainserimento<="&dateDb

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

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.