Discussione:
aiuto divisione con zero ERROR
(troppo vecchio per rispondere)
rino
2009-10-24 21:39:32 UTC
Permalink
Ciao a tutti,

premetto non sono esperto.

ho 1 problema in un report faccio una divisione C=A/B se B è zero su C
di mi esce ERROR anziché zero.
aiutatemi come posso ottenere zero?

grazie tante
rino
Vladimiro Leone
2009-10-25 00:29:07 UTC
Permalink
On 24 Ott, 23:39, "rino" <***@tin.it> wrote:
> Ciao a tutti,
>
> premetto non sono esperto.
>
> ho 1 problema in un report faccio una divisione C=A/B se B è zero su C
> di mi esce ERROR anziché zero.
> aiutatemi come posso ottenere zero?
>
> grazie tante
> rino

Ciao rino, la cosa più giusta secondo me è che se B=0 C dovrebbe
essere uguale al valore A oppure a Null:
C=A/IIf(B<>0,B,Null)

se poi vuoi ottenere C=0 allora:
C=A / IIf(B <> 0, B, A) - 1

Ciao Vladimiro
rino
2009-10-25 06:10:35 UTC
Permalink
"Vladimiro Leone" <***@alice.it> ha scritto nel messaggio
news:d2df9edd-a89b-4aa3-8d4f-***@l33g2000vbi.googlegroups.com...
On 24 Ott, 23:39, "rino" <***@tin.it> wrote:
> Ciao a tutti,
>
> premetto non sono esperto.
>
> ho 1 problema in un report faccio una divisione C=A/B se B è zero su C
> di mi esce ERROR anziché zero.
> aiutatemi come posso ottenere zero?
>
> grazie tante
> rino

Ciao rino, la cosa più giusta secondo me è che se B=0 C dovrebbe
essere uguale al valore A oppure a Null:
C=A/IIf(B<>0,B,Null)

se poi vuoi ottenere C=0 allora:
C=A / IIf(B <> 0, B, A) - 1

Ciao Vladimiro

grazie Vladimiro per la risposta

chiarisco meglio il mio problema:

C=A/B > B è un valore dinamico se contiene es. da 1 in poi non mi da
errore se contiene zero mi da l'errore che ti ho detto.
quindi, vorrei in questo caso, che il risultato di C fosse zero e non
errore.

grazie

rino
Antonio
2009-10-25 06:31:21 UTC
Permalink
"rino" <***@tin.it> ha scritto nel messaggio
news:4ae3ebd8$0$1095$***@reader3.news.tin.it...
>
> "Vladimiro Leone" <***@alice.it> ha scritto nel messaggio
> news:d2df9edd-a89b-4aa3-8d4f-***@l33g2000vbi.googlegroups.com...
> On 24 Ott, 23:39, "rino" <***@tin.it> wrote:
>> Ciao a tutti,
>>
>> premetto non sono esperto.
>>
>> ho 1 problema in un report faccio una divisione C=A/B se B è zero su C
>> di mi esce ERROR anziché zero.
>> aiutatemi come posso ottenere zero?
>>
>> grazie tante
>> rino
>
> Ciao rino, la cosa più giusta secondo me è che se B=0 C dovrebbe
> essere uguale al valore A oppure a Null:
> C=A/IIf(B<>0,B,Null)
>
> se poi vuoi ottenere C=0 allora:
> C=A / IIf(B <> 0, B, A) - 1
>
> Ciao Vladimiro
>
> grazie Vladimiro per la risposta
>
> chiarisco meglio il mio problema:
>
> C=A/B > B è un valore dinamico se contiene es. da 1 in poi non mi da
> errore se contiene zero mi da l'errore che ti ho detto.
> quindi, vorrei in questo caso, che il risultato di C fosse zero e non
> errore.
>
> grazie
>
> rino
>
>
Forse Vladimiro ha tralasciato qualcosa.
Non so dove vuoi mettere questa istruzione, ma su un controllo sul report
credo che potrebbe andare bene così:
=iif (b<>0;C=A/B;C=0)

Ciao
Antonio
rino
2009-10-25 07:13:24 UTC
Permalink
"Antonio" <***@tiscali.it> ha scritto nel messaggio
news:4ae3f0bc$0$692$***@news.tiscali.it...
>
> "rino" <***@tin.it> ha scritto nel messaggio
> news:4ae3ebd8$0$1095$***@reader3.news.tin.it...
>>
>> "Vladimiro Leone" <***@alice.it> ha scritto nel messaggio
>> news:d2df9edd-a89b-4aa3-8d4f-***@l33g2000vbi.googlegroups.com...
>> On 24 Ott, 23:39, "rino" <***@tin.it> wrote:
>>> Ciao a tutti,
>>>
>>> premetto non sono esperto.
>>>
>>> ho 1 problema in un report faccio una divisione C=A/B se B è zero su
>>> C
>>> di mi esce ERROR anziché zero.
>>> aiutatemi come posso ottenere zero?
>>>
>>> grazie tante
>>> rino
>>
>> Ciao rino, la cosa più giusta secondo me è che se B=0 C dovrebbe
>> essere uguale al valore A oppure a Null:
>> C=A/IIf(B<>0,B,Null)
>>
>> se poi vuoi ottenere C=0 allora:
>> C=A / IIf(B <> 0, B, A) - 1
>>
>> Ciao Vladimiro
>>
>> grazie Vladimiro per la risposta
>>
>> chiarisco meglio il mio problema:
>>
>> C=A/B > B è un valore dinamico se contiene es. da 1 in poi non mi da
>> errore se contiene zero mi da l'errore che ti ho detto.
>> quindi, vorrei in questo caso, che il risultato di C fosse zero e non
>> errore.
>>
>> grazie
>>
>> rino
>>
>>
> Forse Vladimiro ha tralasciato qualcosa.
> Non so dove vuoi mettere questa istruzione, ma su un controllo sul
> report credo che potrebbe andare bene così:
> =iif (b<>0;C=A/B;C=0)
>
> Ciao
> Antonio



io ho questo: C = [A]/[B] se racchiudo tutto in 2 solo parentesi ()
es. antonio, mi da errorre, se lascio quelle quadre se metto l'una e
l'altra mi da sempre l'errore
ho messo =IIf([B]<>0;[C]=0) mi sempre l'errore

scusatemi x l'imbranamento

rino
Antonio
2009-10-25 07:38:54 UTC
Permalink
"rino" <***@tin.it> ha scritto nel messaggio
news:4ae3faa5$0$1103$***@reader3.news.tin.it...
>
> "Antonio" <***@tiscali.it> ha scritto nel messaggio
> news:4ae3f0bc$0$692$***@news.tiscali.it...
>>
>> "rino" <***@tin.it> ha scritto nel messaggio
>> news:4ae3ebd8$0$1095$***@reader3.news.tin.it...
>>>
>>> "Vladimiro Leone" <***@alice.it> ha scritto nel messaggio
>>> news:d2df9edd-a89b-4aa3-8d4f-***@l33g2000vbi.googlegroups.com...
>>> On 24 Ott, 23:39, "rino" <***@tin.it> wrote:
>>>> Ciao a tutti,
>>>>
>>>> premetto non sono esperto.
>>>>
>>>> ho 1 problema in un report faccio una divisione C=A/B se B è zero su C
>>>> di mi esce ERROR anziché zero.
>>>> aiutatemi come posso ottenere zero?
>>>>
>>>> grazie tante
>>>> rino
>>>
>>> Ciao rino, la cosa più giusta secondo me è che se B=0 C dovrebbe
>>> essere uguale al valore A oppure a Null:
>>> C=A/IIf(B<>0,B,Null)
>>>
>>> se poi vuoi ottenere C=0 allora:
>>> C=A / IIf(B <> 0, B, A) - 1
>>>
>>> Ciao Vladimiro
>>>
>>> grazie Vladimiro per la risposta
>>>
>>> chiarisco meglio il mio problema:
>>>
>>> C=A/B > B è un valore dinamico se contiene es. da 1 in poi non mi da
>>> errore se contiene zero mi da l'errore che ti ho detto.
>>> quindi, vorrei in questo caso, che il risultato di C fosse zero e non
>>> errore.
>>>
>>> grazie
>>>
>>> rino
>>>
>>>
>> Forse Vladimiro ha tralasciato qualcosa.
>> Non so dove vuoi mettere questa istruzione, ma su un controllo sul report
>> credo che potrebbe andare bene così:
>> =iif (b<>0;C=A/B;C=0)
>>
>> Ciao
>> Antonio
>
>
>
> io ho questo: C = [A]/[B] se racchiudo tutto in 2 solo parentesi ()
> es. antonio, mi da errorre, se lascio quelle quadre se metto l'una e
> l'altra mi da sempre l'errore
> ho messo =IIf([B]<>0;[C]=0) mi sempre l'errore
>
> scusatemi x l'imbranamento
>
> rino
>
>
Prova così:
C=iif(B<>0;A/B;0)

Le parentesi quadre puoi metterle oppure no, come vuoi fare tu. Si usano
particolarmente quando il nome di un campo contiene uno spazio in mezzo. Per
es.: [Importo IVA]=[Saldo Imponibile] * [Aliquota IVA]
rino
2009-10-25 08:12:55 UTC
Permalink
"Antonio" <***@tiscali.it> ha scritto nel messaggio
news:4ae40091$0$709$***@news.tiscali.it...
>
> "rino" <***@tin.it> ha scritto nel messaggio
> news:4ae3faa5$0$1103$***@reader3.news.tin.it...
>>
>> "Antonio" <***@tiscali.it> ha scritto nel messaggio
>> news:4ae3f0bc$0$692$***@news.tiscali.it...
>>>
>>> "rino" <***@tin.it> ha scritto nel messaggio
>>> news:4ae3ebd8$0$1095$***@reader3.news.tin.it...
>>>>
>>>> "Vladimiro Leone" <***@alice.it> ha scritto nel messaggio
>>>> news:d2df9edd-a89b-4aa3-8d4f-***@l33g2000vbi.googlegroups.com...
>>>> On 24 Ott, 23:39, "rino" <***@tin.it> wrote:
>>>>> Ciao a tutti,
>>>>>
>>>>> premetto non sono esperto.
>>>>>
>>>>> ho 1 problema in un report faccio una divisione C=A/B se B è zero
>>>>> su C
>>>>> di mi esce ERROR anziché zero.
>>>>> aiutatemi come posso ottenere zero?
>>>>>
>>>>> grazie tante
>>>>> rino
>>>>
>>>> Ciao rino, la cosa più giusta secondo me è che se B=0 C dovrebbe
>>>> essere uguale al valore A oppure a Null:
>>>> C=A/IIf(B<>0,B,Null)
>>>>
>>>> se poi vuoi ottenere C=0 allora:
>>>> C=A / IIf(B <> 0, B, A) - 1
>>>>
>>>> Ciao Vladimiro
>>>>
>>>> grazie Vladimiro per la risposta
>>>>
>>>> chiarisco meglio il mio problema:
>>>>
>>>> C=A/B > B è un valore dinamico se contiene es. da 1 in poi non mi
>>>> da errore se contiene zero mi da l'errore che ti ho detto.
>>>> quindi, vorrei in questo caso, che il risultato di C fosse zero e
>>>> non errore.
>>>>
>>>> grazie
>>>>
>>>> rino
>>>>
>>>>
>>> Forse Vladimiro ha tralasciato qualcosa.
>>> Non so dove vuoi mettere questa istruzione, ma su un controllo sul
>>> report credo che potrebbe andare bene così:
>>> =iif (b<>0;C=A/B;C=0)
>>>
>>> Ciao
>>> Antonio
>>
>>
>>
>> io ho questo: C = [A]/[B] se racchiudo tutto in 2 solo parentesi
>> () es. antonio, mi da errorre, se lascio quelle quadre se metto l'una
>> e l'altra mi da sempre l'errore
>> ho messo =IIf([B]<>0;[C]=0) mi sempre l'errore
>>
>> scusatemi x l'imbranamento
>>
>> rino
>>
>>
> Prova così:
> C=iif(B<>0;A/B;0)
>
> Le parentesi quadre puoi metterle oppure no, come vuoi fare tu. Si
> usano particolarmente quando il nome di un campo contiene uno spazio
> in mezzo. Per es.: [Importo IVA]=[Saldo Imponibile] * [Aliquota IVA]

strano ho provato con C=iif(B<>0;A/B;0) mi da ZERO dove non ho inserito
i numeri, (ho 4 report dinamici con stesse condizioni dove attraverso
la form inserisco i numeri) mentre dove non sono inseriti mi da
predefinito zero

