Pagina 1 di 6 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 56
  1. #1

    Periodo di date nel mese

    Ciao, come si fa con ASP ad escludere i giorni NON lavorativi quando si registra un periodo di date in un mese?

    Ad esempio: ieri venerdì ho registrato che sarò in ferie dal 05 maggio al 23 maggio; dall' inserimento nel db mysql devo evitare ( per il periodo date ) che si registrino anche i giorni che ricadono di sabato e di domenica cioè i gg. 10, 11, 17, 18, 24 e 25.

    Questo è il codice di registrazione nel db mysql:

    codice:
     strDataPresenza = request.form("DataPresenza")
    
     for k = 0 to DateDiff("d", Date(), strDataPresenza)
    
        strDataPeriodo = DateAdd("d", Date(), k)
    
        sql = " INSERT INTO tbl ( DataOperazione ) VALUES ( '" & strDataPeriodo & "' ) "
        cn.Execute sql
    
     next
    Sapreste aiutarmi ?
    Grazie

  2. #2
    La funzione weekday() restituisce il numero del giorno della settimana dove 1 corrisponde a domenica e 7 corrisponde a sabato. A questo punto, facendo un controllo sulla data se weekday() restituisce un numero maggiore di 1 ed inferiore di 7 allora sarà una data da prendere in considerazione.

  3. #3
    Originariamente inviato da Domenix
    La funzione weekday() restituisce il numero del giorno della settimana dove 1 corrisponde a domenica e 7 corrisponde a sabato. A questo punto, facendo un controllo sulla data se weekday() restituisce un numero maggiore di 1 ed inferiore di 7 allora sarà una data da prendere in considerazione.
    Grazie, un esempio pratico x capire meglio.

    Ho scritto così:

    codice:
     strDataPresenza = request.form("DataPresenza")
    
     for k = 0 to DateDiff("d", Date(), strDataPresenza)
    
        strDataPeriodo = DateAdd("d", Date(), k)
    
    
    
    	 response.write Date() & "
    " & strDataPresenza & "
    " & Weekday(Date()) & "
    " & Weekday(strDataPresenza) & "
    
    "
    
    sql = " INSERT INTO tbl ( DataOperazione ) VALUES ( '" & strDataPeriodo & "' ) "
        cn.Execute sql
    
     next
    Stampa questo, e sembra giusto secondo quello che mi hai detto...:

    Data inizio = 03/05/2008
    Data fine = 31/05/2008
    numero del giorno della settimana Data inizio = 7 ( sabato 03/05/2008 )
    numero del giorno della settimana Data fine = 6 ( venerdì 31/05/2008 )
    Poi non ho capito il resto...

  4. #4
    codice:
    if weekday(variabileData) > 1 and weekday(variabileData) < 7 then
    ' inserisco la data nel db
    end if

  5. #5
    Originariamente inviato da Domenix
    codice:
    if weekday(variabileData) > 1 and weekday(variabileData) < 7 then
    ' inserisco la data nel db
    end if
    Si grazie, ma nel mio caso la variabiledata può essere una quando registro oggi per oggi, ma sono due quando registro oggi x un periodo...

  6. #6
    Secondo me per ogni giorno di ferie dovresti memorizzare un record.

  7. #7
    Originariamente inviato da Domenix
    Secondo me per ogni giorno di ferie dovresti memorizzare un record.
    E' già così...

  8. #8
    Il controllo che ti ho mostrato devi inserirlo dentro al ciclo che va dalla data inizio alla data fine.
    Esempio:
    codice:
    dal = "02/05/2008"
    al = "12/05/2008"
    data = dal
    
    while not data > al
      if weekday(data) > 1 and weekday(data) < 7 then
        sql = "INSERT INTO tabella1(campo) VALUES('" & data & "')"
        cn.execute(sql)
      end if
      data = dateAdd("d",1,data)
    wend

  9. #9
    Scusa non avevo capito bene... adesso si va bene... grazie

    Ho un altro problema però: è vero che il tuo codice non inserisce sabato e domenica nella tabella, ma per evitare l'inserimento anche delle festività di calendario riconosciute legalmente, cioè queste, come si fa ?

    codice:
    01. gen Capodanno
    06. gen Epifania
        lun Lunedì di Pasqua 
    25. apr Liberazione Italia   
    01. mag Festa del lavoro 
    02. giu Festa della Repubblica Italia    
    15. ago Assunzione  
    01. nov Ognissanti 
    08. dic Immacolata Concezione 
    25. dic Natale 
    26. dic Santo Stefano

  10. #10
    Utente di HTML.it L'avatar di Mizushi
    Registrato dal
    Aug 2005
    Messaggi
    1,125
    Scusate se mi intrometto...

    ma provando il codice suggerito da Domenix mi sono accorto che questo codice registra le date all'infinito... ho dovuto stoppare lo script ASP manualmente e nel db mi sono ritrovato con le date che partono dal 02/05/2008... sino al 02/05/5339 prima di stoppare lo script...

    Sicuri che funziona ?

    codice:
    dal = "02/05/2008"
    al = "12/05/2008"
    
    data = dal
    
    while not data > al
    
      if weekday(data) > 1 and weekday(data) < 7 then
      
        SQL = "INSERT INTO tabella1 ( dataoperazione ) VALUES ( " & formatDBDate(data, "mysql") & " )"
        connCount.execute(SQL)
            
             response.write SQL &"
    
    "
        
      end if
      
      data = dateAdd("d", 1, data)
      
      
    wend
    A me non sembra....

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.