Newsgroup: it.comp.appl.access
Titolo: Numerare righe su report

ho un report con associata una query che mi estrae es. 100 righe.
in corpo_format filtro talune righe (es. 10) (.printsection=false se altre
righe precedenti soddisfano delle condizioni), ma voglio numerare quelle che
stampo (es. 90)
il metodo di contare le righe spiegato nell'help non mi aiuta, perchč non
tiene conto di quelle filtrate.
ho provato a contarle con una variabile statica quando formatcount=1 ma ho
problemi in anteprima se per es. vado a fondo stampa e ritorno indietro o
anche se poi stampo dall'anteprima.
qualcuno conosce qualche altro metodo?
ciao e grazie
nicky


Nicoletta hai letto il post precedente al tuo...???
Chiedete la stessa cosa, non è che poi volete
soluzioni diverse...???
Leggi e cerca sul SitoComune c'è pure un esempio.
@Alex.

 ha scritto nel messaggio
news:hpYQa.177873$lK4.5...@twister1.libero.it...


 nicky
Perdono se ho frainteso, ma continuo a non capire cosa devi ottenere.
Se fosse possibile un esempio o una spiegazione meno ermetica........!
Mi ricordi Ungaretti............ o Quasimodo, non sò se hai la Gobba...?
Scherzi a parte........!
Ciao.
@Alex.


giuro di non avere nessuna gobba
non ho approfondito per non tediare il gentile lettore, ma visto che insisti
...
la query mi estrae le timbrature dei dipendenti della mia azienda.
devo sapere se i dipendenti sono presenti ad una determinata ora, quindi
devo fare un ragionamento su entrate o uscite e sul giorno attuale piů
giorno precedente (per eventuali turni di notte).
tutto questo ragionamento č fatto da una funzione (piuttosto lunga ecco
perchč non puň essere una nella query) che esamina piů righe restituite
al termine di tale ciclo, formatto il corpo o il pič di gruppo per stampare
i miei dati, e vorrei anche stampare un contatore che mi indica il numero di
riga, perň incombono i problemi che ho postato prima
ciao
nicky


Ora ho capito bene.
Ora ti ripropongo la soluzione che ti avevo proposto all'inizio.
Sul SitoComune c'è una Routinetta che se la inserisci come funzione
nella Query ti Numera in modo progressivo un Campo aggiunto da te
che è ovviamente un Campo calcolato.
Cosa succede in questo caso, la tua Funzione complessissima che però
viene richiamata dalla QRY come criterio ti filtra i dati ed hai così un
Recordset
composto da supponiamo 15 Record(che ovviamente soddisfano la Funzione di
calcolo).
Se aggiungi alla tua Qry un Campo Calcolato chiamato
ProgressivoRiga=GetRecNum()
ottieni, PROPRIO COME TI DISSI AL 1° POST quello che mi hai ribadito.
La funzione di seguito realizza il tutto, la devi mettere in un Modulo
Generico di Database.
Giura di provarla prima di dirmi chenon va bene................!!!! ;-)
Ciao.
@Alex.
Public Function GetRecNum() As Long
'==========================================================================
'Name      : GetRecNum()
'Purpose   :
'Author    : Maurizio Borrelli
'Date      : 01 febbraio 2002
'Called by :
'Calls     :
'Inputs    :
'Output    : Posizione assoluta del record corrente+1
'==========================================================================
  On Error GoTo erh
  With CodeContextObject.RecordsetClone
    If Not (.BOF And .EOF) Then
      .Bookmark = CodeContextObject.Bookmark
      GetRecNum = .AbsolutePosition + 1
    End If
  End With
ext:
  Exit Function
erh:
  GetRecNum = 0
End Function

 viene richiamata dalla QRY come criterio ti filtra i dati ed hai cosě un

proverň senz'altro, anche se a prima vista mi sembra di non essere riuscita
a spiegarmi bene.
a mio parere non posso inserire una funzione nella query, perchč io ottengo
dalla query questi dati
matr 1, ent 15 lug 22:30
matr 1, usc 15 lug 23:45
matr 1, ent 16 lug 00:45
matr 1, usc 16 lug 05:15
solo al termine dell'esame delle cinque righe ordinate posso capire se il
dipendente č presente alle 23:00 (prima della mensa) e alle 1:00 dopo la
mensa (per esempio), in questo caso devo stampare la mia riga numerata,
quindi non posso mandare n informazioni ad una funzione che mi ritorna un
risultato per ogni riga!
ciao
nicky

 matr 1, usc 15 lug 23:45
