Newsgroup: it.comp.appl.access
Titolo: Calcoli su Report

Ciao, ho creato dei report che contengono un pò di campi; questi campi
hanno come origine record una espressione calcolata!!
Alcune espressioni non vengono eseguite, forse perchè troppo lunghe.
Ho pensato di eseguirle all'apertura del report tramite codice vb.
Ma non capisco come assegnare al campo l'espressione calcolata.
Io ho scritto:
Campo1.Value = Somma(IIF([Sesso] = '1' Or '2' And [Tipologia] = '1' Or
'2' And [sostanza]<> '18' Or '19'......ecc
Mi viene ovviamente generato un errore sul codice.....
sapete aiutami
grazie
mike :-)
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG


Prova così:
Campo1.Value = Somma(IIF([Sesso] = 1 Or [Sesso] =2 And [Tipologia] =1 Or
[Tipologia] =2 And [sostanza]<>18 Or [sostanza]<>19......ecc
Fammi sapere.
Ciao

 Ciao


 > >
prova a darmi il seguito del codice magari l'errore č presente dopo.

> prova a darmi il seguito del codice magari l'errore è presente dopo.
ecco il codice:
Testo143.Value = Somma(IIf([sesso]='1' Or [sesso]='2' And
[tipologia_cliente]='1' Or [tipologia_cliente]='2' And
[Sostanza_abuso_primaria]<>'18' Or [Sostanza_abuso_primaria]<>'19' Or
[Sostanza_abuso_primaria]<>'20' Or [Sostanza_abuso_primaria]<>'22' Or
[Sostanza_abuso_primaria]<>'23' Or [Sostanza_abuso_primaria]<>'00' And
[sostegno_psicologico]='1' Or [psicoterapia]='1' Or
[Interventi_servizio_sociale_generali]='1' Or
[Interventi_servizio_sociale_ins_lav]='1' Or [psicoterapia_gruppo]='1'
And [Metadone_breve_termine]='2' And [Metadone_medio_termine]='2' And
[Metadone_lungo_termine]='2' And [Buprenorfina_breve_termine]='2' And
[Buprenorfina_medio_termine]='2' And [Buprenorfina_lungo_termine]='2'
And [Naltrexone]='2' And [Clonidina]='2' And
[Altri_farmaci_non_sostitutivi_amb]='2' And
[Altri_farmaci_non_sostitutivi_patologie]='2' And [sert]='1';1;0))


 ha scritto nel messaggio
news:8fe16e5bf0cd54457a...@mygate.mailgate.org...

Mi sa che ti conviene inserire tutto nel codice all'apertura del report e
impostando alcune variavili:
Dim var1, var2 as string
var1= IIf([sesso]='1' Or [sesso]='2' And
[tipologia_cliente]='1' Or [tipologia_cliente]='2' And
[Sostanza_abuso_primaria]<>'18' Or [Sostanza_abuso_primaria]<>'19' Or
[Sostanza_abuso_primaria]<>'20' Or [Sostanza_abuso_primaria]<>'22' Or
[Sostanza_abuso_primaria]<>'23' Or [Sostanza_abuso_primaria]<>'00' And
[sostegno_psicologico]='1' Or [psicoterapia]='1' Or
[Interventi_servizio_sociale_generali]='1' Or
[Interventi_servizio_sociale_ins_lav]='1' Or [psicoterapia_gruppo]='1'
And [Metadone_breve_termine]='2' And [Metadone_medio_termine]='2' And
[Metadone_lungo_termine]='2' And [Buprenorfina_breve_termine]='2' And
[Buprenorfina_medio_termine]='2' And [Buprenorfina_lungo_termine]='2'
And [Naltrexone]='2' And [Clonidina]='2' And
[Altri_farmaci_non_sostitutivi_amb]='2' And
[Altri_farmaci_non_sostitutivi_patologie]='2' And [sert]='1';1;0)
var1= IIf([sesso]='2' Or [sesso]='2' And
[tipologia_cliente]='2' Or [tipologia_cliente]='2' And
[Sostanza_abuso_primaria]<>'19' Or [Sostanza_abuso_primaria]<>'19' Or
[Sostanza_abuso_primaria]<>'21' Or [Sostanza_abuso_primaria]<>'22' Or
[Sostanza_abuso_primaria]<>'24' Or [Sostanza_abuso_primaria]<>'00' And
[sostegno_psicologico]='1' Or [psicoterapia]='1' Or
[Interventi_servizio_sociale_generali]='1' Or
[Interventi_servizio_sociale_ins_lav]='1' Or [psicoterapia_gruppo]='1'
And [Metadone_breve_termine]='3' And [Metadone_medio_termine]='2' And
[Metadone_lungo_termine]='2' And [Buprenorfina_breve_termine]='2' And
[Buprenorfina_medio_termine]='2' And [Buprenorfina_lungo_termine]='2'
And [Naltrexone]='2' And [Clonidina]='2' And
[Altri_farmaci_non_sostitutivi_amb]='2' And
[Altri_farmaci_non_sostitutivi_patologie]='2' And [sert]='1';3;4)
Testo143.Value=Somma(var1*var2)
etc. prova così e come sempre fammi sapere.

Ciao Giovanni ho provato nuovamente nel modo che mi hai suggerito ma
genera un errore sulla sintassi del valore dei campi, non gli "garbano"
gli apici tra l'1:
[sesso]='1' 
ciao
mike :-)



Tentiamo nuovamente alla fine ciriusciremo:
var1= IIf([sesso]=1 Or [sesso]=2 And
[tipologia_cliente]=1 Or [tipologia_cliente]=2 And
[Sostanza_abuso_primaria]<>18 Or [Sostanza_abuso_primaria]<>19 Or
[Sostanza_abuso_primaria]<>20 Or [Sostanza_abuso_primaria]<>22 Or
[Sostanza_abuso_primaria]<>23 Or [Sostanza_abuso_primaria]<>00 And
[sostegno_psicologico]=1 Or [psicoterapia]=1 Or
[Interventi_servizio_sociale_generali]=1 Or
[Interventi_servizio_sociale_ins_lav]=1 Or [psicoterapia_gruppo]=1
And [Metadone_breve_termine]=2 And [Metadone_medio_termine]=2 And
[Metadone_lungo_termine]=2 And [Buprenorfina_breve_termine]=2 And
[Buprenorfina_medio_termine]=2 And [Buprenorfina_lungo_termine]=2
And [Naltrexone]=2 And [Clonidina]=2 And
[Altri_farmaci_non_sostitutivi_amb]=2 And
[Altri_farmaci_non_sostitutivi_patologie]=2 And [sert]=1;1;0)
var1= IIf([sesso]=2 Or [sesso]=2 And
[tipologia_cliente]=2 Or [tipologia_cliente]=2 And
[Sostanza_abuso_primaria]<>19 Or [Sostanza_abuso_primaria]<>19 Or
[Sostanza_abuso_primaria]<>21 Or [Sostanza_abuso_primaria]<>22 Or
[Sostanza_abuso_primaria]<>24 Or [Sostanza_abuso_primaria]<>00 And
[sostegno_psicologico]=1 Or [psicoterapia]=1 Or
[Interventi_servizio_sociale_generali]=1 Or
[Interventi_servizio_sociale_ins_lav]=1 Or [psicoterapia_gruppo]=1
And [Metadone_breve_termine]=3 And [Metadone_medio_termine]=2 And
[Metadone_lungo_termine]=2 And [Buprenorfina_breve_termine]=2 And
[Buprenorfina_medio_termine]=2 And [Buprenorfina_lungo_termine]=2
And [Naltrexone]=2 And [Clonidina]=2 And
[Altri_farmaci_non_sostitutivi_amb]=2 And
[Altri_farmaci_non_sostitutivi_patologie]=2 And [sert]=1;3;4)
(ABBIAMO TOLTO GLI APICI)
Testo143.Value=VAR1+VAR2
(SE HO BEN CAPITO TU VUOI FARE LA SOMMA?)


Ciao Giovanni, dunque ho capito il perchè non esegue 
l'epressione calcolata , ho inserito troppi campi, se inserisco 
un numero inferiore di campi funziona...ora come potrei ovviare
al problema del numero elevato di controlli  su cui calcolare il valore
del campO??
grazie
ciao
mike


 mike
Ma tu hai inserito il codice che ti ho postato all'intermno dell'evento su
apertura del report?
in questo modo puoi inserire un maggior numero di controlli rispetto al dati
origine del singolo campo.
Ciao

Dunque mi sorgeva un dubbio su come si fa ad andare a capo, non ricordo
se con & _ o solo _....


 se con & _ o solo _....
"Stringa" & _
"Stringa"

Ho fatto, dunque mi genera un errore di runtime sull'espressione testo =
var1+var2.....
boh!!!


Ciao Giovanni ho riprovato visto l'errore che mi generarava,
ed ho inserito una nuova variabile var3, quindi ho scritto:
var3 = var1+var2
e poi
testo143= var3
testo143 è il nome del controllo nel report.
Il report ora viene eseguito in modalità anteprima ora non mi
rimane che far due prove per vedere se i conteggi sono corretti!
grazie e ciao
mike :-)


A proposito, forse lo chiedo in ritardo....ma non ho capito 
il perchè creato due variabili non era sufficiente una sola??
ciao
mike


Ho cantato vittoria troppo presto non funziona, mi genera un errore
sulla sintassi ho provato semplicemente a scrivere:
var1 = IIf([sesso]=1 Or [sesso]=2 And [tipologia_cliente]=1 Or
[tipologia_cliente]=2 And [sert] = 1;1;0)
ma non gli piace la sintassi, se racchiudo l'espressione tra virgolette
ovviamnte questa vine vista come spressione testo.....


 sulla sintassi ho provato semplicemente a scrivere:
con questa si puņ cantare viittoria:
Private Sub Corpo_Format(Cancel As Integer, FormatCount As Integer)
Dim var1 As String
var1 = IIf(Me.sesso = 1 or Me.sesso = 2 And me.Tipologia=1 or
me.Tipologia=1... etc, 1, 0)
Me.testo143= var1 + 100
End Sub
"L'IMPORTANTE E' CHE IL REPORT ABBIA COME DATI ORIGINE LA TABELLA IN
QUESTIONE E CHE SUL REPORT ANCHE SE IN
-----FORMATO VISIBILE =NO------ SIANO PRESENTI I CAMPI  sesso,
tipologia,sert... etc"
IL CODICE LO DEVI INSERIRE NELL'EVENTO SU FORMATTAZIONE DELLA SEZIONE CORPO
DEL REPORT
ADESSO SPERO MI FARAI SAPERE CHE VA BENE....
CIAO

Ciao Giovanni, ti ringrazio per l'impegno che ci stai mettendo!! :-)
Però mi pare inserire tutti i campi, anche se nascosti all'interno del
report è forse forse improponibile, visto il numero elevato di campi che
dovrei
inserire...uffa.....comunque ci proverò lo stesso!!
ciao e grazie


Ciao Giovanni stavo provando a creare tante query quanti sono i
campi presenti nel report, ma mi domandavo, una volta creata la query
come
faccio in origine controllo del campo a dirgli contami i record??
grazi e ciao
mike :-)



=DCount("[NomediunCampodellaquery]";"[NomedellaQueryinquestione]")