grazie
Antonio
2009-10-25 08:45:12 UTC
Permalink
"rino" <***@tin.it> ha scritto nel messaggio
news:4ae4089d$0$1098$***@reader3.news.tin.it...
>
> "Antonio" <***@tiscali.it> ha scritto nel messaggio
> news:4ae40091$0$709$***@news.tiscali.it...
>>
>> "rino" <***@tin.it> ha scritto nel messaggio
>> news:4ae3faa5$0$1103$***@reader3.news.tin.it...
>>>
>>> "Antonio" <***@tiscali.it> ha scritto nel messaggio
>>> news:4ae3f0bc$0$692$***@news.tiscali.it...
>>>>
>>>> "rino" <***@tin.it> ha scritto nel messaggio
>>>> news:4ae3ebd8$0$1095$***@reader3.news.tin.it...
>>>>>
>>>>> "Vladimiro Leone" <***@alice.it> ha scritto nel messaggio
>>>>> news:d2df9edd-a89b-4aa3-8d4f-***@l33g2000vbi.googlegroups.com...
>>>>> On 24 Ott, 23:39, "rino" <***@tin.it> wrote:
>>>>>> Ciao a tutti,
>>>>>>
>>>>>> premetto non sono esperto.
>>>>>>
>>>>>> ho 1 problema in un report faccio una divisione C=A/B se B è zero su
>>>>>> C
>>>>>> di mi esce ERROR anziché zero.
>>>>>> aiutatemi come posso ottenere zero?
>>>>>>
>>>>>> grazie tante
>>>>>> rino
>>>>>
>>>>> Ciao rino, la cosa più giusta secondo me è che se B=0 C dovrebbe
>>>>> essere uguale al valore A oppure a Null:
>>>>> C=A/IIf(B<>0,B,Null)
>>>>>
>>>>> se poi vuoi ottenere C=0 allora:
>>>>> C=A / IIf(B <> 0, B, A) - 1
>>>>>
>>>>> Ciao Vladimiro
>>>>>
>>>>> grazie Vladimiro per la risposta
>>>>>
>>>>> chiarisco meglio il mio problema:
>>>>>
>>>>> C=A/B > B è un valore dinamico se contiene es. da 1 in poi non mi da
>>>>> errore se contiene zero mi da l'errore che ti ho detto.
>>>>> quindi, vorrei in questo caso, che il risultato di C fosse zero e non
>>>>> errore.
>>>>>
>>>>> grazie
>>>>>
>>>>> rino
>>>>>
>>>>>
>>>> Forse Vladimiro ha tralasciato qualcosa.
>>>> Non so dove vuoi mettere questa istruzione, ma su un controllo sul
>>>> report credo che potrebbe andare bene così:
>>>> =iif (b<>0;C=A/B;C=0)
>>>>
>>>> Ciao
>>>> Antonio
>>>
>>>
>>>
>>> io ho questo: C = [A]/[B] se racchiudo tutto in 2 solo parentesi ()
>>> es. antonio, mi da errorre, se lascio quelle quadre se metto l'una e
>>> l'altra mi da sempre l'errore
>>> ho messo =IIf([B]<>0;[C]=0) mi sempre l'errore
>>>
>>> scusatemi x l'imbranamento
>>>
>>> rino
>>>
>>>
>> Prova così:
>> C=iif(B<>0;A/B;0)
>>
>> Le parentesi quadre puoi metterle oppure no, come vuoi fare tu. Si usano
>> particolarmente quando il nome di un campo contiene uno spazio in mezzo.
>> Per es.: [Importo IVA]=[Saldo Imponibile] * [Aliquota IVA]
>
> strano ho provato con C=iif(B<>0;A/B;0) mi da ZERO dove non ho inserito i
> numeri, (ho 4 report dinamici con stesse condizioni dove attraverso la
> form inserisco i numeri) mentre dove non sono inseriti mi da predefinito
> zero
>
> grazie
>
>
Controlla bene come hai scritto la formula. Poi, procediamo in ordine.
Tu tramite la form hai inserito i numeri (che non so cosa siano) in una
tabella. Suppongo che tu abbia prodotto il report con la creazione guidata
del report. Quindi, immaginando che i tre campi della tabella si chiamino
A,B e C (come nell'esempio), la creazione guidata ha generato il controllo
per l'esposizione del campo C che ha, fra altre cose, le seguenti proprietà:
Nome elemento: C
Origine controllo: C
Ora tu vuoi determinare C in base ai valori inseriti nella tabella per A e
B, quindi quelle proprietà per C le dovrai cambiare così:
Nome elemento: X (o qualsiasi cosa ma diversa da C)
Origine controllo: =iif(B<>0;A/B;0) (senza che prima dell'uguale ci sia la
lettera C)

Ciao
Antonio
rino
2009-10-25 09:16:20 UTC
Permalink
"Antonio" <***@tiscali.it> ha scritto nel messaggio
news:4ae4101b$0$6834$***@news.tiscali.it...
>
> "rino" <***@tin.it> ha scritto nel messaggio
> news:4ae4089d$0$1098$***@reader3.news.tin.it...
>>
>> "Antonio" <***@tiscali.it> ha scritto nel messaggio
>> news:4ae40091$0$709$***@news.tiscali.it...
>>>
>>> "rino" <***@tin.it> ha scritto nel messaggio
>>> news:4ae3faa5$0$1103$***@reader3.news.tin.it...
>>>>
>>>> "Antonio" <***@tiscali.it> ha scritto nel messaggio
>>>> news:4ae3f0bc$0$692$***@news.tiscali.it...
>>>>>
>>>>> "rino" <***@tin.it> ha scritto nel messaggio
>>>>> news:4ae3ebd8$0$1095$***@reader3.news.tin.it...
>>>>>>
>>>>>> "Vladimiro Leone" <***@alice.it> ha scritto nel messaggio
>>>>>> news:d2df9edd-a89b-4aa3-8d4f-***@l33g2000vbi.googlegroups.com...
>>>>>> On 24 Ott, 23:39, "rino" <***@tin.it> wrote:
>>>>>>> Ciao a tutti,
>>>>>>>
>>>>>>> premetto non sono esperto.
>>>>>>>
>>>>>>> ho 1 problema in un report faccio una divisione C=A/B se B è
>>>>>>> zero su C
>>>>>>> di mi esce ERROR anziché zero.
>>>>>>> aiutatemi come posso ottenere zero?
>>>>>>>
>>>>>>> grazie tante
>>>>>>> rino
>>>>>>
>>>>>> Ciao rino, la cosa più giusta secondo me è che se B=0 C dovrebbe
>>>>>> essere uguale al valore A oppure a Null:
>>>>>> C=A/IIf(B<>0,B,Null)
>>>>>>
>>>>>> se poi vuoi ottenere C=0 allora:
>>>>>> C=A / IIf(B <> 0, B, A) - 1
>>>>>>
>>>>>> Ciao Vladimiro
>>>>>>
>>>>>> grazie Vladimiro per la risposta
>>>>>>
>>>>>> chiarisco meglio il mio problema:
>>>>>>
>>>>>> C=A/B > B è un valore dinamico se contiene es. da 1 in poi non mi
>>>>>> da errore se contiene zero mi da l'errore che ti ho detto.
>>>>>> quindi, vorrei in questo caso, che il risultato di C fosse zero e
>>>>>> non errore.
>>>>>>
>>>>>> grazie
>>>>>>
>>>>>> rino
>>>>>>
>>>>>>
>>>>> Forse Vladimiro ha tralasciato qualcosa.
>>>>> Non so dove vuoi mettere questa istruzione, ma su un controllo sul
>>>>> report credo che potrebbe andare bene così:
>>>>> =iif (b<>0;C=A/B;C=0)
>>>>>
>>>>> Ciao
>>>>> Antonio
>>>>
>>>>
>>>>
>>>> io ho questo: C = [A]/[B] se racchiudo tutto in 2 solo
>>>> parentesi () es. antonio, mi da errorre, se lascio quelle quadre se
>>>> metto l'una e l'altra mi da sempre l'errore
>>>> ho messo =IIf([B]<>0;[C]=0) mi sempre l'errore
>>>>
>>>> scusatemi x l'imbranamento
>>>>
>>>> rino
>>>>
>>>>
>>> Prova così:
>>> C=iif(B<>0;A/B;0)
>>>
>>> Le parentesi quadre puoi metterle oppure no, come vuoi fare tu. Si
>>> usano particolarmente quando il nome di un campo contiene uno spazio
>>> in mezzo. Per es.: [Importo IVA]=[Saldo Imponibile] * [Aliquota IVA]
>>
>> strano ho provato con C=iif(B<>0;A/B;0) mi da ZERO dove non ho
>> inserito i numeri, (ho 4 report dinamici con stesse condizioni dove
>> attraverso la form inserisco i numeri) mentre dove non sono inseriti
>> mi da predefinito zero
>>
>> grazie
>>
>>
> Controlla bene come hai scritto la formula. Poi, procediamo in ordine.
> Tu tramite la form hai inserito i numeri (che non so cosa siano) in
> una tabella. Suppongo che tu abbia prodotto il report con la creazione
> guidata del report. Quindi, immaginando che i tre campi della tabella
> si chiamino A,B e C (come nell'esempio), la creazione guidata ha
> generato il controllo per l'esposizione del campo C che ha, fra altre
> cose, le seguenti proprietà:
> Nome elemento: C
> Origine controllo: C
> Ora tu vuoi determinare C in base ai valori inseriti nella tabella per
> A e B, quindi quelle proprietà per C le dovrai cambiare così:
> Nome elemento: X (o qualsiasi cosa ma diversa da C)
> Origine controllo: =iif(B<>0;A/B;0) (senza che prima dell'uguale ci
> sia la lettera C)
>
> Ciao
> Antonio


scusami Antonio se insisto, ma mi da sempre l'errore dove calcolo,
PRECISO che il calcolo C lo faccio nella casella di testo del report in
riferimento a 2 caselle del report stesso che contengono numeri
calcolati dalla Form.
nella casella di testo scrivendo la formula compreso la tua, ma mi da
ERRORE mentre negli altri 3 report che non contengono i numeri mi da
predefinito lo zero

non so se sono stato chiaro nell'esprimermi

grazie per la pazienza

rino
Antonio
2009-10-25 09:47:16 UTC
Permalink
>>> [cut]
>>>
>> Controlla bene come hai scritto la formula. Poi, procediamo in ordine.
>> Tu tramite la form hai inserito i numeri (che non so cosa siano) in una
>> tabella. Suppongo che tu abbia prodotto il report con la creazione
>> guidata del report. Quindi, immaginando che i tre campi della tabella si
>> chiamino A,B e C (come nell'esempio), la creazione guidata ha generato il
>> controllo per l'esposizione del campo C che ha, fra altre cose, le
>> seguenti proprietà:
>> Nome elemento: C
>> Origine controllo: C
>> Ora tu vuoi determinare C in base ai valori inseriti nella tabella per A
>> e B, quindi quelle proprietà per C le dovrai cambiare così:
>> Nome elemento: X (o qualsiasi cosa ma diversa da C)
>> Origine controllo: =iif(B<>0;A/B;0) (senza che prima dell'uguale ci sia
>> la lettera C)
>>
>> Ciao
>> Antonio
>
>
> scusami Antonio se insisto, ma mi da sempre l'errore dove calcolo, PRECISO
> che il calcolo C lo faccio nella casella di testo del report in
> riferimento a 2 caselle del report stesso che contengono numeri calcolati
> dalla Form.
> nella casella di testo scrivendo la formula compreso la tua, ma mi da
> ERRORE mentre negli altri 3 report che non contengono i numeri mi da
> predefinito lo zero
>
> non so se sono stato chiaro nell'esprimermi
>
> grazie per la pazienza
>
> rino
>
Tranquillo, perdo la pazienza solo con chi è scortese... pensa, riesco a
sopportare persino mia moglie :-)))
Tieni presente che il report lo basi su una tabella (o query), non su una
form. In definitiva, qual è il modus operandi ? Vediamo se indovino. Hai una
tabella con alcuni campi. Aggiorni questi campi mediante una form. Stampi
con un report la tabella aggiornata dalla form. E' così o sbaglio qualcosa ?
Immaginiamo che l'iter sia quello giusto.
Allora nel report o hai valori che rivengono dalla tabella così come sono, o
li calcoli dentro il report stesso, magari basandosi sui valori di qualche
campo di tabella.
Non riesco ad immaginare uno scenario differente. Con questo scenario
dovrebbe funzionare (quindi controlla bene prima di cambiare tattica). Se
dopo tutti i tentativi la soluzione non viene fuori (ma ripeto, se ho
indovinato lo scenario ti deve funzionare per forza), prova a fare in
quest'altro modo.

Inserisci una nuova routine di tipo Function in un modulo (se nel DB non c'è
nessun modulo lo puoi creare adesso) così:

Public Function CalcolaC(CampoA As Integer, CampoB As Integer) As Integer
If Nz(CampoB) = 0 Then CalcolaC = 0
If Nz(CampoB) <> 0 Then CalcolaC = Nz(CampoA) / CampoB
End Function

poi sul tuo report nell'origine controllo di C scrivi:
= CalcolaC (A;B)

ma ricordati che se C è anche un campo della tabella, questo controllo lo
devi rinominare in un modo diverso, magari X come avevo detto
precedentemente.
Però fare così è sicuramente più complicato che cercare sistemare le cose
con l'altro metodo.
rino
2009-10-25 10:08:25 UTC
Permalink
"Antonio" <***@tiscali.it> ha scritto nel messaggio
news:4ae41ea7$0$6838$***@news.tiscali.it...
>>>> [cut]
>>>>
>>> Controlla bene come hai scritto la formula. Poi, procediamo in
>>> ordine.
>>> Tu tramite la form hai inserito i numeri (che non so cosa siano) in
>>> una tabella. Suppongo che tu abbia prodotto il report con la
>>> creazione guidata del report. Quindi, immaginando che i tre campi
>>> della tabella si chiamino A,B e C (come nell'esempio), la creazione
>>> guidata ha generato il controllo per l'esposizione del campo C che
>>> ha, fra altre cose, le seguenti proprietà:
>>> Nome elemento: C
>>> Origine controllo: C
>>> Ora tu vuoi determinare C in base ai valori inseriti nella tabella
>>> per A e B, quindi quelle proprietà per C le dovrai cambiare così:
>>> Nome elemento: X (o qualsiasi cosa ma diversa da C)
>>> Origine controllo: =iif(B<>0;A/B;0) (senza che prima dell'uguale ci
>>> sia la lettera C)
>>>
>>> Ciao
>>> Antonio
>>
>>
>> scusami Antonio se insisto, ma mi da sempre l'errore dove calcolo,
>> PRECISO che il calcolo C lo faccio nella casella di testo del report
>> in riferimento a 2 caselle del report stesso che contengono numeri
>> calcolati dalla Form.
>> nella casella di testo scrivendo la formula compreso la tua, ma mi da
>> ERRORE mentre negli altri 3 report che non contengono i numeri mi da
>> predefinito lo zero
>>
>> non so se sono stato chiaro nell'esprimermi
>>
>> grazie per la pazienza
>>
>> rino
>>
> Tranquillo, perdo la pazienza solo con chi è scortese... pensa, riesco
> a sopportare persino mia moglie :-)))
> Tieni presente che il report lo basi su una tabella (o query), non su
> una form. In definitiva, qual è il modus operandi ? Vediamo se
> indovino. Hai una tabella con alcuni campi. Aggiorni questi campi
> mediante una form. Stampi con un report la tabella aggiornata dalla
> form. E' così o sbaglio qualcosa ?
> Immaginiamo che l'iter sia quello giusto.
> Allora nel report o hai valori che rivengono dalla tabella così come
> sono, o li calcoli dentro il report stesso, magari basandosi sui
> valori di qualche campo di tabella.
> Non riesco ad immaginare uno scenario differente. Con questo scenario
> dovrebbe funzionare (quindi controlla bene prima di cambiare tattica).
> Se dopo tutti i tentativi la soluzione non viene fuori (ma ripeto, se
> ho indovinato lo scenario ti deve funzionare per forza), prova a fare
> in quest'altro modo.
>
> Inserisci una nuova routine di tipo Function in un modulo (se nel DB
> non c'è nessun modulo lo puoi creare adesso) così:
>
> Public Function CalcolaC(CampoA As Integer, CampoB As Integer) As
> Integer
> If Nz(CampoB) = 0 Then CalcolaC = 0
> If Nz(CampoB) <> 0 Then CalcolaC = Nz(CampoA) / CampoB
> End Function
>
> poi sul tuo report nell'origine controllo di C scrivi:
> = CalcolaC (A;B)
>
> ma ricordati che se C è anche un campo della tabella, questo controllo
> lo devi rinominare in un modo diverso, magari X come avevo detto
> precedentemente.
> Però fare così è sicuramente più complicato che cercare sistemare le
> cose con l'altro metodo.

Antonio ti chiedo scusa e ti ringrazio per la pazienza.
l'esempio del mio problema non riguarda solo 3 campi A,B,C ma sono
diversi ma tutti con il criterio identico, quindi se risolvo l'esempio
del mio problema di fatto risolvo anche gli altri. Posso gentilmente
chiederti una risoluzione più semplice dove nella casella di testo (C)
deve contenere zero e non errore se B è zero dopo la divisione C=A/B?

scusami e ti ringrazio farò sicuramente un corso da programmatore.

curiosita sei Antonio che conosco io di B... e tu nativo della S....?

rino
Antonio
2009-10-25 10:23:16 UTC
Permalink
"rino" <***@tin.it> ha scritto nel messaggio
news:4ae423bc$0$1098$***@reader3.news.tin.it...
>
> "Antonio" <***@tiscali.it> ha scritto nel messaggio
> news:4ae41ea7$0$6838$***@news.tiscali.it...
>>>>> [cut]
>>>>>
>>>> Controlla bene come hai scritto la formula. Poi, procediamo in ordine.
>>>> Tu tramite la form hai inserito i numeri (che non so cosa siano) in una
>>>> tabella. Suppongo che tu abbia prodotto il report con la creazione
>>>> guidata del report. Quindi, immaginando che i tre campi della tabella
>>>> si chiamino A,B e C (come nell'esempio), la creazione guidata ha
>>>> generato il controllo per l'esposizione del campo C che ha, fra altre
>>>> cose, le seguenti proprietà:
>>>> Nome elemento: C
>>>> Origine controllo: C
>>>> Ora tu vuoi determinare C in base ai valori inseriti nella tabella per
>>>> A e B, quindi quelle proprietà per C le dovrai cambiare così:
>>>> Nome elemento: X (o qualsiasi cosa ma diversa da C)
>>>> Origine controllo: =iif(B<>0;A/B;0) (senza che prima dell'uguale ci sia
>>>> la lettera C)
>>>>
>>>> Ciao
>>>> Antonio
>>>
>>>
>>> scusami Antonio se insisto, ma mi da sempre l'errore dove calcolo,
>>> PRECISO che il calcolo C lo faccio nella casella di testo del report in
>>> riferimento a 2 caselle del report stesso che contengono numeri
>>> calcolati dalla Form.
>>> nella casella di testo scrivendo la formula compreso la tua, ma mi da
>>> ERRORE mentre negli altri 3 report che non contengono i numeri mi da
>>> predefinito lo zero
>>>
>>> non so se sono stato chiaro nell'esprimermi
>>>
>>> grazie per la pazienza
>>>
>>> rino
>>>
>> Tranquillo, perdo la pazienza solo con chi è scortese... pensa, riesco a
>> sopportare persino mia moglie :-)))
>> Tieni presente che il report lo basi su una tabella (o query), non su una
>> form. In definitiva, qual è il modus operandi ? Vediamo se indovino. Hai
>> una tabella con alcuni campi. Aggiorni questi campi mediante una form.
>> Stampi con un report la tabella aggiornata dalla form. E' così o sbaglio
>> qualcosa ?
>> Immaginiamo che l'iter sia quello giusto.
>> Allora nel report o hai valori che rivengono dalla tabella così come
>> sono, o li calcoli dentro il report stesso, magari basandosi sui valori
>> di qualche campo di tabella.
>> Non riesco ad immaginare uno scenario differente. Con questo scenario
>> dovrebbe funzionare (quindi controlla bene prima di cambiare tattica). Se
>> dopo tutti i tentativi la soluzione non viene fuori (ma ripeto, se ho
>> indovinato lo scenario ti deve funzionare per forza), prova a fare in
>> quest'altro modo.
>>
>> Inserisci una nuova routine di tipo Function in un modulo (se nel DB non
>> c'è nessun modulo lo puoi creare adesso) così:
>>
>> Public Function CalcolaC(CampoA As Integer, CampoB As Integer) As Integer
>> If Nz(CampoB) = 0 Then CalcolaC = 0
>> If Nz(CampoB) <> 0 Then CalcolaC = Nz(CampoA) / CampoB
>> End Function
>>
>> poi sul tuo report nell'origine controllo di C scrivi:
>> = CalcolaC (A;B)
>>
>> ma ricordati che se C è anche un campo della tabella, questo controllo lo
>> devi rinominare in un modo diverso, magari X come avevo detto
>> precedentemente.
>> Però fare così è sicuramente più complicato che cercare sistemare le cose
>> con l'altro metodo.
>
> Antonio ti chiedo scusa e ti ringrazio per la pazienza.
> l'esempio del mio problema non riguarda solo 3 campi A,B,C ma sono diversi
> ma tutti con il criterio identico, quindi se risolvo l'esempio del mio
> problema di fatto risolvo anche gli altri. Posso gentilmente chiederti una
> risoluzione più semplice dove nella casella di testo (C) deve contenere
> zero e non errore se B è zero dopo la divisione C=A/B?
>
> scusami e ti ringrazio farò sicuramente un corso da programmatore.
>
> curiosita sei Antonio che conosco io di B... e tu nativo della S....?
>
> rino
>
>
Non sono quell'Antonio che dici tu, io sono del meridione ma vivo in
Toscana.

Perchè non mi rispondi passo-passo a quell'ipotesi che ho fatto poco fa ?

E' vero che in primis c'è una tabella con dei campi che vengono aggiornati
dal form ?
Se è così, prova a vedere il contenuto dei campi e scrivimi qui sotto quelli
che ti sembrano più significativi. Es.
CampoA CampoB CampoC
10 niente niente
20 5 8
etc. etc.
Poi passiamo al report. Se il report si basa sui campi della tabella non può
darti errore. A meno che è nel report stesso che prima calcoli un controllo
e poi vuoi utilizzare il risultato di questo controllo per calcolarne un
altro... ma questo sistema mi sembra più complicato e non credo che sia il
caso tuo.
rino
2009-10-25 10:46:34 UTC
Permalink
"Antonio" <***@tiscali.it> ha scritto nel messaggio
news:4ae42717$0$700$***@news.tiscali.it...
>
> "rino" <***@tin.it> ha scritto nel messaggio
> news:4ae423bc$0$1098$***@reader3.news.tin.it...
>>
>> "Antonio" <***@tiscali.it> ha scritto nel messaggio
>> news:4ae41ea7$0$6838$***@news.tiscali.it...
>>>>>> [cut]
>>>>>>
>>>>> Controlla bene come hai scritto la formula. Poi, procediamo in
>>>>> ordine.
>>>>> Tu tramite la form hai inserito i numeri (che non so cosa siano)
>>>>> in una tabella. Suppongo che tu abbia prodotto il report con la
>>>>> creazione guidata del report. Quindi, immaginando che i tre campi
>>>>> della tabella si chiamino A,B e C (come nell'esempio), la
>>>>> creazione guidata ha generato il controllo per l'esposizione del
>>>>> campo C che ha, fra altre cose, le seguenti proprietà:
>>>>> Nome elemento: C
>>>>> Origine controllo: C
>>>>> Ora tu vuoi determinare C in base ai valori inseriti nella tabella
>>>>> per A e B, quindi quelle proprietà per C le dovrai cambiare così:
>>>>> Nome elemento: X (o qualsiasi cosa ma diversa da C)
>>>>> Origine controllo: =iif(B<>0;A/B;0) (senza che prima dell'uguale
>>>>> ci sia la lettera C)
>>>>>
>>>>> Ciao
>>>>> Antonio
>>>>
>>>>
>>>> scusami Antonio se insisto, ma mi da sempre l'errore dove calcolo,
>>>> PRECISO che il calcolo C lo faccio nella casella di testo del
>>>> report in riferimento a 2 caselle del report stesso che contengono
>>>> numeri calcolati dalla Form.
>>>> nella casella di testo scrivendo la formula compreso la tua, ma mi
>>>> da ERRORE mentre negli altri 3 report che non contengono i numeri
>>>> mi da predefinito lo zero
>>>>
>>>> non so se sono stato chiaro nell'esprimermi
>>>>
>>>> grazie per la pazienza
>>>>
>>>> rino
>>>>
>>> Tranquillo, perdo la pazienza solo con chi è scortese... pensa,
>>> riesco a sopportare persino mia moglie :-)))
>>> Tieni presente che il report lo basi su una tabella (o query), non
>>> su una form. In definitiva, qual è il modus operandi ? Vediamo se
>>> indovino. Hai una tabella con alcuni campi. Aggiorni questi campi
>>> mediante una form. Stampi con un report la tabella aggiornata dalla
>>> form. E' così o sbaglio qualcosa ?
>>> Immaginiamo che l'iter sia quello giusto.
>>> Allora nel report o hai valori che rivengono dalla tabella così come
>>> sono, o li calcoli dentro il report stesso, magari basandosi sui
>>> valori di qualche campo di tabella.
>>> Non riesco ad immaginare uno scenario differente. Con questo
>>> scenario dovrebbe funzionare (quindi controlla bene prima di
>>> cambiare tattica). Se dopo tutti i tentativi la soluzione non viene
>>> fuori (ma ripeto, se ho indovinato lo scenario ti deve funzionare
>>> per forza), prova a fare in quest'altro modo.
>>>
>>> Inserisci una nuova routine di tipo Function in un modulo (se nel DB
>>> non c'è nessun modulo lo puoi creare adesso) così:
>>>
>>> Public Function CalcolaC(CampoA As Integer, CampoB As Integer) As
>>> Integer
>>> If Nz(CampoB) = 0 Then CalcolaC = 0
>>> If Nz(CampoB) <> 0 Then CalcolaC = Nz(CampoA) / CampoB
>>> End Function
>>>
>>> poi sul tuo report nell'origine controllo di C scrivi:
>>> = CalcolaC (A;B)
>>>
>>> ma ricordati che se C è anche un campo della tabella, questo
>>> controllo lo devi rinominare in un modo diverso, magari X come avevo
>>> detto precedentemente.
>>> Però fare così è sicuramente più complicato che cercare sistemare le
>>> cose con l'altro metodo.
>>
>> Antonio ti chiedo scusa e ti ringrazio per la pazienza.
>> l'esempio del mio problema non riguarda solo 3 campi A,B,C ma sono
>> diversi ma tutti con il criterio identico, quindi se risolvo
>> l'esempio del mio problema di fatto risolvo anche gli altri. Posso
>> gentilmente chiederti una risoluzione più semplice dove nella casella
>> di testo (C) deve contenere zero e non errore se B è zero dopo la
>> divisione C=A/B?
>>
>> scusami e ti ringrazio farò sicuramente un corso da programmatore.
>>
>> curiosita sei Antonio che conosco io di B... e tu nativo della S....?
>>
>> rino
>>
>>
> Non sono quell'Antonio che dici tu, io sono del meridione ma vivo in
> Toscana.
>
> Perchè non mi rispondi passo-passo a quell'ipotesi che ho fatto poco
> fa ?
>
> E' vero che in primis c'è una tabella con dei campi che vengono
> aggiornati dal form ?
> Se è così, prova a vedere il contenuto dei campi e scrivimi qui sotto
> quelli che ti sembrano più significativi. Es.
> CampoA CampoB CampoC
> 10 niente niente
> 20 5 8
> etc. etc.
> Poi passiamo al report. Se il report si basa sui campi della tabella
> non può darti errore. A meno che è nel report stesso che prima calcoli
> un controllo e poi vuoi utilizzare il risultato di questo controllo
> per calcolarne un altro... ma questo sistema mi sembra più complicato
> e non credo che sia il caso tuo.


Si Antonio scusami per passo passo, hai capito bene c'è una tabella con
dei campi che vengono aggiornati
dal form. ma il report si riferisce a una Query della tabella.

gli esempi A,B,C, che tu fai sono esatti, ma sono riferiti a un singolo
calcolo, con lo stesso criterio vi sono nello stesso report altri Campi
D,E,F ecc.
cerco di spiegarmi (spero) il campo A e B sono aggiornati dalla tabella
mentre il Campo C calcola A/B ma se B è ZERO su C mi da ERRORE per
questo dico che se risolvo con il primo esempio risolvo anche gli altri.
non capisco come mai se B contiene un numero superiore a 1 mi da il
risultato giusto invece se contiene ZERO mi da errore
Antonio
2009-10-25 11:05:28 UTC
Permalink
"rino" <***@tin.it> ha scritto nel messaggio
news:4ae42cb0$0$1095$***@reader3.news.tin.it...
>
> "Antonio" <***@tiscali.it> ha scritto nel messaggio
> news:4ae42717$0$700$***@news.tiscali.it...
>>
>> "rino" <***@tin.it> ha scritto nel messaggio
>> news:4ae423bc$0$1098$***@reader3.news.tin.it...
>>>
>>> "Antonio" <***@tiscali.it> ha scritto nel messaggio
>>> news:4ae41ea7$0$6838$***@news.tiscali.it...
>>>>>>> [cut]
>>>>>>>
>>>>>> Controlla bene come hai scritto la formula. Poi, procediamo in
>>>>>> ordine.
>>>>>> Tu tramite la form hai inserito i numeri (che non so cosa siano) in
>>>>>> una tabella. Suppongo che tu abbia prodotto il report con la
>>>>>> creazione guidata del report. Quindi, immaginando che i tre campi
>>>>>> della tabella si chiamino A,B e C (come nell'esempio), la creazione
>>>>>> guidata ha generato il controllo per l'esposizione del campo C che
>>>>>> ha, fra altre cose, le seguenti proprietà:
>>>>>> Nome elemento: C
>>>>>> Origine controllo: C
>>>>>> Ora tu vuoi determinare C in base ai valori inseriti nella tabella
>>>>>> per A e B, quindi quelle proprietà per C le dovrai cambiare così:
>>>>>> Nome elemento: X (o qualsiasi cosa ma diversa da C)
>>>>>> Origine controllo: =iif(B<>0;A/B;0) (senza che prima dell'uguale ci
>>>>>> sia la lettera C)
>>>>>>
>>>>>> Ciao
>>>>>> Antonio
>>>>>
>>>>>
>>>>> scusami Antonio se insisto, ma mi da sempre l'errore dove calcolo,
>>>>> PRECISO che il calcolo C lo faccio nella casella di testo del report
>>>>> in riferimento a 2 caselle del report stesso che contengono numeri
>>>>> calcolati dalla Form.
>>>>> nella casella di testo scrivendo la formula compreso la tua, ma mi da
>>>>> ERRORE mentre negli altri 3 report che non contengono i numeri mi da
>>>>> predefinito lo zero
>>>>>
>>>>> non so se sono stato chiaro nell'esprimermi
>>>>>
>>>>> grazie per la pazienza
>>>>>
>>>>> rino
>>>>>
>>>> Tranquillo, perdo la pazienza solo con chi è scortese... pensa, riesco
>>>> a sopportare persino mia moglie :-)))
>>>> Tieni presente che il report lo basi su una tabella (o query), non su
>>>> una form. In definitiva, qual è il modus operandi ? Vediamo se
>>>> indovino. Hai una tabella con alcuni campi. Aggiorni questi campi
>>>> mediante una form. Stampi con un report la tabella aggiornata dalla
>>>> form. E' così o sbaglio qualcosa ?
>>>> Immaginiamo che l'iter sia quello giusto.
>>>> Allora nel report o hai valori che rivengono dalla tabella così come
>>>> sono, o li calcoli dentro il report stesso, magari basandosi sui valori
>>>> di qualche campo di tabella.
>>>> Non riesco ad immaginare uno scenario differente. Con questo scenario
>>>> dovrebbe funzionare (quindi controlla bene prima di cambiare tattica).
>>>> Se dopo tutti i tentativi la soluzione non viene fuori (ma ripeto, se
>>>> ho indovinato lo scenario ti deve funzionare per forza), prova a fare
>>>> in quest'altro modo.
>>>>
>>>> Inserisci una nuova routine di tipo Function in un modulo (se nel DB
>>>> non c'è nessun modulo lo puoi creare adesso) così:
>>>>
>>>> Public Function CalcolaC(CampoA As Integer, CampoB As Integer) As
>>>> Integer
>>>> If Nz(CampoB) = 0 Then CalcolaC = 0
>>>> If Nz(CampoB) <> 0 Then CalcolaC = Nz(CampoA) / CampoB
>>>> End Function
>>>>
>>>> poi sul tuo report nell'origine controllo di C scrivi:
>>>> = CalcolaC (A;B)
>>>>
>>>> ma ricordati che se C è anche un campo della tabella, questo controllo
>>>> lo devi rinominare in un modo diverso, magari X come avevo detto
>>>> precedentemente.
>>>> Però fare così è sicuramente più complicato che cercare sistemare le
>>>> cose con l'altro metodo.
>>>
>>> Antonio ti chiedo scusa e ti ringrazio per la pazienza.
>>> l'esempio del mio problema non riguarda solo 3 campi A,B,C ma sono
>>> diversi ma tutti con il criterio identico, quindi se risolvo l'esempio
>>> del mio problema di fatto risolvo anche gli altri. Posso gentilmente
>>> chiederti una risoluzione più semplice dove nella casella di testo (C)
>>> deve contenere zero e non errore se B è zero dopo la divisione C=A/B?
>>>
>>> scusami e ti ringrazio farò sicuramente un corso da programmatore.
>>>
>>> curiosita sei Antonio che conosco io di B... e tu nativo della S....?
>>>
>>> rino
>>>
>>>
>> Non sono quell'Antonio che dici tu, io sono del meridione ma vivo in
>> Toscana.
>>
>> Perchè non mi rispondi passo-passo a quell'ipotesi che ho fatto poco fa ?
>>
>> E' vero che in primis c'è una tabella con dei campi che vengono
>> aggiornati dal form ?
>> Se è così, prova a vedere il contenuto dei campi e scrivimi qui sotto
>> quelli che ti sembrano più significativi. Es.
>> CampoA CampoB CampoC
>> 10 niente niente
>> 20 5 8
>> etc. etc.
>> Poi passiamo al report. Se il report si basa sui campi della tabella non
>> può darti errore. A meno che è nel report stesso che prima calcoli un
>> controllo e poi vuoi utilizzare il risultato di questo controllo per
>> calcolarne un altro... ma questo sistema mi sembra più complicato e non
>> credo che sia il caso tuo.
>
>
> Si Antonio scusami per passo passo, hai capito bene c'è una tabella con
> dei campi che vengono aggiornati
> dal form. ma il report si riferisce a una Query della tabella.
>
> gli esempi A,B,C, che tu fai sono esatti, ma sono riferiti a un singolo
> calcolo, con lo stesso criterio vi sono nello stesso report altri Campi
> D,E,F ecc.
> cerco di spiegarmi (spero) il campo A e B sono aggiornati dalla tabella
> mentre il Campo C calcola A/B ma se B è ZERO su C mi da ERRORE per questo
> dico che se risolvo con il primo esempio risolvo anche gli altri.
> non capisco come mai se B contiene un numero superiore a 1 mi da il
> risultato giusto invece se contiene ZERO mi da errore
>
>
In matematica che risultato avresti se tu facessi 123 diviso zero ? Avresti
infinito (non zero). E' per questo che Access si rifiuta di calcolartelo. Ma
tu dici non me ne frega niente, se il divisore è zero il risultato deve
essere zero (in programmazione puoi persino decidere di dare un risultato
non matematicamente corretto). E allora torno a dirti la stessa cosa di
prima. Se C non è un campo di tabella ma un controllo "Casella di testo" che
hai inserito sul report dagli queste proprietà e ti funzionarà sicuramente.
Nome elemento: X1 (l'altro poi X2, l'altro ancora X3 e così via)
Origine controllo: =iif(B<>0;A/B;0)
Se non ti funziona, scrivimi con precisione (meglio se usi il copia/incolla)
queste due proprietà del controllo che hai sul report e dimmi se questo
controllo è associato ad un campo della query oppure no.
In ogni caso aspetto una risposta. Non fare come tanti che, avuta la
risposta risolutiva, non ti dicono neache "ha funzionato".
rino
2009-10-25 11:32:13 UTC
Permalink
"Antonio" <***@tiscali.it> ha scritto nel messaggio
news:4ae430fb$0$6840$***@news.tiscali.it...
>
> "rino" <***@tin.it> ha scritto nel messaggio
> news:4ae42cb0$0$1095$***@reader3.news.tin.it...
>>
>> "Antonio" <***@tiscali.it> ha scritto nel messaggio
>> news:4ae42717$0$700$***@news.tiscali.it...
>>>
>>> "rino" <***@tin.it> ha scritto nel messaggio
>>> news:4ae423bc$0$1098$***@reader3.news.tin.it...
>>>>
>>>> "Antonio" <***@tiscali.it> ha scritto nel messaggio
>>>> news:4ae41ea7$0$6838$***@news.tiscali.it...
>>>>>>>> [cut]
>>>>>>>>
>>>>>>> Controlla bene come hai scritto la formula. Poi, procediamo in
>>>>>>> ordine.
>>>>>>> Tu tramite la form hai inserito i numeri (che non so cosa siano)
>>>>>>> in una tabella. Suppongo che tu abbia prodotto il report con la
>>>>>>> creazione guidata del report. Quindi, immaginando che i tre
>>>>>>> campi della tabella si chiamino A,B e C (come nell'esempio), la
>>>>>>> creazione guidata ha generato il controllo per l'esposizione del
>>>>>>> campo C che ha, fra altre cose, le seguenti proprietà:
>>>>>>> Nome elemento: C
>>>>>>> Origine controllo: C
>>>>>>> Ora tu vuoi determinare C in base ai valori inseriti nella
>>>>>>> tabella per A e B, quindi quelle proprietà per C le dovrai
>>>>>>> cambiare così:
>>>>>>> Nome elemento: X (o qualsiasi cosa ma diversa da C)
>>>>>>> Origine controllo: =iif(B<>0;A/B;0) (senza che prima dell'uguale
>>>>>>> ci sia la lettera C)
>>>>>>>
>>>>>>> Ciao
>>>>>>> Antonio
>>>>>>
>>>>>>
>>>>>> scusami Antonio se insisto, ma mi da sempre l'errore dove
>>>>>> calcolo, PRECISO che il calcolo C lo faccio nella casella di
>>>>>> testo del report in riferimento a 2 caselle del report stesso che
>>>>>> contengono numeri calcolati dalla Form.
>>>>>> nella casella di testo scrivendo la formula compreso la tua, ma
>>>>>> mi da ERRORE mentre negli altri 3 report che non contengono i
>>>>>> numeri mi da predefinito lo zero
>>>>>>
>>>>>> non so se sono stato chiaro nell'esprimermi
>>>>>>
>>>>>> grazie per la pazienza
>>>>>>
>>>>>> rino
>>>>>>
>>>>> Tranquillo, perdo la pazienza solo con chi è scortese... pensa,
>>>>> riesco a sopportare persino mia moglie :-)))
>>>>> Tieni presente che il report lo basi su una tabella (o query), non
>>>>> su una form. In definitiva, qual è il modus operandi ? Vediamo se
>>>>> indovino. Hai una tabella con alcuni campi. Aggiorni questi campi
>>>>> mediante una form. Stampi con un report la tabella aggiornata
>>>>> dalla form. E' così o sbaglio qualcosa ?
>>>>> Immaginiamo che l'iter sia quello giusto.
>>>>> Allora nel report o hai valori che rivengono dalla tabella così
>>>>> come sono, o li calcoli dentro il report stesso, magari basandosi
>>>>> sui valori di qualche campo di tabella.
>>>>> Non riesco ad immaginare uno scenario differente. Con questo
>>>>> scenario dovrebbe funzionare (quindi controlla bene prima di
>>>>> cambiare tattica). Se dopo tutti i tentativi la soluzione non
>>>>> viene fuori (ma ripeto, se ho indovinato lo scenario ti deve
>>>>> funzionare per forza), prova a fare in quest'altro modo.
>>>>>
>>>>> Inserisci una nuova routine di tipo Function in un modulo (se nel
>>>>> DB non c'è nessun modulo lo puoi creare adesso) così:
>>>>>
>>>>> Public Function CalcolaC(CampoA As Integer, CampoB As Integer) As
>>>>> Integer
>>>>> If Nz(CampoB) = 0 Then CalcolaC = 0
>>>>> If Nz(CampoB) <> 0 Then CalcolaC = Nz(CampoA) / CampoB
>>>>> End Function
>>>>>
>>>>> poi sul tuo report nell'origine controllo di C scrivi:
>>>>> = CalcolaC (A;B)
>>>>>
>>>>> ma ricordati che se C è anche un campo della tabella, questo
>>>>> controllo lo devi rinominare in un modo diverso, magari X come
>>>>> avevo detto precedentemente.
>>>>> Però fare così è sicuramente più complicato che cercare sistemare
>>>>> le cose con l'altro metodo.
>>>>
>>>> Antonio ti chiedo scusa e ti ringrazio per la pazienza.
>>>> l'esempio del mio problema non riguarda solo 3 campi A,B,C ma sono
>>>> diversi ma tutti con il criterio identico, quindi se risolvo
>>>> l'esempio del mio problema di fatto risolvo anche gli altri. Posso
>>>> gentilmente chiederti una risoluzione più semplice dove nella
>>>> casella di testo (C) deve contenere zero e non errore se B è zero
>>>> dopo la divisione C=A/B?
>>>>
>>>> scusami e ti ringrazio farò sicuramente un corso da programmatore.
>>>>
>>>> curiosita sei Antonio che conosco io di B... e tu nativo della
>>>> S....?
>>>>
>>>> rino
>>>>
>>>>
>>> Non sono quell'Antonio che dici tu, io sono del meridione ma vivo in
>>> Toscana.
>>>
>>> Perchè non mi rispondi passo-passo a quell'ipotesi che ho fatto poco
>>> fa ?
>>>
>>> E' vero che in primis c'è una tabella con dei campi che vengono
>>> aggiornati dal form ?
>>> Se è così, prova a vedere il contenuto dei campi e scrivimi qui
>>> sotto quelli che ti sembrano più significativi. Es.
>>> CampoA CampoB CampoC
>>> 10 niente niente
>>> 20 5 8
>>> etc. etc.
>>> Poi passiamo al report. Se il report si basa sui campi della tabella
>>> non può darti errore. A meno che è nel report stesso che prima
>>> calcoli un controllo e poi vuoi utilizzare il risultato di questo
>>> controllo per calcolarne un altro... ma questo sistema mi sembra più
>>> complicato e non credo che sia il caso tuo.
>>
>>
>> Si Antonio scusami per passo passo, hai capito bene c'è una tabella
>> con dei campi che vengono aggiornati
>> dal form. ma il report si riferisce a una Query della tabella.
>>
>> gli esempi A,B,C, che tu fai sono esatti, ma sono riferiti a un
>> singolo calcolo, con lo stesso criterio vi sono nello stesso report
>> altri Campi D,E,F ecc.
>> cerco di spiegarmi (spero) il campo A e B sono aggiornati dalla
>> tabella mentre il Campo C calcola A/B ma se B è ZERO su C mi da
>> ERRORE per questo dico che se risolvo con il primo esempio risolvo
>> anche gli altri.
>> non capisco come mai se B contiene un numero superiore a 1 mi da il
>> risultato giusto invece se contiene ZERO mi da errore
>>
>>
> In matematica che risultato avresti se tu facessi 123 diviso zero ?
> Avresti infinito (non zero). E' per questo che Access si rifiuta di
> calcolartelo. Ma tu dici non me ne frega niente, se il divisore è zero
> il risultato deve essere zero (in programmazione puoi persino decidere
> di dare un risultato non matematicamente corretto). E allora torno a
> dirti la stessa cosa di prima. Se C non è un campo di tabella ma un
> controllo "Casella di testo" che hai inserito sul report dagli queste
> proprietà e ti funzionarà sicuramente.
> Nome elemento: X1 (l'altro poi X2, l'altro ancora X3 e così via)
> Origine controllo: =iif(B<>0;A/B;0)
> Se non ti funziona, scrivimi con precisione (meglio se usi il
> copia/incolla) queste due proprietà del controllo che hai sul report e
> dimmi se questo controllo è associato ad un campo della query oppure
> no.
> In ogni caso aspetto una risposta. Non fare come tanti che, avuta la
> risposta risolutiva, non ti dicono neache "ha funzionato".



no Antonio sono una persona seria non rientra nei miei parametri di vita
mi sforzo ogni giorno di essere persona normale.
cmq per ritornare alla risoluzione, ho adattato la tua formula,


iif(Testo203<>0; SommaDiE1/ Testo203;0) il risultato nella (Casella di
TestoC) da ERRORE.



perchè il Testo203 è ZERO invece se contiene un numero superiore a ZERO
mi calcola giusto



da predefinito lo ZERO nelle altre pagine stesso criterio stessa
(casella TestoC) stessi riferimenti ecc.dove non vi sono calcoli e
numeri



grazie Antonio
Antonio
2009-10-25 11:38:57 UTC
Permalink
>>> [cut]
>>>
>> In matematica che risultato avresti se tu facessi 123 diviso zero ?
>> Avresti infinito (non zero). E' per questo che Access si rifiuta di
>> calcolartelo. Ma tu dici non me ne frega niente, se il divisore è zero il
>> risultato deve essere zero (in programmazione puoi persino decidere di
>> dare un risultato non matematicamente corretto). E allora torno a dirti
>> la stessa cosa di prima. Se C non è un campo di tabella ma un controllo
>> "Casella di testo" che hai inserito sul report dagli queste proprietà e
>> ti funzionarà sicuramente.
>> Nome elemento: X1 (l'altro poi X2, l'altro ancora X3 e così via)
>> Origine controllo: =iif(B<>0;A/B;0)
>> Se non ti funziona, scrivimi con precisione (meglio se usi il
>> copia/incolla) queste due proprietà del controllo che hai sul report e
>> dimmi se questo controllo è associato ad un campo della query oppure no.
>> In ogni caso aspetto una risposta. Non fare come tanti che, avuta la
>> risposta risolutiva, non ti dicono neache "ha funzionato".
>
>
>
> no Antonio sono una persona seria non rientra nei miei parametri di vita
> mi sforzo ogni giorno di essere persona normale.
> cmq per ritornare alla risoluzione, ho adattato la tua formula,
>
>
> iif(Testo203<>0; SommaDiE1/ Testo203;0) il risultato nella (Casella di
> TestoC) da ERRORE.
>
>
>
> perchè il Testo203 è ZERO invece se contiene un numero superiore a ZERO mi
> calcola giusto
>
>
>
> da predefinito lo ZERO nelle altre pagine stesso criterio stessa (casella
> TestoC) stessi riferimenti ecc.dove non vi sono calcoli e numeri
>
>
>
> grazie Antonio
>
>
Se quella scritta da te è proprio la formula che hai scritto in Origine
controllo, devi metterci il simbolo dell'uguale in testa. Così:
=iif(Testo203<>0; SommaDiE1/ Testo203;0)
Forse era solo questo l'errore che commettevi.
rino
2009-10-25 11:49:41 UTC
Permalink
"Antonio" <***@tiscali.it> ha scritto nel messaggio
news:4ae438d4$0$697$***@news.tiscali.it...
>>>> [cut]
>>>>
>>> In matematica che risultato avresti se tu facessi 123 diviso zero ?
>>> Avresti infinito (non zero). E' per questo che Access si rifiuta di
>>> calcolartelo. Ma tu dici non me ne frega niente, se il divisore è
>>> zero il risultato deve essere zero (in programmazione puoi persino
>>> decidere di dare un risultato non matematicamente corretto). E
>>> allora torno a dirti la stessa cosa di prima. Se C non è un campo di
>>> tabella ma un controllo "Casella di testo" che hai inserito sul
>>> report dagli queste proprietà e ti funzionarà sicuramente.
>>> Nome elemento: X1 (l'altro poi X2, l'altro ancora X3 e così via)
>>> Origine controllo: =iif(B<>0;A/B;0)
>>> Se non ti funziona, scrivimi con precisione (meglio se usi il
>>> copia/incolla) queste due proprietà del controllo che hai sul report
>>> e dimmi se questo controllo è associato ad un campo della query
>>> oppure no.
>>> In ogni caso aspetto una risposta. Non fare come tanti che, avuta la
>>> risposta risolutiva, non ti dicono neache "ha funzionato".
>>
>>
>>
>> no Antonio sono una persona seria non rientra nei miei parametri di
>> vita mi sforzo ogni giorno di essere persona normale.
>> cmq per ritornare alla risoluzione, ho adattato la tua formula,
>>
>>
>> iif(Testo203<>0; SommaDiE1/ Testo203;0) il risultato nella (Casella
>> di TestoC) da ERRORE.
>>
>>
>>
>> perchè il Testo203 è ZERO invece se contiene un numero superiore a
>> ZERO mi calcola giusto
>>
>>
>>
>> da predefinito lo ZERO nelle altre pagine stesso criterio stessa
>> (casella TestoC) stessi riferimenti ecc.dove non vi sono calcoli e
>> numeri
>>
>>
>>
>> grazie Antonio
>>
>>
> Se quella scritta da te è proprio la formula che hai scritto in
> Origine controllo, devi metterci il simbolo dell'uguale in testa.
> Così:
> =iif(Testo203<>0; SommaDiE1/ Testo203;0)
> Forse era solo questo l'errore che commettevi.

no antonio = è compreso nell'origine controllo
Antonio
2009-10-25 12:12:29 UTC
Permalink
"rino" <***@tin.it> ha scritto nel messaggio
news:4ae43b7a$0$1099$***@reader3.news.tin.it...
>
> "Antonio" <***@tiscali.it> ha scritto nel messaggio
> news:4ae438d4$0$697$***@news.tiscali.it...
>>>>> [cut]
>>>>>
>>>> In matematica che risultato avresti se tu facessi 123 diviso zero ?
>>>> Avresti infinito (non zero). E' per questo che Access si rifiuta di
>>>> calcolartelo. Ma tu dici non me ne frega niente, se il divisore è zero
>>>> il risultato deve essere zero (in programmazione puoi persino decidere
>>>> di dare un risultato non matematicamente corretto). E allora torno a
>>>> dirti la stessa cosa di prima. Se C non è un campo di tabella ma un
>>>> controllo "Casella di testo" che hai inserito sul report dagli queste
>>>> proprietà e ti funzionarà sicuramente.
>>>> Nome elemento: X1 (l'altro poi X2, l'altro ancora X3 e così via)
>>>> Origine controllo: =iif(B<>0;A/B;0)
>>>> Se non ti funziona, scrivimi con precisione (meglio se usi il
>>>> copia/incolla) queste due proprietà del controllo che hai sul report e
>>>> dimmi se questo controllo è associato ad un campo della query oppure
>>>> no.
>>>> In ogni caso aspetto una risposta. Non fare come tanti che, avuta la
>>>> risposta risolutiva, non ti dicono neache "ha funzionato".
>>>
>>>
>>>
>>> no Antonio sono una persona seria non rientra nei miei parametri di vita
>>> mi sforzo ogni giorno di essere persona normale.
>>> cmq per ritornare alla risoluzione, ho adattato la tua formula,
>>>
>>>
>>> iif(Testo203<>0; SommaDiE1/ Testo203;0) il risultato nella (Casella di
>>> TestoC) da ERRORE.
>>>
>>>
>>>
>>> perchè il Testo203 è ZERO invece se contiene un numero superiore a ZERO
>>> mi calcola giusto
>>>
>>>
>>>
>>> da predefinito lo ZERO nelle altre pagine stesso criterio stessa
>>> (casella TestoC) stessi riferimenti ecc.dove non vi sono calcoli e
>>> numeri
>>>
>>>
>>>
>>> grazie Antonio
>>>
>>>
>> Se quella scritta da te è proprio la formula che hai scritto in Origine
>> controllo, devi metterci il simbolo dell'uguale in testa. Così:
>> =iif(Testo203<>0; SommaDiE1/ Testo203;0)
>> Forse era solo questo l'errore che commettevi.
>
> no antonio = è compreso nell'origine controllo
>
>
Allora è scritta correttamente, ma tu l'avevi scritta con un errore. Per
favore, scrivi con rigore matematico quello che c'è nelle proprietà "Origine
controllo" e "Nome elemento".
Così:
Nome elemento. . . .: ilnomeassegnatoalcontrollo
Origine controllo. . . .: =iif(Testo203<>0; SommaDiE1/ Testo203;0)

Poi dimmi SommaDiE1 cosa contiene ? forse è lui che contiene l'errore ?
Metti un altro controllo in cui fai vedere cosa c'è in SommaDiE1 così puoi
capire meglio come vanno le cose. In ultimo, SommaDiE1 è per caso un
controllo calcolato sul report stesso ? Se sì, prova a spostarlo nella parte
alta del report.
Aspetto incuriosito
rino
2009-10-25 12:29:30 UTC
Permalink
"Antonio" <***@tiscali.it> ha scritto nel messaggio
news:4ae440b0$0$6819$***@news.tiscali.it...
>
> "rino" <***@tin.it> ha scritto nel messaggio
> news:4ae43b7a$0$1099$***@reader3.news.tin.it...
>>
>> "Antonio" <***@tiscali.it> ha scritto nel messaggio
>> news:4ae438d4$0$697$***@news.tiscali.it...
>>>>>> [cut]
>>>>>>
>>>>> In matematica che risultato avresti se tu facessi 123 diviso zero
>>>>> ? Avresti infinito (non zero). E' per questo che Access si rifiuta
>>>>> di calcolartelo. Ma tu dici non me ne frega niente, se il divisore
>>>>> è zero il risultato deve essere zero (in programmazione puoi
>>>>> persino decidere di dare un risultato non matematicamente
>>>>> corretto). E allora torno a dirti la stessa cosa di prima. Se C
>>>>> non è un campo di tabella ma un controllo "Casella di testo" che
>>>>> hai inserito sul report dagli queste proprietà e ti funzionarà
>>>>> sicuramente.
>>>>> Nome elemento: X1 (l'altro poi X2, l'altro ancora X3 e così
>>>>> via)
>>>>> Origine controllo: =iif(B<>0;A/B;0)
>>>>> Se non ti funziona, scrivimi con precisione (meglio se usi il
>>>>> copia/incolla) queste due proprietà del controllo che hai sul
>>>>> report e dimmi se questo controllo è associato ad un campo della
>>>>> query oppure no.
>>>>> In ogni caso aspetto una risposta. Non fare come tanti che, avuta
>>>>> la risposta risolutiva, non ti dicono neache "ha funzionato".
>>>>
>>>>
>>>>
>>>> no Antonio sono una persona seria non rientra nei miei parametri di
>>>> vita mi sforzo ogni giorno di essere persona normale.
>>>> cmq per ritornare alla risoluzione, ho adattato la tua formula,
>>>>
>>>>
>>>> iif(Testo203<>0; SommaDiE1/ Testo203;0) il risultato nella
>>>> (Casella di TestoC) da ERRORE.
>>>>
>>>>
>>>>
>>>> perchè il Testo203 è ZERO invece se contiene un numero superiore a
>>>> ZERO mi calcola giusto
>>>>
>>>>
>>>>
>>>> da predefinito lo ZERO nelle altre pagine stesso criterio stessa
>>>> (casella TestoC) stessi riferimenti ecc.dove non vi sono calcoli e
>>>> numeri
>>>>
>>>>
>>>>
>>>> grazie Antonio
>>>>
>>>>
>>> Se quella scritta da te è proprio la formula che hai scritto in
>>> Origine controllo, devi metterci il simbolo dell'uguale in testa.
>>> Così:
>>> =iif(Testo203<>0; SommaDiE1/ Testo203;0)
>>> Forse era solo questo l'errore che commettevi.
>>
>> no antonio = è compreso nell'origine controllo
>>
>>
> Allora è scritta correttamente, ma tu l'avevi scritta con un errore.
> Per favore, scrivi con rigore matematico quello che c'è nelle
> proprietà "Origine controllo" e "Nome elemento".
> Così:
> Nome elemento. . . .: ilnomeassegnatoalcontrollo
> Origine controllo. . . .: =iif(Testo203<>0; SommaDiE1/ Testo203;0)
>
> Poi dimmi SommaDiE1 cosa contiene ? forse è lui che contiene l'errore
> ? Metti un altro controllo in cui fai vedere cosa c'è in SommaDiE1
> così puoi capire meglio come vanno le cose. In ultimo, SommaDiE1 è per
> caso un controllo calcolato sul report stesso ? Se sì, prova a
> spostarlo nella parte alta del report.
> Aspetto incuriosito

Tu curioso io ansioso :-)
Nome elemento: SommaDiDelAssE1
nell'Origine controllo. . . .: =iif(Testo203<>0; SommaDiE1/ Testo203;0)