Il dipendente secondo me è dentro perchè la timbratura dell'uscita
c'è ed è maggiore dell'entrata.....!!!!!!???
Sbaglio qualcosa....????????????????
---------------------------------------------------------------------
CONSIDERAZIONI PERSONALI
---------------------------------------------------------------------
In realtà però secondo me avresti avuto più successo se avessi
organizzato la tabella in modo Orizzontale in modo da non dover
ricorrere a confronti Verticali.
Ogni Dipendente ha al massimo 4 timbrature se Turnista, forse 6
se giornaliero.
IdDipendente
1°Ent
1°Uscita
2°Ent
2°Uscita
3°Ent
3°Uscita
In questo modo ci stanno tutte le combinazioni, ed in più
hai una facilitazione di verifica che non devi più scorrere i 4
Record Successivi o precedenti, hai tutto nello stesso.
Ti ho suggerito questo perchè da noi fanno così, e credo in
molti altri posti..................!!!!
@Alex.


Ciao Nicoletta
Per questi casi utilizzo un metodo simile al tuo solo che incremento
direttamente un controllo e non ho problemi di sorta.
Nel mio esempio il controllo si chiama T_Contatore di tipo Casella di testo
e non ha origine controllo.
-------------------
Private Sub Corpo_Format(Cancel As Integer, FormatCount As Integer)
    'Azzero il controllo al primo record
    'In questo modo viene azzerato anche passando dalla visualizzazione alla
stampa
    If Me.CurrentRecord = 1 Then
       Me.T_Contatore = Null
    End If
    'Controllo se il record deve essere stampato
    If MiaFunzione()=False Then
       Cancel = True
       Exit Sub
    End If
    'Se stampo incremento il controllo di 1
    If Me.FormatCount = 1 Then
       Me.T_Contatore = Nz(Me.T_Contatore, 0) + 1
    End If
End Sub
---------------
Ciao Giorgio

 @Alex.
---------------------------------------------------------------------
RI-CONSIDERAZIONI PERSONALI
---------------------------------------------------------------------
Nella mia azienda hanno appena installato un sistema di rilevazione che
dispone di due antennine ravvicinate, una per l'entrata ed una per l'uscita.
Ho notato che molto spesso, se il dipendente indugia un pò con la tesserina,
vengono registrate due timbrature.
Inoltre se un dipendente deve assentarsi per un qualsiasi motivo, le
timbrature aumentano ed è difficile stabilire un numero massimo.
...la soluzione "un record, una timbratura" mi piace di più, pazienza se è
più complicato gestirle.
Ciao a tutti.

 ha scritto nel messaggio
news:IjZQa.177995$Ny5.5...@twister2.libero.it...

purtroppo le ragioni del tipo di query non sono limitate al presente o
assente (davvero non posso dimostrarti perchè sono costretta a ragionare in
quel modo, fidati, anche perchè non sono la sola ad aver prodotto il
risultato), senza addentrarmi le timbrature possono essere anche 30!, in
quanto è interessata nache la produzione (inizio attrezzaggio, inizio
lavorazione, cambio utensile, inizio commessa AAAA, fine commessa AAAA, etc,
etc.)
si, la funzione sta nel report e non può essere altrimenti, voglio solo
poter contare le righe del report in maniera ottimale
nicky

 ha scritto nel messaggio
news:bf1rkt$h26$1...@lacerta.tiscalinet.it...

ci ho provato, ma se visualizzo in anteprima, e clicco sul navigatore ultima
pagina, poi vadi indietro, il contatore va a pu... ramengo.
nicky


Umm.. a me non succede ma forse non ho capito il problema o  non parliamo
della stessa cosa.
Ciao Giorgio.


Inserisci  una casella di testo e nell'origine controllo: =1
somma parziale "su tutto"
Mi scuso per l'intrusione
Saluti Daniele


Ciao Daniele
In questo modo conta anche le righe che vengono filtrate nell'evento
Corpo_Format
Ciao Giorgio.


Ciao Giorgio
grazie per il chiarimento, anche se l'avevo immaginato che il mio era un
suggerimento che non poteva essere preso in considerazione per la presenza
in questo 3d di .... GROSSI CALIBRI :-)  però, ho pensato ...non si sa
mai.....il caldo, fa brutti scherzi alla memoria :))))
un caldo saluto
Daniele

 wrote in message
news:mfYQa.61663$
qa5.1...@news2.tin.it

Ciao,
volevo chiederti se il tuo report termina con la stampa solamente dei
record
filtrati oppure se continua e mostra anche i record scartati
volendo ricominciare il conteggio.
Io ho creato un piccolo Db che ha la stessa esigenza, ed in maniera
semplice
sono riuscito a contare i record filtrati.
Se č quello che stai cercando, sarņ contento di aiutarti.
Saluti Filippo. 
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG