Newsgroup: it.comp.appl.access
Titolo: nz e null chi le conosce bene?

ho iniziato a vedere la funzione nz
se ho capito bene quando in un campo trova  null
1) restituisce o 0 se campo numerico
2) o stringa di lunghezza zero se campo di tipo testo
3) esatto?
4)oppure il tipo di campo non è determinante cioè
restituisce entrambi i valori poi dipende dal confronto che io faccio
5) inoltre che significa stringa di lunghezza zero?
negli esempi mette un " ", cioè c'è uno spazio tra le virgolette
6) ma è anche stringa di lungezza zero: "  ", cioè se ho 2 spazi
7) ma è anche stringa di lungezza zero "" cioè nessuno spazio
8) e se questo caso non è stringa di lungezza zero cos'è null
inoltre ho visto che null in un campo si ha quando mancano i dati (e qui
capisco)
oppure quando i dati sono sconosciuti.
9)Cioè quali sono i dati sconosciuti



Allora Nz come hai detto tu ti restituisce 0 oppure "" rispettivamente
se si tratta di un numero oppure di una stringa.
La differenza fra stringa di lunghezza zero e null è questa:
Immaginati una maschera con delle caselle di testo che fanno
riferimento a dei campi di tipo testo.
Nel momento in cui accedi alla casella di testo diventa "" (stringa
lungh. zero) altrimenti è null.
Io infatti in VBA non uso più la funzone ISNull ma esclusivamente nz.
La stringa vuota è data da "". Senza spazi in mezzo.
Personalmente se lo utilizzoin una query io gli forzo il valore da
restituire perchè a volte dei valori numerici li considerà testo
(soprattutto quando fai delle union all)
Quindi puoi usare la funzione nz in questo modo nz(Campo,0)
fornzandolo a mettere uno zero quando trova un null. Se la usi nel
query edito devi usare il punto e virgola.
Ciao ciao
Basetta

 9)Cioè quali sono i dati sconosciuti
Esempio
Quando fai un join esterno per esempio tra due tabelle e prendi campi di uno
e dell'altra; quando non c'è corrispondenza i campi dell'altra tabella
vengono null
Antonio

 query edito devi usare il punto e virgola.
5) query edit sarebbe il codice sql
grazie per info adesso ho le idee più chiare

 Questa è lunghezza 0
1)allora sulla guida c'è un errore?
  perche dice che stringa lunghezza zero con l'esempio " " c'è uno spazio tra le
virgolette
1a) se quindi stringa lunghezza zero "" senza spazi; quella con uno spazio come
riportata
in guida cos'è una stringa normale con un carattere spazio?
rigrazie per tutte le info e chiarimenti postati

 in guida cos'è una stringa normale con un carattere spazio?
E' una stringa composta da un carattere solo: spazio
Antonio

 Sulla guida dove? Giusto per controllare...
Dalla Guida   (Access 97)
vai su scheda Trova
digiti dentro
1- Digitare la parola o le parole da cercare
nz
poi su 2-  Selezionare alcune parole corrispondenti per limitare la ricerca
c'è solo Nz e la selezioni
poi su 3 Fare clic su un argomento, quindi scegliere Visualizza
clicchi su Funzione Nz
e ti riporto la prima riga
È possibile utilizzare la funzione Nz per restituire zero, una stringa a
lunghezza zero (" ") o un altro valore
mi sono anche ricopiato in word per vedere se c'era lo spazio e c'era
Qindi l'errore c'è.
Adesso ho approfondito la ricerca ed ho visto che invece su:
Esempio di funzione Nz è giusto
praticamente clicchi 2 righe sopra a Funzione Nz
…. del codice
varRisultato = IIf(Nz(ctl.Value) = "",
mah! si deve proprio spulciare e rispulciare la guida
a proposito di guida ce ne ho un'altra
e ti ho messo anche a confronto (tanto vinci tu :-) )
post di oggi lun ore circa 19.30

 nz
Hai ragione, c'è lo spazio dentro ed è un errore!
Diciamo che il concetto di stringa vuota è un classico dell'informatica,
soprattutto per chi ha programmato in C
Antonio