SommaDiE1 è un campo calcolato dalla query che somma ed è numerico e di
riferimento al report in questione (come metto altro controllo se devo
fare riferimento a lui)?

stava nell'intestazione di pagina ed è nascosto l'ho messo nel corpo ma
nulla.
ma come mai se Testo203 contiene 1 numero sup a ZERO mi da il risultato
giusto
Antonio
2009-10-25 13:01:06 UTC
Permalink
"rino" <***@tin.it> ha scritto nel messaggio
news:4ae444c7$0$1096$***@reader3.news.tin.it...
>
> "Antonio" <***@tiscali.it> ha scritto nel messaggio
> news:4ae440b0$0$6819$***@news.tiscali.it...
>>
>> "rino" <***@tin.it> ha scritto nel messaggio
>> news:4ae43b7a$0$1099$***@reader3.news.tin.it...
>>>
>>> "Antonio" <***@tiscali.it> ha scritto nel messaggio
>>> news:4ae438d4$0$697$***@news.tiscali.it...
>>>>>>> [cut]
>>>>>>>
>>>>>> In matematica che risultato avresti se tu facessi 123 diviso zero ?
>>>>>> Avresti infinito (non zero). E' per questo che Access si rifiuta di
>>>>>> calcolartelo. Ma tu dici non me ne frega niente, se il divisore è
>>>>>> zero il risultato deve essere zero (in programmazione puoi persino
>>>>>> decidere di dare un risultato non matematicamente corretto). E allora
>>>>>> torno a dirti la stessa cosa di prima. Se C non è un campo di tabella
>>>>>> ma un controllo "Casella di testo" che hai inserito sul report dagli
>>>>>> queste proprietà e ti funzionarà sicuramente.
>>>>>> Nome elemento: X1 (l'altro poi X2, l'altro ancora X3 e così via)
>>>>>> Origine controllo: =iif(B<>0;A/B;0)
>>>>>> Se non ti funziona, scrivimi con precisione (meglio se usi il
>>>>>> copia/incolla) queste due proprietà del controllo che hai sul report
>>>>>> e dimmi se questo controllo è associato ad un campo della query
>>>>>> oppure no.
>>>>>> In ogni caso aspetto una risposta. Non fare come tanti che, avuta la
>>>>>> risposta risolutiva, non ti dicono neache "ha funzionato".
>>>>>
>>>>>
>>>>>
>>>>> no Antonio sono una persona seria non rientra nei miei parametri di
>>>>> vita mi sforzo ogni giorno di essere persona normale.
>>>>> cmq per ritornare alla risoluzione, ho adattato la tua formula,
>>>>>
>>>>>
>>>>> iif(Testo203<>0; SommaDiE1/ Testo203;0) il risultato nella (Casella
>>>>> di TestoC) da ERRORE.
>>>>>
>>>>>
>>>>>
>>>>> perchè il Testo203 è ZERO invece se contiene un numero superiore a
>>>>> ZERO mi calcola giusto
>>>>>
>>>>>
>>>>>
>>>>> da predefinito lo ZERO nelle altre pagine stesso criterio stessa
>>>>> (casella TestoC) stessi riferimenti ecc.dove non vi sono calcoli e
>>>>> numeri
>>>>>
>>>>>
>>>>>
>>>>> grazie Antonio
>>>>>
>>>>>
>>>> Se quella scritta da te è proprio la formula che hai scritto in Origine
>>>> controllo, devi metterci il simbolo dell'uguale in testa. Così:
>>>> =iif(Testo203<>0; SommaDiE1/ Testo203;0)
>>>> Forse era solo questo l'errore che commettevi.
>>>
>>> no antonio = è compreso nell'origine controllo
>>>
>>>
>> Allora è scritta correttamente, ma tu l'avevi scritta con un errore. Per
>> favore, scrivi con rigore matematico quello che c'è nelle proprietà
>> "Origine controllo" e "Nome elemento".
>> Così:
>> Nome elemento. . . .: ilnomeassegnatoalcontrollo
>> Origine controllo. . . .: =iif(Testo203<>0; SommaDiE1/ Testo203;0)
>>
>> Poi dimmi SommaDiE1 cosa contiene ? forse è lui che contiene l'errore ?
>> Metti un altro controllo in cui fai vedere cosa c'è in SommaDiE1 così
>> puoi capire meglio come vanno le cose. In ultimo, SommaDiE1 è per caso un
>> controllo calcolato sul report stesso ? Se sì, prova a spostarlo nella
>> parte alta del report.
>> Aspetto incuriosito
>
> Tu curioso io ansioso :-)
> Nome elemento: SommaDiDelAssE1
> nell'Origine controllo. . . .: =iif(Testo203<>0; SommaDiE1/ Testo203;0)
>
> SommaDiE1 è un campo calcolato dalla query che somma ed è numerico e di
> riferimento al report in questione (come metto altro controllo se devo
> fare riferimento a lui)?
>
> stava nell'intestazione di pagina ed è nascosto l'ho messo nel corpo ma
> nulla.
> ma come mai se Testo203 contiene 1 numero sup a ZERO mi da il risultato
> giusto
>
>
Mi sto convincendo che l'errore sta nel SommaDiE1.
Innanzi tutto il nome SommaDiDelAssE1 mi confermi che non è un nome di campo
della query ? Se per caso lo fosse, il controllo che dà l'errore chiamalo
SommaDiDelAssE1xxx.
Poi fai click sul soliti controllo col tasto destro, lo copi e lo incolli in
un'altra zona del report. Esamina le proprietà del nuovo controllo appena
creato. Dovrebbero essere:
Nome elemento. . .: un nome univoco scelto da Access
Origine controllo . .: =iif(Testo203<>0; SommaDiE1/ Testo203;0)

