Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Trasformare un campo Null di Query in 0

3,061 views
Skip to first unread message

Roberto Morelli

unread,
Nov 5, 1998, 3:00:00 AM11/5/98
to
Qualcuno mi sa dire come faccio a trasformare in zero i campi che risultano
vuoti (Null) in una query dove non necessariamente gli ordini in uscita
corrispondono a quelli in entrata ? Infatti se il campo risulta Null non lo
posso sommare, se invece mi desse zero allora si.
Spero che qualcuno mi sappia dare un'idea.
Roberto

Roberto Morelli

unread,
Nov 5, 1998, 3:00:00 AM11/5/98
to

Roberto Morelli

unread,
Nov 5, 1998, 3:00:00 AM11/5/98
to

Cristiano De Pasquale

unread,
Nov 5, 1998, 3:00:00 AM11/5/98
to Roberto Morelli

Roberto Morelli wrote:

Con una query di update:

UPDATE MiaTabella
SET Attributo=0
WHERE IsNull(Attributo);

Prova cosi'...
Cris

Roberto Morelli

unread,
Nov 5, 1998, 3:00:00 AM11/5/98
to

Michele Thiella

unread,
Nov 5, 1998, 3:00:00 AM11/5/98
to
Puoi modificare il modo di fare le somme usando un test per vedere se il
campo è Null o no e quindi sommare 0 (zero) o il valore del campo: il tutto
è un po' più lungo del solito ma ti evita i problemi dei campi null. Ti
faccio un esempio:

Supponi di dover sommare due campi di una query che chiamiamo Valore1 e
Valore2 e a priori non sai quale può essere Null.

Crea un campo calcolato nella query stessa dove sommerai i due campi
succitati usando "anche" la funzione iif (IF immediato); nell'intestazione
della nuova colonna dovresti scrivere:

Totale: iif(IsNull([Valore1]);0;[Valore1]) +
iif(IsNull([Valore2]);0;[Valore2])

In generale ogni addendo è una funzione "IIF" che restituisce zero se il
campo è Null altrimenti restituisce il valore del campo.

Spero di esserti stato di aiuto e chiaro, altrimenti scrivimi.

Saluti,
Michele ;-)

Alex63

unread,
Nov 5, 1998, 3:00:00 AM11/5/98
to

Cristiano De Pasquale ha scritto:

> Con una query di update:
>
> UPDATE MiaTabella
> SET Attributo=0
> WHERE IsNull(Attributo);
>
> Prova cosi'...
> Cris

Puoi anche usare la funzione di conversione di valori Null NZ() lasciando
inalterata la tabella.

Direttamente dall'Help di Access97 copio e incollo:

Sub VerificaValore ()
Dim frm As Form, ctl As Control
Dim varRisultato As Variant

' Restituisce la variabile di oggetto Form che punta alla maschera Ordini.
Set frm = Forms!Ordini
' Restituisce la variabile di oggetto Control che punta a ZonaDestinatario.
Set ctl = frm!ZonaDestinatario
' Sceglie il risultato in base al valore del controllo.
varRisultato = IIf(Nz(ctl.Value) = "", "Nessun valore", "Il valore è" &
ctl.Value)
' Visualizza il risultato.

MsgBox varRisultato
End Sub

Però cacchio!!! Leggetelo l'help no?

--

Saluti

-----------------------------------------------------------------------------------------------

Alex E-Mail: alexf63...@usa.net
Per rispondere direttamente rimuovere "-nospam-" dall'indirizzo
di E-Mail
-----------------------------------------------------------------------------------------------


Roberto Morelli

unread,
Nov 5, 1998, 3:00:00 AM11/5/98
to

Federico Luciani

unread,
Nov 6, 1998, 3:00:00 AM11/6/98
to
Roberto Morelli ha scritto:

Se il problema e' solo nella visualizzazione (esecuzione)
della query, quindi non ti interessa modificare fisicamente
i valori null in 0, puoi usare la funzione NZ che serve
proprio a questo.
Nella query invece di inserire il campo 'pippo' (quello
contenente i valori nulli), scrivi

