Newsgroup: it.comp.appl.access
Titolo: DATA is null?

Ciao,
ho un campo data che voglio controllare per definire se ï¿œ vuoto... 
perchï¿œ non posso usare isnull(data)?
Anche se ï¿œ vuoto non dï¿œ nessun esito!!!!
era:
if isnull(data) then msgbox("Errore", ecc ecc)
Non si puï¿œ usare isnull su una data?
Grazie mille
Marco

 Marco
Ciao Marco, a prescindere che IsNull(Data) è esatto, spieghi meglio
che codice usi per determinare se il campo è vuoto? Parlando di campo
ti riferirai sicuramente ad una tabella o ad una query.
Ciao Vladimiro.

 Ciao Vladimiro.
Scusa,
parlavo di un controllo in una maschera!
Su evento Dopo aggiornamento di un controllo testo con origine un campo 
data di una tabella, voglio controllare che il controllo non sia 
lasciato vuoto e mosttrare un msg popup che blocchi l'esecuzione fin 
quando non viene inserita una data!
Grazie
Marco

 Marco
Ciao Marco,
vai in struttura della maschera e su Prima di aggiornare inserisci:
If IsNull(Me.Data) Then
MsgBox "Attenzione, la casella di testo " & Data.Name & " è vuota!",
vbCritical
Cancel = True
Exit Sub
End If
cambia il nome Data con il nome vero della tua casella di testo.
Se vuoi permettere l'uscita senza inserire la data, ma riportando i
dati come erano prima, dopo Cancel=True inserisci Undo.
Ciao Vladimiro.

 Ciao Vladimiro.
Cavolo!
Grazie... ma perch� nel dopo aggiornamento non funziona?
Marco

 Marco
Perch� non utilizzi la propriet� TAG dei controlli?
Ti passo questo codice che esegue un ciclo su tutti i controlli della tua
maschera che debbono essere valorizzati (combo e txt). Poi nell'evento
Dopo Aggiornamento dei controlli richiami la SUB.
'----------------------
' Procedure : Controlla
' Date      : 25/03/2009
' Purpose   : Cicla su i controlli per verificare se siano valorizzati
'----------------------
Sub Controlla()
Dim ctl As Control
For Each ctl In Me.Controls
       If ctl.Tag = "OBBL" Then
            With ctl
                  If .Visible And (.ControlType = acComboBox Or
ControlType = acTextBox) Then
                        .BackColor = 8454143
                           If IsNull(.Value) Or .Value = "" Then
                                 .BackColor = 255
                                 'MsgBox "Inserire i dati mancanti nel
campo", vbExclamation, "AVVISO"
                                 .SetFocus
                                 Set ctl = Nothing
                                 DoCmd.CancelEvent
                                 Exit Sub
                           End If
                  End If
            End With
      End If
Next
Set ctl = Nothing
End Sub
Se poi vuoi leggere qualcosa in particolare su gli eventi vedi:
http://www.accessgroup.it/HomeArgomenti.asp?ID=99&Oggetto2=Traduzioni
 : MS
Access 2000...
Capitolo 5 (rispondere agli eventi)
--
sv
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 Marco
Ciao Marco, come pretendi di bloccare l'uscità sull'evento dopo
aggiornamento se la casella di testo è vuota? Dopo aggiornamento
significa: dopo che hai inserito dei dati nella casella della data,
controlla che non vengano poi cancellati lasciando la stessa  vuota.
Altra cosa è sull'evento uscita dalla casella di testo. In questo caso
però devi valutare tu se è il caso in quanto anche senza implementare
il record, se attivi la suddetta casella senza inserire la data, il
codice non ti fa uscire.
If IsNull(Me.Data) Then
MsgBox "Attenzione, la casella di testo " & Data.Name & " è vuota!"
DoCmd.CancelEvent
End If
Ciao Vladimiro