Salve. Non sono espertissimo di VB6 però fino ad un paio di anni fa lo usavo comunque. Ora sono un pò arrugginito e avrei bisogno di un aiuto. Dunque: In una tabella di un .mdb ho un campo DATAISCRIZ che contiene record di tipo "testo". Questo campo viene riempito tramite textbox da programma secondo il formato gg/mm/aaaa, ma nel db, ripeto, è un campo di tipo testo e non data. Ora sono costretto - per richiesta del cliente - a modificare il programma in modo che interrogando il db la mia query estragga tutti i record che hanno il campo DATAISCRIZ con una data più vecchia di 12 mesi rispetto alla data attuale ( quella del momento in cui l'utente usa il programma ). Quindi, interrogando oggi 08/01/2006, la query mi deve estrarre tutti i records di quella tabella che presentino il campo DATAISCRIZ che vanno da gennaio 2005 all'indietro ( dic 2004, nov. 2004, ott 2004 ). Questo perchè il cliente vuole sapere chi degli iscritti al suo centro sportivo non è in regola con l'iscrizione ( rispetto al mese corrente ), iscrizione che ovviamente è valida un anno e va rinnovata ogni 12 mesi.
Io avevo fatto così ( "last" è il nome della tabella ):
Dim dtDataattuale as date
dtDataattuale = Date
strSQL = "SELECT * FROM last WHERE DateDiff("m", CDate(DATAISCRIZ), dtDataattuale) > 12"
Set RS = DBArchivio.OpenRecordset(strSQL)
'poi tutto il resto del codice ch visualizza i risultati in una Listview
Il programma mi dà errore ai doppi apici del "mese" della funzione DateDiff. Io credo che la funzione da usare per il mio problema sia proprio DateDiff, ma non so proprio come costruire la query. Quello che interessa come discriminante è il mese ( chi ha rinnovato l'iscrizione 13 mesi fa e oltre è in ritardo, e deve essere visualizzato nella Listview ). Il giorno non è importante.
Grazie dell'aiuto e scusate il poema!