2 messaggi dal 06 marzo 2001
Buongiorno a tutti... ho un problema devo selezionare da un db, solo i record che hanno data compresa fra oggi -4 giorni e oggi + 4 giorni.

Nel db il campo data è in formato data/ora... ho pensato di usare una select tipo:

SQL = "SELECT * FROM NOTIZIE WHERE NOTIZIE.DATA >"& date -4 &" And NOTIZIE.DATA <" & date +5 & " order by DATA"
...
la sintassi è corretta... ma non ottengo nessun record!

il formato del campo data è identico a quello della data di sistema... come posso fare?


Ciao e grazie

Alessandro

26 messaggi dal 02 agosto 2001
Ciao,
Di solito l'utilizzo di campi formato date nel Db può creare problemi, specialmente durante la select.
Il consiglio che ti posso dare (trà l'altro consigliato anche da Microsoft) è utlizzare un campo char di 8 caratteri dove andrai ad inserire la data nel formato AAAAMMGG .

A questo punto quando esegui la query nella select dovra inserire il testo nel formato AAAAMMGG per fare cio ti basta una funzione semplice come questa:

Function dateToString(DATA)
sAnno = year(DATA)
sMese = right("00" & mounth(DATA),2)
sGiorno = right("00" & day(DATA),2)
dateToStrin = sAnno & sMese & sGiorno
End Function

Naturalmente la variabile DATA può essere da te composta come se fosse una stringa ma deve essere una data valida quindi :
sDal = dateToStrin("01/1/2001")

Quando poi andre a leggere dal DB ti basterà utilizzare questa funzione:

Function StringtoDate(sStringa)
sAnno = Left(sSTringa,4)
sMese = mid(sStringa,5,2)
sGiorno = right(sStringa,2)

dateToStrin = sAnno & "/" & sMese & "/" & sGiorno

End Function



Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.