newpippo: NZ([pippo];0)

newpippo sara' la nuova intestazione del campo.

Federico
fluc...@tin.it

Walter

unread,
Nov 6, 1998, 3:00:00 AM11/6/98
to
Prova a leggerti l'help alla voce nz
ciao

AntoGal

unread,
Nov 6, 1998, 3:00:00 AM11/6/98
to
Roberto Morelli ha scritto nel messaggio
<71t5eg$bu2$1...@fe1.cs.interbusiness.it>...

>Qualcuno mi sa dire come faccio a trasformare in zero i campi che risultano
>vuoti (Null) in una query dove non necessariamente gli ordini in uscita

Ti hanno già risposto in molti: usa la funzione Nz() oppure imposta che il
valore predefinito per il campo sia 0, in tal modo ogni nuovo record avrà
zero al posto di Null, se non diversamente specificato.

P.S. io mi aspettavo che Antonio Biso suggerisse intanto di settare i
timeout, forse ancora non ha visto questo thread :-))))

--

Ciao, AntoGal

*************************************************
Home Page (area programmatori di VolFtp)
http://volftp.tin.it/italiani/galletta/
per scaricare un gioco di DAMA ITALIANA
*************************************************


Lbo da casa

unread,
Nov 6, 1998, 3:00:00 AM11/6/98
to
>Qualcuno mi sa dire come faccio a trasformare in zero i campi che risultano
>vuoti (Null) in una query dove non necessariamente gli ordini in uscita

vedi sull'help nv (o era nz?)

ø*°`°*ø,ļ_ļ,ø*°`°*ø,ļ_ļ,ø*°`°*ø,ļ_ļ,øø*°`°*ø,ļ_ļ,ø*°`°*ø,ļ_ļ,ø*°`°*ø,ļ_ļ,ø
non vi offendete se non rispondo ad email di
richieste tecniche. piuttosto postatele sul ng!
ø*°`°*ø,ļ_ļ,ø*°`°*ø,ļ_ļ,ø*°`°*ø,ļ_ļ,øø*°`°*ø,ļ_ļ,ø*°`°*ø,ļ_ļ,ø*°`°*ø,ļ_ļ,ø

my opinions do not necessarily have to be true.

ø*°`°*ø,ļ_ļ,ø*°`°*ø,ļ_ļ,ø*°`°*ø,ļ_ļ,øø*°`°*ø,ļ_ļ,ø*°`°*ø,ļ_ļ,ø*°`°*ø,ļ_ļ,ø
per rispondermi rimuovere NOSPAM. dall'indirizzo email
to answer me remove NOSPAM. from email address
ø*°`°*ø,ļ_ļ,ø*°`°*ø,ļ_ļ,ø*°`°*ø,ļ_ļ,øø*°`°*ø,ļ_ļ,ø*°`°*ø,ļ_ļ,ø*°`°*ø,ļ_ļ,ø


Lbo da casa

unread,
Nov 6, 1998, 3:00:00 AM11/6/98
to
>In generale ogni addendo č una funzione "IIF" che restituisce zero se il
>campo č Null altrimenti restituisce il valore del campo.

michele, non vorrei darti una delusione ma vai a vedere nv (o nz)
sull'help... :-)

fa praticamente la cosa che dici tu.

Michele Thiella

unread,
Nov 8, 1998, 3:00:00 AM11/8/98
to
>michele, non vorrei darti una delusione ma vai a vedere nv (o nz)
>sull'help... :-)
>
>fa praticamente la cosa che dici tu.

Moan, moan, hai ragione! Con Access non si finisce mai di imparare...e di
leggere l'help.

Saluti,
Michele ;-)

Antonio Biso

unread,
Nov 9, 1998, 3:00:00 AM11/9/98
to
AntoGal <har...@freenet.hut.fi> scritto nell'articolo
<720317$khc$2...@hermes.iol.it>...

> P.S. io mi aspettavo che Antonio Biso suggerisse intanto di settare i
> timeout, forse ancora non ha visto questo thread :-))))

:-D

E' che ogni 10 scrausi, ne risparmio uno...

Antonio

0 new messages