Condividi tramite

CAMPI DATA VUOTI

Anonimo
2013-06-28T14:32:14+00:00

Ho una form con alcuni campi data. Alcuni campi contengono una data, altri sono vuoti. Ogni record contiene un flag abbinato al campo data. Sotto ad un Pulsante ho messo una routine che mi scansiona, record dopo record, tutti i campi data. Se il campo data è pieno deve mettere il flag, se è vuoto niente flag.

La parte di codice che ho usato è:

....

If me.CampoData = Null then

me.Flag=False

Else

me.Flag=True

End If

In esecuzione mette il Flag a tutti i campi (compresi quelli vuoti). Come faccio a spiegargli la differenza fra data piena e data vuota?

Grazie.

(v.Access2000)

Microsoft 365 e Office | Access | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2013-06-28T15:46:07+00:00

Ciao luigix73,

prova con


If Len(Me.CampoData & vbNullString) = 0 Then

Me.Flag=False

Else

Me.Flag=True

End If


andrebbe comunque implementato una verifica su cosa viene scritto nei controlli data per evitare, ad esempio, che vengano scritte lettere o stringhe non rappresentanti date

David

La risposta è stata utile?

0 commenti Nessun commento

3 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2013-06-29T10:40:20+00:00

    Grazie David, così è ok.

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2013-06-28T15:23:48+00:00

    Mimmo, ti ringrazio cmq, però anche con IsEmpty non distingue i campi con data da quelli senza.

    Anche nel modo seguente non ho risolto:

    If nz(me.CampoData,0) = 0 then

    me.Flag=False

    Else

    me.Flag=True

    End If

    Per risolvere ho dovuto fare in questo modo:

    nella QueryOrigine della Form, il campo contenente le date si chiama DUM. Ho creato un secondo campo XM: Iif([Dum] Between #01/01/2013# And #31/12/2013#;[dum];0)

    In questo modo funziona ma, nella Form, mi popola i campi data vuoti con 00:00:00.

    Penso che ci sia una soluzione più semplice ma non ci arrivo.

    Ciao.

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2013-06-28T14:54:08+00:00

    Ciao Luigi,

    non ricordo se nella tua versione di Access esisteva ma prova con

    If IsEmpty(me.CampoData) then

    me.Flag=False

    Else

    me.Flag=True

    End If

    Ciao Mimmo

    La risposta è stata utile?

    0 commenti Nessun commento