Sostituisci quanto appare in Origine controllo con SommaDiE1. Sii preciso,
fai così:
Origine controllo . .: SommaDiE1

Se nel report vedi che in questo nuovo controllo c'è l'errore, vuol dire che
l'errore che vedevi prima nel controllo C non dipendeva dalla formula ma dal
fatto che uno dei fattori della divisione conteneva già un errore.
rino
2009-10-25 13:17:13 UTC
Permalink
"Antonio" <***@tiscali.it> ha scritto nel messaggio
news:4ae44c16$0$6836$***@news.tiscali.it...
>
> "rino" <***@tin.it> ha scritto nel messaggio
> news:4ae444c7$0$1096$***@reader3.news.tin.it...
>>
>> "Antonio" <***@tiscali.it> ha scritto nel messaggio
>> news:4ae440b0$0$6819$***@news.tiscali.it...
>>>
>>> "rino" <***@tin.it> ha scritto nel messaggio
>>> news:4ae43b7a$0$1099$***@reader3.news.tin.it...
>>>>
>>>> "Antonio" <***@tiscali.it> ha scritto nel messaggio
>>>> news:4ae438d4$0$697$***@news.tiscali.it...
>>>>>>>> [cut]
>>>>>>>>
>>>>>>> In matematica che risultato avresti se tu facessi 123 diviso
>>>>>>> zero ? Avresti infinito (non zero). E' per questo che Access si
>>>>>>> rifiuta di calcolartelo. Ma tu dici non me ne frega niente, se
>>>>>>> il divisore è zero il risultato deve essere zero (in
>>>>>>> programmazione puoi persino decidere di dare un risultato non
>>>>>>> matematicamente corretto). E allora torno a dirti la stessa cosa
>>>>>>> di prima. Se C non è un campo di tabella ma un controllo
>>>>>>> "Casella di testo" che hai inserito sul report dagli queste
>>>>>>> proprietà e ti funzionarà sicuramente.
>>>>>>> Nome elemento: X1 (l'altro poi X2, l'altro ancora X3 e così
>>>>>>> via)
>>>>>>> Origine controllo: =iif(B<>0;A/B;0)
>>>>>>> Se non ti funziona, scrivimi con precisione (meglio se usi il
>>>>>>> copia/incolla) queste due proprietà del controllo che hai sul
>>>>>>> report e dimmi se questo controllo è associato ad un campo della
>>>>>>> query oppure no.
>>>>>>> In ogni caso aspetto una risposta. Non fare come tanti che,
>>>>>>> avuta la risposta risolutiva, non ti dicono neache "ha
>>>>>>> funzionato".
>>>>>>
>>>>>>
>>>>>>
>>>>>> no Antonio sono una persona seria non rientra nei miei parametri
>>>>>> di vita mi sforzo ogni giorno di essere persona normale.
>>>>>> cmq per ritornare alla risoluzione, ho adattato la tua formula,
>>>>>>
>>>>>>
>>>>>> iif(Testo203<>0; SommaDiE1/ Testo203;0) il risultato nella
>>>>>> (Casella di TestoC) da ERRORE.
>>>>>>
>>>>>>
>>>>>>
>>>>>> perchè il Testo203 è ZERO invece se contiene un numero superiore
>>>>>> a ZERO mi calcola giusto
>>>>>>
>>>>>>
>>>>>>
>>>>>> da predefinito lo ZERO nelle altre pagine stesso criterio stessa
>>>>>> (casella TestoC) stessi riferimenti ecc.dove non vi sono calcoli
>>>>>> e numeri
>>>>>>
>>>>>>
>>>>>>
>>>>>> grazie Antonio
>>>>>>
>>>>>>
>>>>> Se quella scritta da te è proprio la formula che hai scritto in
>>>>> Origine controllo, devi metterci il simbolo dell'uguale in testa.
>>>>> Così:
>>>>> =iif(Testo203<>0; SommaDiE1/ Testo203;0)
>>>>> Forse era solo questo l'errore che commettevi.
>>>>
>>>> no antonio = è compreso nell'origine controllo
>>>>
>>>>
>>> Allora è scritta correttamente, ma tu l'avevi scritta con un errore.
>>> Per favore, scrivi con rigore matematico quello che c'è nelle
>>> proprietà "Origine controllo" e "Nome elemento".
>>> Così:
>>> Nome elemento. . . .: ilnomeassegnatoalcontrollo
>>> Origine controllo. . . .: =iif(Testo203<>0; SommaDiE1/ Testo203;0)
>>>
>>> Poi dimmi SommaDiE1 cosa contiene ? forse è lui che contiene
>>> l'errore ? Metti un altro controllo in cui fai vedere cosa c'è in
>>> SommaDiE1 così puoi capire meglio come vanno le cose. In ultimo,
>>> SommaDiE1 è per caso un controllo calcolato sul report stesso ? Se
>>> sì, prova a spostarlo nella parte alta del report.
>>> Aspetto incuriosito
>>
>> Tu curioso io ansioso :-)
>> Nome elemento: SommaDiDelAssE1
>> nell'Origine controllo. . . .: =iif(Testo203<>0; SommaDiE1/
>> Testo203;0)
>>
>> SommaDiE1 è un campo calcolato dalla query che somma ed è numerico e
>> di riferimento al report in questione (come metto altro controllo se
>> devo fare riferimento a lui)?
>>
>> stava nell'intestazione di pagina ed è nascosto l'ho messo nel corpo
>> ma nulla.
>> ma come mai se Testo203 contiene 1 numero sup a ZERO mi da il
>> risultato giusto
>>
>>
> Mi sto convincendo che l'errore sta nel SommaDiE1.
> Innanzi tutto il nome SommaDiDelAssE1 mi confermi che non è un nome di
> campo della query ? Se per caso lo fosse, il controllo che dà l'errore
> chiamalo SommaDiDelAssE1xxx.
> Poi fai click sul soliti controllo col tasto destro, lo copi e lo
> incolli in un'altra zona del report. Esamina le proprietà del nuovo
> controllo appena creato. Dovrebbero essere:
> Nome elemento. . .: un nome univoco scelto da Access
> Origine controllo . .: =iif(Testo203<>0; SommaDiE1/ Testo203;0)
>
> Sostituisci quanto appare in Origine controllo con SommaDiE1. Sii
> preciso, fai così:
> Origine controllo . .: SommaDiE1
>
> Se nel report vedi che in questo nuovo controllo c'è l'errore, vuol
> dire che l'errore che vedevi prima nel controllo C non dipendeva dalla
> formula ma dal fatto che uno dei fattori della divisione conteneva già
> un errore.



