Buonasera, mi auguro di porre bene la mia richiesta.
In pratica ho una tabella tblMemo con 5 campi:
ID----> num. Aut.
Data----> testo breve
Ora----> testo breve
Memo----> testo lungo
Data_Canc----> data/ora
Questi campi li visualizzo attraverso la maschera frmMemo. Al suo interno ho un button INSERISCI che, una volta compilati tutti i campi, attraverso una query vado a scrivere in tabella tblMemo.
Il mio problema è il seguente:
Nella tblMemo, al campo Data_Canc in pratica viene indicata una data. Ad esempio quella di domani.
Dunque, all'evento Open di un'altra maschera, vorrei che tutti i record che riportano nel campo Data_Canc la data fino a domani vengono cancellati quando domani aprirò questa seconda maschera.
In altre parole, io apro la maschera frmMemo, inserisco DATA, ORA, il testo in MEMO, la data di cancellazione in DATA_CANC (ad esempio quella di domani). Premo su INSERISCI e in tabella tblMemo mi comparirà un nuovo record con tutti i dati appena inseriti. Poi ripeto l'operazione altre volte, inserendo dati diversi e date di cancellazione di altri giorni.
Domani vado ad aprire un'altra maschera, non appena la apro, ci deve essere un controllo in tblMemo e se ci sono record che hanno scritto nel campo Data_Canc la data attuale (ovvero quella di domani) allora si dovranno cancellare.
Ho provato così:
Dim rs as DAO.Recordset
Set rs = CurrentDb.OpenRecordset("SELECT ID FROM tblMemo WHERE Data_Canc =" & Date)
While Not rs.EOF
If rs(0) <> "" Then
CurrentDb.Executive "DELETE FROM tblMemo WHERE ID =" & rs(0)
Requery
Else
Exit Sub
End if
rs.MoveNext
Wend
End Sub
Chiaramente non funziona o meglio non fa nulla. Dove sbaglio? La strada è quella giusta o sto cannando?
Grazie