Newsgroup: it.comp.appl.access
Titolo: Casella di controllo riempita automaticamente

Ho una tabella con una "Data" e un campo si/no.
Se la "Data" è antecedente di sei mesi dalla data corrente,
il campo deve registrare "si".
Nella maschera, una volta immessa la Data, vorrei che
automaticamente nella casella di controllo risultasse il segno di "spunta"
e che fosse registrato nella tabella.
Grazie.

 e che fosse registrato nella tabella.
Utilizza la stessa funzione usata nella precedente WHERE... se non ci riesci
riposta.
Però ti consiglio nuovamente di lasciar perdere questo sistema. Magari spiega
che cosa vuoi poi ottenere con questo campo.
Ciao. Claudio.

 WHERE (((DateAdd("m",6,[MiaData]))<Now()));
Scusa, mi è scappato! Tutto per non dare dei nomi significativi ai campi...
UPDATE MiaTabella SET MiaTabella.SiNo = True
WHERE (((DateAdd("m",6,[MiaData]))<Now()));
Ciao. Claudio.

"Giorgio" <gfar...@M.hotmit> ha scritto nel messaggio news:EdBp9.33794$Fz.9...@news1.tin.it...

Ciao,
nel codice della routine evento AfterUpdate (DopoAggiornamento) del controllo Data puoi mettere:
    me![ControlloSiNo]=DateDiff("m",format(Me![ControlloData],"mm/dd/yyyy"),date())>6
Ciao,
Mat


Semplicemente una specie di "avviso", <Occhio, sono passati sei mesi !>,
ma senza msgbox che rallenti lo scorrere dei record (cosa che, per provare,
sono riuscito a fare da solo, nonostente sia un niubbonissimo).
Ciò che non mi riesce è far apparire il segno di spunta nella casella di
controllo
quando la data immessa, o già presente (la casella è aggiunta ad un db già
esistente),
è sei mesi indietro alla data corrente.
Spero di essere stato più chiaro e ti ringrazio.
Giorgio

 sono riuscito a fare da solo, nonostente sia un niubbonissimo).
Allora dammi retta, lascia perdere la tabella. Ti crei un bel controllo
Etichetta chiamato Avviso in cui ci scrivi "Occhio, sono passati sei mesi!", lo
sistemi dove più ti piace, lo colori di rosso, etc. Dopodiché nell'evento Su
corrente del form scrivi una cosa semplice tipo:
Private Sub Form_Current()
Avviso.Visible = Nz(DateAdd("m", 6, [MiaData]) < Now())
End Sub
mettilo anche nell'evento Prima di aggiornare del tuo controllo data se vuoi
che salti fuori anche introducendo una data in un nuovo record... p.e.:
Private Sub MiaData_BeforeUpdate(Cancel As Integer)
Avviso.Visible = Nz(DateAdd("m", 6, [MiaData]) < Now())
End Sub
Ciao. Claudio.

 Ciao. Claudio.
Allora: io ho già cento record con date immesse. Quando apro la form
vorrei mi apparisse spuntata la famosa checkbox nel caso di >180gg ca.
Ho scritto dunque (FONTE Potone):
Private Sub Form_Current()
 If (Date - [Data_I]) > 186 Then
    Me![CasellaControllo] = DateDiff("d", Format(Me![Data_I], "dd/mm/yyyy"),
Date) > 186
[Ho modificato leggermente la fonte altrimenti non segnala i sei mesi
precisi alla giornata
ma come se il giorno non ci fosse, ovvero oggi il 31/3 spunta, il 1/4 no
finché non
modifico la data di sistema al 1/11. Solo che non è precisissimo e non
ricordo la sintassi per il calcolo preciso...se non ricordo male c'è
qualcosa
sul sito ?]
  ElseIf IsNull(Me!Data_I) Then
    Me![CasellaControllo] = Null
  Else: Me![CasellaControllo] = Null
  End If
End Sub
E pare che funga.
Sui record che già sono immessi appare la spunta
Sui dati senza data la casella appare inattiva
Appena si immette la data segnala il tutto, nel caso.
Ti ringrazio.

 Mat
Grazie davvero.

 sul sito ?]
Dipende cosa intendi per sei mesi... la tua formula scatta dopo 186 giorni, che
c'entra con 6 mesi?
La formula che ti avevo postato fin da subito non ti piace?
Nz(DateAdd("m", 6, [MiaData]) < Now())
Ciao. Claudio.

 Nz(DateAdd("m", 6, [MiaData]) < Now())
Figurati...è che non l'ho ancora provata e sto cercando di capire
la sintassi di quella di Potone :(
Volendo mantenere una casella di controllo del tipo spunta
e non un controllo etichetta uso le stesse sintassi cambiando
il tipo di controllo ?
Ciao, Giorgio.

 il tipo di controllo ?
Ma non fai prima a provare? E fidati di me... con il DateDiff non ne esci.
Ciao. Claudio.