la casella di SommaDiE1 che esiste l'abbiamo chiamata A esiste e calcola
giusto, cmq ho fatto come tu hai detto ed esce lo stesso risultato di
SommaDiE1
quindi due caselle stesso numero.

invece dato che nel frattempo provo e riprovo leggo ecc. ho provato
nella form a mettere ZERO nella casella che si riferisce alla stessa
tab,query e casella di report in argomento mi da errore run time (non fa
la divisione x zero. (va be questo e altra cosa)

Ma non c'è una formula semplice che dice: se Testo203 è ZERO nella
casella di (TestoC) scrivi Zero altrimenti calcola A/B (Testo203) che
funziona come ti ho detto.
Antonio
2009-10-25 13:49:00 UTC
Permalink
>>>
>>> Tu curioso io ansioso :-)
>>> Nome elemento: SommaDiDelAssE1
>>> nell'Origine controllo. . . .: =iif(Testo203<>0; SommaDiE1/ Testo203;0)
>>>
>>> SommaDiE1 è un campo calcolato dalla query che somma ed è numerico e di
>>> riferimento al report in questione (come metto altro controllo se devo
>>> fare riferimento a lui)?
>>>
>>> stava nell'intestazione di pagina ed è nascosto l'ho messo nel corpo ma
>>> nulla.
>>> ma come mai se Testo203 contiene 1 numero sup a ZERO mi da il risultato
>>> giusto
>>>
>>>
>> Mi sto convincendo che l'errore sta nel SommaDiE1.
>> Innanzi tutto il nome SommaDiDelAssE1 mi confermi che non è un nome di
>> campo della query ? Se per caso lo fosse, il controllo che dà l'errore
>> chiamalo SommaDiDelAssE1xxx.
>> Poi fai click sul soliti controllo col tasto destro, lo copi e lo incolli
>> in un'altra zona del report. Esamina le proprietà del nuovo controllo
>> appena creato. Dovrebbero essere:
>> Nome elemento. . .: un nome univoco scelto da Access
>> Origine controllo . .: =iif(Testo203<>0; SommaDiE1/ Testo203;0)
>>
>> Sostituisci quanto appare in Origine controllo con SommaDiE1. Sii
>> preciso, fai così:
>> Origine controllo . .: SommaDiE1
>>
>> Se nel report vedi che in questo nuovo controllo c'è l'errore, vuol dire
>> che l'errore che vedevi prima nel controllo C non dipendeva dalla formula
>> ma dal fatto che uno dei fattori della divisione conteneva già un errore.
>
>
>
> la casella di SommaDiE1 che esiste l'abbiamo chiamata A esiste e calcola
> giusto, cmq ho fatto come tu hai detto ed esce lo stesso risultato di
> SommaDiE1
> quindi due caselle stesso numero.
>
> invece dato che nel frattempo provo e riprovo leggo ecc. ho provato nella
> form a mettere ZERO nella casella che si riferisce alla stessa tab,query e
> casella di report in argomento mi da errore run time (non fa la divisione
> x zero. (va be questo e altra cosa)
>
> Ma non c'è una formula semplice che dice: se Testo203 è ZERO nella casella
> di (TestoC) scrivi Zero altrimenti calcola A/B (Testo203) che funziona
> come ti ho detto.
>
>
Abbi pazienza, ma tu continui a fare confusione coi nomi dei controlli e
degli oggetti che utilizzi. Cosa vuoi dire dicendo ho messo ZERO nella form
che si riferisce alla tab ? Cosa c'entra la form in questo contesto ? Non
sono riuscito ancora a capire quali sono i nomi dei campi della query ed il
loro contenuto, i controlli creati nel report e le relative proprietà. Se ti
imponi un certo rigore nello scrivere i controlli e le formule vedrai che
non avrai più l'errore.
rino
2009-10-25 14:24:42 UTC
Permalink
"Antonio" <***@tiscali.it> ha scritto nel messaggio
news:4ae4574f$0$6829$***@news.tiscali.it...
>>>>
>>>> Tu curioso io ansioso :-)
>>>> Nome elemento: SommaDiDelAssE1
>>>> nell'Origine controllo. . . .: =iif(Testo203<>0; SommaDiE1/
>>>> Testo203;0)
>>>>
>>>> SommaDiE1 è un campo calcolato dalla query che somma ed è numerico
>>>> e di riferimento al report in questione (come metto altro controllo
>>>> se devo fare riferimento a lui)?
>>>>
>>>> stava nell'intestazione di pagina ed è nascosto l'ho messo nel
>>>> corpo ma nulla.
>>>> ma come mai se Testo203 contiene 1 numero sup a ZERO mi da il
>>>> risultato giusto
>>>>
>>>>
>>> Mi sto convincendo che l'errore sta nel SommaDiE1.
>>> Innanzi tutto il nome SommaDiDelAssE1 mi confermi che non è un nome
>>> di campo della query ? Se per caso lo fosse, il controllo che dà
>>> l'errore chiamalo SommaDiDelAssE1xxx.
>>> Poi fai click sul soliti controllo col tasto destro, lo copi e lo
>>> incolli in un'altra zona del report. Esamina le proprietà del nuovo
>>> controllo appena creato. Dovrebbero essere:
>>> Nome elemento. . .: un nome univoco scelto da Access
>>> Origine controllo . .: =iif(Testo203<>0; SommaDiE1/ Testo203;0)
>>>
>>> Sostituisci quanto appare in Origine controllo con SommaDiE1. Sii
>>> preciso, fai così:
>>> Origine controllo . .: SommaDiE1
>>>
>>> Se nel report vedi che in questo nuovo controllo c'è l'errore, vuol
>>> dire che l'errore che vedevi prima nel controllo C non dipendeva
>>> dalla formula ma dal fatto che uno dei fattori della divisione
>>> conteneva già un errore.
>>
>>
>>
>> la casella di SommaDiE1 che esiste l'abbiamo chiamata A esiste e
>> calcola giusto, cmq ho fatto come tu hai detto ed esce lo stesso
>> risultato di SommaDiE1
>> quindi due caselle stesso numero.
>>
>> invece dato che nel frattempo provo e riprovo leggo ecc. ho provato
>> nella form a mettere ZERO nella casella che si riferisce alla stessa
>> tab,query e casella di report in argomento mi da errore run time (non
>> fa la divisione x zero. (va be questo e altra cosa)
>>
>> Ma non c'è una formula semplice che dice: se Testo203 è ZERO nella
>> casella di (TestoC) scrivi Zero altrimenti calcola A/B (Testo203) che
>> funziona come ti ho detto.
>>
>>
> Abbi pazienza, ma tu continui a fare confusione coi nomi dei controlli
> e degli oggetti che utilizzi. Cosa vuoi dire dicendo ho messo ZERO
> nella form che si riferisce alla tab ? Cosa c'entra la form in questo
> contesto ? Non sono riuscito ancora a capire quali sono i nomi dei
> campi della query ed il loro contenuto, i controlli creati nel report
> e le relative proprietà. Se ti imponi un certo rigore nello scrivere i
> controlli e le formule vedrai che non avrai più l'errore.

si scusami la form non centra con la discussione n/s ma l'ho scritto
ancora ti poteva servire a risolvere. Si riferisce alla tab

che in una query viene sommata e poi elaborata ancora su report in
argomento. e poi i problemi che si presentano nel report che ho citato
Antonio
2009-10-25 14:34:59 UTC
Permalink
>>>
>> Abbi pazienza, ma tu continui a fare confusione coi nomi dei controlli e
>> degli oggetti che utilizzi. Cosa vuoi dire dicendo ho messo ZERO nella
>> form che si riferisce alla tab ? Cosa c'entra la form in questo contesto
>> ? Non sono riuscito ancora a capire quali sono i nomi dei campi della
>> query ed il loro contenuto, i controlli creati nel report e le relative
>> proprietà. Se ti imponi un certo rigore nello scrivere i controlli e le
>> formule vedrai che non avrai più l'errore.
>
> si scusami la form non centra con la discussione n/s ma l'ho scritto
> ancora ti poteva servire a risolvere. Si riferisce alla tab
>
> che in una query viene sommata e poi elaborata ancora su report in
> argomento. e poi i problemi che si presentano nel report che ho citato
>
>
>
Abbi ancora pazienza, ma continuo a non capirti. Sembra che io ti chieda
informazioni sulla tua automobile e tu mi rispondi che il mare è inquinato.
Sembra un dialogo fra sordi. Se vuoi e se il database non è particolarmente
grosso, potresti mandarmelo zippato. Se sei d'accordo, invialo a
***@tiscali.it
rino
2009-10-25 14:58:24 UTC
Permalink
"Antonio" <***@tiscali.it> ha scritto nel messaggio
news:4ae46216$0$698$***@news.tiscali.it...
>>>>
>>> Abbi pazienza, ma tu continui a fare confusione coi nomi dei
>>> controlli e degli oggetti che utilizzi. Cosa vuoi dire dicendo ho
>>> messo ZERO nella form che si riferisce alla tab ? Cosa c'entra la
>>> form in questo contesto ? Non sono riuscito ancora a capire quali
>>> sono i nomi dei campi della query ed il loro contenuto, i controlli
>>> creati nel report e le relative proprietà. Se ti imponi un certo
>>> rigore nello scrivere i controlli e le formule vedrai che non avrai
>>> più l'errore.
>>
>> si scusami la form non centra con la discussione n/s ma l'ho scritto
>> ancora ti poteva servire a risolvere. Si riferisce alla tab
>>
>> che in una query viene sommata e poi elaborata ancora su report in
>> argomento. e poi i problemi che si presentano nel report che ho
>> citato
>>
>>
>>
> Abbi ancora pazienza, ma continuo a non capirti. Sembra che io ti
> chieda informazioni sulla tua automobile e tu mi rispondi che il mare
> è inquinato. Sembra un dialogo fra sordi. Se vuoi e se il database non
> è particolarmente grosso, potresti mandarmelo zippato. Se sei
> d'accordo, invialo a ***@tiscali.it

grazie antonio,

avevo premesso che sono autodidatta.
il file contiene 1 sacco di cose sarebbe complesso inviartelo. l'unica
cosa che posso dirti a questo punto è che sei stato molto gentile e
disponibile. Leggerò e proverò

ti ringrazio

rino
Alberto S
2009-10-25 15:48:21 UTC
Permalink
Scriveva rino domenica, 25/10/2009:
> "Antonio" <***@tiscali.it> ha scritto nel messaggio
> news:4ae46216$0$698$***@news.tiscali.it...
>
> avevo premesso che sono autodidatta.
> il file contiene 1 sacco di cose sarebbe complesso inviartelo. l'unica cosa
> che posso dirti a questo punto è che sei stato molto gentile e disponibile.
> Leggerò e proverò
>
> ti ringrazio
>
> rino

Il thread è lunghissimo ... magari ti è già stato suggerito e mi è
sfuggito. In caso contrario prova così:

=IIf(Nz(Testo203;0)<>0; SommaDiE1/ Testo203;0)

Ciao

--
Alberto S
Vladimiro Leone
2009-10-25 19:31:28 UTC
Permalink
On 25 Ott, 16:48, Alberto S <***@tiscalinet.it> wrote:
> Scriveva rino domenica, 25/10/2009:
>
> > "Antonio" <***@tiscali.it> ha scritto nel messaggio
> >news:4ae46216$0$698$***@news.tiscali.it...
>
> > avevo premesso che sono autodidatta.
> > il file contiene 1 sacco di cose sarebbe complesso inviartelo. l'unica cosa
> > che posso dirti a questo punto è che sei stato molto gentile e disponibile.
> > Leggerò e proverò
>
> > ti ringrazio
>
> > rino
>
> Il thread è lunghissimo ... magari ti è già stato suggerito e mi è
> sfuggito. In caso contrario prova così:
>
> =IIf(Nz(Testo203;0)<>0; SommaDiE1/ Testo203;0)
>
> Ciao
>
> --
> Alberto S

Ciao rino,
Mi rendo conto che ieri, rispondendoti in maniera affrettata, ho
commesso degli errori; proverò a riparare, anche perchè ho la
sensazione che ti sei un pò scoraggiato.

apri l'origine record del report e inserisci:
C: IIf([A] Or [B]=Null;IIf([B]<>0;[A]/[B];0);Null)

modificando naturalmente il nome dei campi.
Ciao Vladimiro.
Vladimiro Leone
2009-10-26 13:14:07 UTC
Permalink
On 25 Ott, 20:31, Vladimiro Leone <***@alice.it> wrote:
> On 25 Ott, 16:48, Alberto S <***@tiscalinet.it> wrote:
>
>
>
>
>
> > Scriveva rino domenica, 25/10/2009:
>
> > > "Antonio" <***@tiscali.it> ha scritto nel messaggio
> > >news:4ae46216$0$698$***@news.tiscali.it...
>
> > > avevo premesso che sono autodidatta.
> > > il file contiene 1 sacco di cose sarebbe complesso inviartelo. l'unica cosa
> > > che posso dirti a questo punto è che sei stato molto gentile e disponibile.
> > > Leggerò e proverò
>
> > > ti ringrazio
>
> > > rino
>
> > Il thread è lunghissimo ... magari ti è già stato suggerito e mi è
> > sfuggito. In caso contrario prova così:
>
> > =IIf(Nz(Testo203;0)<>0; SommaDiE1/ Testo203;0)
>
> > Ciao
>
> > --
> > Alberto S
>
> Ciao rino,
> Mi rendo conto che ieri, rispondendoti in maniera affrettata, ho
> commesso degli errori; proverò a riparare, anche perchè ho la
> sensazione che ti sei un pò scoraggiato.
>
> apri l'origine record del report e inserisci:
> C: IIf([A] Or [B]=Null;IIf([B]<>0;[A]/[B];0);Null)
>
> modificando naturalmente il nome dei campi.
> Ciao Vladimiro.- Nascondi testo citato
>
> - Mostra testo citato -

Stavo pensando che potresti trovarti nella situazione di avere anche
il campo A vuoto o = 0, allora è meglio modificare la condizione
(campo C nella query del report) così:
C: IIf([A] Or [B]=Null;IIf([B]=0;0;[A]/[B]);Null)

In questo modo, se i campi A o B o uno di essi è vuoto oppure il campo
A è = 0 anche il campo C sarà vuoto, se il campo A é > 0 ed il campo B
è = 0, il campo C sarà = 0
Di nuovo Vladimiro.
rino
2009-10-26 21:42:48 UTC
Permalink
"Alberto S" <***@tiscalinet.it> ha scritto nel messaggio
news:4ae4734e$0$1111$***@reader2.news.tin.it...
> Scriveva rino domenica, 25/10/2009:
>> "Antonio" <***@tiscali.it> ha scritto nel messaggio
>> news:4ae46216$0$698$***@news.tiscali.it...
>>
>> avevo premesso che sono autodidatta.
>> il file contiene 1 sacco di cose sarebbe complesso inviartelo.
>> l'unica cosa che posso dirti a questo punto è che sei stato molto
>> gentile e disponibile. Leggerò e proverò
>>
>> ti ringrazio
>>
>> rino
>
> Il thread è lunghissimo ... magari ti è già stato suggerito e mi è
> sfuggito. In caso contrario prova così:
>
> =IIf(Nz(Testo203;0)<>0; SommaDiE1/ Testo203;0)
>
> Ciao
>
> --
> Alberto S

Albert ti ringrazio tanto sei stato di aiuto. ho risolto tutto
grazie

rino
rino
2009-10-25 08:34:27 UTC
Permalink
"Antonio" <***@tiscali.it> ha scritto nel messaggio
news:4ae40091$0$709$***@news.tiscali.it...
>
> "rino" <***@tin.it> ha scritto nel messaggio
> news:4ae3faa5$0$1103$***@reader3.news.tin.it...
>>
>> "Antonio" <***@tiscali.it> ha scritto nel messaggio
>> news:4ae3f0bc$0$692$***@news.tiscali.it...
>>>
>>> "rino" <***@tin.it> ha scritto nel messaggio
>>> news:4ae3ebd8$0$1095$***@reader3.news.tin.it...
>>>>
>>>> "Vladimiro Leone" <***@alice.it> ha scritto nel messaggio
>>>> news:d2df9edd-a89b-4aa3-8d4f-***@l33g2000vbi.googlegroups.com...
>>>> On 24 Ott, 23:39, "rino" <***@tin.it> wrote:
>>>>> Ciao a tutti,
>>>>>
>>>>> premetto non sono esperto.
>>>>>
>>>>> ho 1 problema in un report faccio una divisione C=A/B se B è zero
>>>>> su C
>>>>> di mi esce ERROR anziché zero.
>>>>> aiutatemi come posso ottenere zero?
>>>>>
>>>>> grazie tante
>>>>> rino
>>>>
>>>> Ciao rino, la cosa più giusta secondo me è che se B=0 C dovrebbe
>>>> essere uguale al valore A oppure a Null:
>>>> C=A/IIf(B<>0,B,Null)
>>>>
>>>> se poi vuoi ottenere C=0 allora:
>>>> C=A / IIf(B <> 0, B, A) - 1
>>>>
>>>> Ciao Vladimiro
>>>>
>>>> grazie Vladimiro per la risposta
>>>>
>>>> chiarisco meglio il mio problema:
>>>>
>>>> C=A/B > B è un valore dinamico se contiene es. da 1 in poi non mi
>>>> da errore se contiene zero mi da l'errore che ti ho detto.
>>>> quindi, vorrei in questo caso, che il risultato di C fosse zero e
>>>> non errore.
>>>>
>>>> grazie
>>>>
>>>> rino
>>>>
>>>>
>>> Forse Vladimiro ha tralasciato qualcosa.
>>> Non so dove vuoi mettere questa istruzione, ma su un controllo sul
>>> report credo che potrebbe andare bene così:
>>> =iif (b<>0;C=A/B;C=0)
>>>
>>> Ciao
>>> Antonio
>>
>>
>>
>> io ho questo: C = [A]/[B] se racchiudo tutto in 2 solo parentesi
>> () es. antonio, mi da errorre, se lascio quelle quadre se metto l'una
>> e l'altra mi da sempre l'errore
>> ho messo =IIf([B]<>0;[C]=0) mi sempre l'errore
>>
>> scusatemi x l'imbranamento
>>
>> rino
>>
>>
> Prova così:
> C=iif(B<>0;A/B;0)
>
> Le parentesi quadre puoi metterle oppure no, come vuoi fare tu. Si
> usano particolarmente quando il nome di un campo contiene uno spazio
> in mezzo. Per es.: [Importo IVA]=[Saldo Imponibile] * [Aliquota IVA]

scusatemi mi sono espresso male prima volevo dire: strano ho provato con
C=iif(B<>0;A/B;0) mi da ZERO dove non ho inserito
i numeri, (ho 4 report dinamici con stesse condizioni dove attraverso
la form inserisco i numeri) mi da errore, mentre dove non sono inseriti
mi da
predefinito zero

grazie
Pablitomf
2009-10-26 07:57:53 UTC
Permalink
rino ha scritto:

> Ciao a tutti,

> premetto non sono esperto.

> ho 1 problema in un report faccio una divisione C=A/B se B è zero su C
> di mi esce ERROR anziché zero.
> aiutatemi come posso ottenere zero?

> grazie tante
> rino


C=IIf([B]=0;0;[A]/[B])


--
Ciao
Pablitomf
-----------------------------------
Napoli nel "Q"uore.... sempre e comunque.
-----------------------------------
Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

questo articolo e` stato inviato via web dal servizio gratuito
http://www.newsland.it/news segnala gli abusi ad ***@newsland.it
Continua a leggere su narkive:
Loading...