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 ubbicom
    Registrato dal
    Mar 2004
    Messaggi
    1,407

    Calendario eventi [ASP + DB ACCESS]

    Ciao e buon ferragosto a tutti!

    Sto realizzando un calendario eventi tutto scritto in ASP + db access.

    Sono però bloccato su una funzione che non riesco a realizzare; in questo calendario è possibile inserire sino ad un max di 5 eventi giornalieri che possono avere dataInizio e dataFine coincidenti (dunque l'evento ha una durata di un solo giorno ) oppure dataInizio e dataFine differenti (dunque l'evento ha una durata di più giorni).

    Ciò che non mi riesce è l'inserimento di un evento che ha una durata di più giorni; in particolare far memorizzare nei giorni compresi nell'intervallo dataInizio e dataFine dell'evento, l'evento stesso.

    Mi spiego con un esempio:

    - Il giorno 14 agosto inserisco un evento che inizia il 14 agosto e termina il 18 agosto;

    - Quando vado sul calendario, ritrovo l'evento memorizzato soltanto il giorno 14 agosto, mentre nei giorni 15-16-17-18 agosto non ritrovo nulla come se non ci fossero eventi... invece l'evento c'è...

    In sostanza vorrei evitare di scrivere l'evento giorno per giorno...

    Qui trovate il codice di inserimento nel db

    Qui trovate il codice che utilizzo per l'estrazione dal db

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    331
    Ma perche nel database non crei 2 campi "dal" e "al"?

  3. #3
    Utente di HTML.it L'avatar di ubbicom
    Registrato dal
    Mar 2004
    Messaggi
    1,407
    Sono già creati e si chiamano "Duedata" (dataInizio - dal) e "DueData2" (dataFine - al)...

  4. #4
    Utente di HTML.it L'avatar di longline
    Registrato dal
    Sep 2001
    Messaggi
    5,363
    Visto che devi visualizzare il calendario, devi utilizzare il ciclo con cui generi i giorni per controllare di volta in volta se esistono eventi che hanno a che fare con il giorno che stai visualizzando.

    La logica è questa:
    codice:
    SQL = "SELECT * FROM Eventi"
    set objrec = objconn.execute(SQL)
    For Giorno = 1 To NumGiorniMese
      dataDaControllare = Mese & "/" & Giorno & "/" & Anno
      objrec.Filter = "DataInizio <= #" & dataDaControllare & "# AND DataFine >= #" & dataDaControllare & "#"
      If objrec.EOF Then
        ' nessun evento nella data in questione
      Else
        ' eventi nella data in questione
      End If
      objrec.Filter = ""
    Next

  5. #5
    Utente di HTML.it L'avatar di ubbicom
    Registrato dal
    Mar 2004
    Messaggi
    1,407
    grazie, penso d'aver capito... adesso però sto cercando di registrare con un'unica operazione un evento in più giorni ed ho scritto così:
    codice:
    dataS = Year(dtData) &"/"& right("00"&month(dtData),2) &"/"& right("00"&day(dtData),2)
    
    for i = Request.Form("DUEDATE") to Request.Form("DUEDATE2") step 1
      strSql = "INSERT INTO message(Subject,DueDate,DueDate2,DueTime,Content,Lastmodified,intervallo)Values('"&strSUBJECT &"',#" &strDUEDATE &"#,#" &strDUEDATE2 &"#," &strDUEHOUR &",'" &strContent &"',#" &DATE &"#, #" &dataS(i)& "#)"
     next
    ma lo script restituisce:
    Microsoft VBScript runtime error '800a000d'
    Type mismatch: '[string: "15/08/2005"]'
    /messages.asp, line 95
    Non capisco... :master:

  6. #6
    Utente di HTML.it L'avatar di ubbicom
    Registrato dal
    Mar 2004
    Messaggi
    1,407
    L'errore è sulla riga rossa:
    codice:
    FUNCTION dataShort(dtData) 
    dataShort = Year(dtData) &"/"& right("00"&month(dtData),2) &"/"& right("00"&day(dtData),2)
    END FUNCTION 
    
    strDUEDATE  = dataShort(Request.Form("DUEDATE") )
    strDUEDATE2  = dataShort(Request.Form("DUEDATE2"))
    
    for i = strDUEDATE to strDUEDATE2 step 1 
      strSql = "INSERT INTO message (DueDate,DueDate2,IntervalloDate) values (#" &strDUEDATE &"#,#" &strDUEDATE2 &"#, #" &dataShort(i)& "#)"
    objCONN.execute strSql
    next

  7. #7
    Utente di HTML.it L'avatar di longline
    Registrato dal
    Sep 2001
    Messaggi
    5,363
    Non so se si può fare un For con due date...

  8. #8
    Utente di HTML.it L'avatar di ubbicom
    Registrato dal
    Mar 2004
    Messaggi
    1,407
    Originariamente inviato da longline
    Non so se si può fare un For con due date...
    Si può fare ho risolto così:
    codice:
    for i = cDate(strDUEDATE) to cDate(strDUEDATE2) step 1
    Pittuosto perchè nel db se l'intervallo date è 17/08/2005 - 20/08/2005 i recors si registrano così:

    17/08/2005
    18/08/2005
    19/08/2005
    20/08/2005
    20/08/2005
    Cioè con la data finale registrata due volte???

    Grazie!

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    507
    ciao, ho letto il tuo post..
    anche io devo creare un calendario in asp interfacciati con un db..
    sapresti darmi qualche indicazione su dove trovare degli esempi da riadattare?


  10. #10
    Utente di HTML.it L'avatar di viki1967
    Registrato dal
    Feb 2003
    Messaggi
    1,757
    A S P : tutto il resto è noia...
    L I N U X : forse mi "converto"...

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.