Bloccare un campo Si/No se un campo data è vuoto

di il
5 risposte

Bloccare un campo Si/No se un campo data è vuoto

Ciao a tutti, sto ancora lavorando al mio database ed è da ore che faccio a pugni con un codice vba che sermbra semplice ma mi sta esasperando. In una maschera basata su query voglio che i recond nei quali data vendita=null la casella saldato venga bloccata. Io ho usato questo codice:
Private Sub Form_Open(Cancel As Integer)
If IsNull([DATA VENDITA]) Then
[SALDATO].Locked = True
End If
End Sub
Ecco, funziona... troppo! Blocca tutte le caselle saldato, anche quelle dei recond in cui data vendita =is not Null

5 Risposte

  • Re: Bloccare un campo Si/No se un campo data è vuoto

    riccardozack ha scritto:


    ...
    Private Sub Form_Open(Cancel As Integer)
    If IsNull([DATA VENDITA]) Then
    [SALDATO].Locked = True
    End If
    End Sub
    Ecco, funziona... troppo! Blocca tutte le caselle saldato, anche quelle dei recond in cui data vendita =is not Null
    Maschera continua? Altra cosa da verificare: Null o stringa a lunghezza zero? Attento a quale valore può assumere quel campo.
    Oppure
    If len([DATA VENDITA] & "") = 0 Then
  • Re: Bloccare un campo Si/No se un campo data è vuoto

    Maschera continua? Altra cosa da verificare: Null o stringa a lunghezza zero? Attento a quale valore può assumere quel campo.
    Oppure
    If len([DATA VENDITA] & "") = 0 Then
    Si è maschera continua. Non capisco bene la differenza tra Null e stringa a lunghezza zero. Io intendo che nel campo non ci sia ancora niente, che non sia ancora scritta una data. Comunque inizio a credere che il problema non sia dovuto all'uso di IsNull o len, entrambe funzionano allo stesso modo, anche la tua mi dà lo stesso problema. Addirittura ho provato a cambiare la if in:
    If ([RESTITUITO].Value=-1) then
    ...
    Dove restituito è un altro campo si/no. Il risultato è uguale a prima: blocca tutte le caselle Saldato, anche quelle dei record in cui la condizione non è soddisfatta.
  • Re: Bloccare un campo Si/No se un campo data è vuoto

    riccardozack ha scritto:


    Si è maschera continua.
    In maschera continua questo sistema "non funziona" perché si estende a tutti i record. Oppure... non so se si può fare su "Su corrente".

    riccardozack ha scritto:


    Non capisco bene la differenza tra Null e stringa a lunghezza zero. Io intendo che nel campo non ci sia ancora niente, che non sia ancora scritta una data
    IsNull di un valore Null restituisce True, IsNull di una stringa a lunghezza zero "" restituisce False.
    ([DATA VENDITA] & "")
    ti permette di non curarti (in questa sede, ma devi comunque sapere la differenza e come trattarle) del fatto che sia un valore Null e una stringa a lunghezza zero, perché in entrambi i casi il risultato sarà a sua volta una stringa a lunghezza zero.

    riccardozack ha scritto:


    Addirittura ho provato a cambiare la if in:
    If ([RESTITUITO].Value=-1) then
    ...
    Dove restituito è un altro campo si/no. Il risultato è uguale a prima: blocca tutte le caselle Saldato, anche quelle dei record in cui la condizione non è soddisfatta
    Per questo discorso vedi quanto espresso all'inizio per il fatto che si tratta di una maschera a visualizzazione continua
  • Re: Bloccare un campo Si/No se un campo data è vuoto

    Philcattivocarattere ha scritto:


    riccardozack ha scritto:


    Si è maschera continua.
    In maschera continua questo sistema "non funziona" perché si estende a tutti i record. Oppure... non so se si può fare su "Su corrente".
    Cosa mi consigli allora? La visualizzazione che mi serve è maschere continue.
  • Re: Bloccare un campo Si/No se un campo data è vuoto

    riccardozack ha scritto:


    Philcattivocarattere ha scritto:


    riccardozack ha scritto:


    Si è maschera continua.
    In maschera continua questo sistema "non funziona" perché si estende a tutti i record. Oppure... non so se si può fare su "Su corrente".
    Cosa mi consigli allora? La visualizzazione che mi serve è maschere continue.
    Di aspettare qualche altro utente più ferrato (e nel frattempo cercare informazioni su Null e stringa a lunghezza zero)
Devi accedere o registrarti per scrivere nel forum
5 risposte