Newsgroup: it.comp.appl.access
Titolo: Grazie Roberto, ma dove sbagliavo???

Desidero ringraziare Roberto per la soluzione al mio problema che mi ha
postato sul newsgroup (da solo non ce l'avrei mai fatta)
Vorrei perň sapere qual'era l'errore che commettevo tentando di arrivarci da
perfetto dilettante quale sono:
Riassumo brevemente.....
Partendo da una tabella che ha come chiave primaria la combinazione dei
campi[ID(numerico),Giorno(data/ora) ed Ora(data/ora)], ho creato una
query(query1) ordinando i record per ID cres, Giorno cresc,Ora cresc.
il risultato finale che volevo ottenere era questo:
 id    Giorno             Ora                                    [Campo da
creare]
 1    01/01/00            17.15                                            1
 1    01/01/00            19.23                                            2
 1    01/01/00            22.32                                            3
 2    01/01/00            7.10
1
 2    01/01/00            9.56
2
Ho creato una nuova query(query2) (sicuramente non ce n'era bisogno!)
ed oltre ai campi id, Giorno ed Ora (della query1) ho inserito un campo
Dcount che cosě "recitava":  Dcount ("Ora";"query1";"[id]="&[id] And
"[Giorno]= #" &[Giorno] &"#" And "[Ora]<="&[Ora]&"#")
Tutto ciň mi da come risultato il conteggio di tutti i record!!!!!
Sicuramento sbaglio nella concatenazione dei criteri ma dopo avere provato
ad inserire e togliere mille &  mi sono arreso!!!
Un grazie a chi mi fa capire dove sbaglio!!!
Bye Carlo


Riporto qui di seguito la funzione DCount che ti ho postato nele messaggio
delle 18:01, così sarà possibile confrontarla con la tua:
DCount("[Id]","Query2","[Id]=" & [Id] & "AND [Giorno]=" & "#" & [Giorno] &
"#" & "AND [Ora]<" & "#" & [Ora] & "#")
Beh, è chiaro che tu commettevi degli errori nello scrivere i criteri della
funzione.
All'onor del vero , risparmiando qualche vigolette e qualche e commerciale,
potevo scriverla:
DCount("[Id]","Query2","[Id]=" & [Id] & "AND [Giorno]=#"  & [Giorno] & "#AND
[Ora]<#"  & [Ora] & "#")
Però preferisco, nel preparare la stringa dei criteri, scriverla come se i
campi fossero tutti numerici e poi aggiungo i caratteri # prima e dopo i
campi data/ora e Chr$(34) prima e dopo i campi alfanumerici.
I criteri debbono essere un'unica stringa che comprende anche gli operatori
booleani AND ed OR che pertanto vanno scritti tra virgolette come tutte le
costanti alfanumeriche.
Fanno altresì parte di questa unica stringa anche i nomi dei campi del
dominio in cui opera la funzione.
Non vanno invece chiusi tra virgolette i nomi delle variabili e/o dei campi
che non si riferiscono al dominio.
Non so se sono riuscito a spiegarmi, eventualmente cerca tra i messaggi
degli ultimi giorni; ce ne è uno (non mi ricordo se scritto da Antonio o da
lbo) molto chiaro ed esaustivo che spiegava appunto come vanno scritti i
criteri delle funzioni che operano sui domini (se non vado errato in quel
caso si trattava di una DSum).
Comunque i criteri di queste funzioni altro non sono che una WHERE; se hai
necessità di approfondire ti consiglio di cercare WHERE sia sull'help che
sui libri; troverai molta più documentazione rispetto a quella che
troveresti cercando DCount, DSum o DLookup.
--
Roberto
---------------------------------------------
il sito comune di it.comp.appl.access:
http://members.xoom.it/it_db_access/
---------------------------------------------