Newsgroup: it.comp.appl.access
Titolo: numerare i record di una query (la vendetta)

Io, mensilmente ripropongo sempre il solito problema: numerare i record di 
una query.
mi rispondete sempre che sul sitocomune c'è la risposta o mi postate 
svariate soluzione, ma finora non ho trovato quella che fa la caso mio.
Io ho semplicemente bisogno di creare un campo in una query che contenga il 
numero progressivo di tutti i record di quella stessa query.
Naturalmente se alla query applico dei filtri (per cui i record o aumentano 
o diminuiscono) io ho bisogno sempre dello stesso contatore che mi dica
quanti record ci sono in quel momento.
l'obiettivo è quello di poter stampare la query e sapere quante righe essa 
contiente.
Questa era la soluzione proposta per numerare progressivamente i record di 
una quey.
Io l'ho provata ma non fa al caso mio perchè se io filtro dei record la 
numerazione non parte da uno
NumRec: (Select Count (*)  FROM [t_Fornitori] as AAA _
WHERE [AAA].[IDFornitore]<[t_Fornitori].[IDFornitore])+1
grazie

 ha scritto nel messaggio
news:YnxJd.764603$35.30...@news4.tin.it...

Date le numerose indicazioni non andate a buon Fine credo
che sia il caso di capire meglio il problema.
Primo la query non si stampa di solito, è un'aberrazione informatica
si usa una Form in visualizzazione maschere continue graficamente
formattata in modo da avere l'aspetto da te richiesto.
A questo punto metti un Controllo aggountivo nella Form che
avrà come origine Riga la seguente chiamata:
=GetRecNum()
Dove la funzione postata di seguito va inserita in un Modulo.
Questo funzionerà qualsiasi sia il numero di Records o la metodologia
di Filtro applicata nonchè il Sort, ma DEVE essere fatto nella FORM.
Spesso le soluzioni non le si comprendono perchè si danno per scontati
metodi di lavoro non coerenti con le normali abitudini.
Ciao
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
-- 
@Alex (Alessandro Baraldi)
---------------------------------------------------------------------------
http://www.sitocomune.com/
http://www.mantuanet.it/alessandro.baraldi/
---------------------------------------------------------------------------

 ha scritto nel messaggio
news:YnxJd.764603$35.30...@news4.tin.it...

Allora:
- NON esiste un sistema residente in access che numera le righe di una query
- si deve pertanto ricorrere ad un sistema creato appositamente
- Questo sistema, qualunque sia, numera dinamicamente le righe al lancio
della query
- se tu filtri la query NON la riesegui, ERGO non puoi pretendere che ti
rinumeri correttamente le righe
Pertanto, cambia impostazione.
- Prepara una maschera contenente una serie di controlli che ti permettano
di filtrare i dati.
- Lancia la query con i filtri scelti dalla maschera
- La query numererà le righe con uno dei vari metodi
- Se il filtro non va bene, chiudi la query, cambi filtro nella maschera,
riesegui la query
Non ci sono altre soluzioni
Antonio

 ha scritto nel messaggio 
news:41f6a6ab$0$129$5fc...@news.tiscali.it...

Hai ragione, ho creato una maschera in visualizzazione foglio dati, che poi 
è quello che cercavo
siamo quindi vicini alla soluzione
ho aggiunto un'etichetta in cui ho inserito l'origine riga
poi ho fatto nuovo modulo e ho copiato il codice
ma il risultato è questo:
#Nome?
Aiutami grazie 

 ha scritto nel messaggio 
news:YnxJd.764603$35.30...@news4.tin.it...

Ciao Singer
ma se il tuo scopo è STAMPARE perchè non utilizzi un report?
aggiungi nel corpo del report una casella di testo non associata
e nell'origine controllo scrivi: =CurrentRecord
---
Daniele

 Aiutami grazie
NO ETICHETTA TextBox, l'etichetta non ha OrigineControllo, ed io 
parlavo di quello....!!!
Ciao
@ALex
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 Daniele
CONCORDO!! I perfetti suggerimenti dati per la maschera, esulano dal fatto 
che poi il tutto sembra, e dico sembra, debba essere stampato!! Dopo query e 
filtri, apri un bel Report con un campo Testo con origine dati "=1" (senza 
"") e somma parziale "su gruppo"
A me funziona.
ciao 

 record di una query.
io proverei così:
creo (eventualmente cancellando quella vecchia) una tabella che avrà i campi 
della query e un campo contatore
eseguo la query appendendo (?) i record alla tabella
stampo la tabella che avrà il mio campo contatore incrementato 
progressivamente
facile... o no?
-- 
/-\ /\/\ /\/\ /-\ /\/\ /\/\ /-\ T /-\ 

 ciao
---
Daniele 

 facile... o no?
Un Esempio di Automazione di Access....!!!!!
@Alex 



ehm...
dato che di Access ne so ben poco mi piacerebbe sapere come interpretare il 
tuo commento
č qualcosa di buono o č meglio che mi dedichi al giardinaggio? ;)


 è qualcosa di buono o è meglio che mi dedichi al giardinaggio? ;)
La 2°....! ;-)
Scherzi a parte, difficilmente chi usa Access fà cose del
genere, soprattutto perchè cancellare Dati non è mai una buona
cosa, ma anche perchè non vengono usate le tabelle per stampare
quanto una struttura più professionale data da Maschere(Continue
o Foglio Dati).
Ciao


 o Foglio Dati).
ok, intendevo usare la tabella come base per una stampa fatta tramite report
inoltre mi sono reso conto che fare un report da una tabella access in 
locale è più veloce che farlo da una query, specialmente se questa va a 
pescare dati VFP dal server :P
da qui la mia tendenza a usare tante query di creazione tabelle (temporanee) 
e poi strusare su queste ultime
ovviamente sono applicazioni monoutente ;)


 ha scritto nel messaggio 
news:35pvqeF...@individual.net...

devo riconoscere che questo è stato un argomento di interesse per tutti mi 
fa piacere.
Ebbene si era l'impostazione generale che faceva acqua!!
Per stampare si devono utilizzare i report
pare scontato, ma c'era un motivo per cui non lo facevo.
Un report che abbia l'aspetto di un foglio dati, mi pare alquanto difficile 
crearlo, visto che l'unico modo che ho trovato è stato quello di tracciare 
linee verticali ed orizzontali nel corpo della struttura del report.
Per favore non ditemi di modificare i contorni dei controlli, perchè non è 
la stessa cosa.
io voglio una vera e propria tabella
Grazie 

 ha scritto nel messaggio 
news:iwRJd.770361$35.30...@news4.tin.it...

Aggiungo
Anche la maschera in visualizzazione foglio dati mi andrebbe bene. ma quel 
controllo proprio non ne vuole sapere.
ho inserito una casella di testo con origine CUrrent Record ma mi da 1 per 
tutti i record 

 tutti i record
dove l'hai aggiunta?
nel corpo del report?
hai messo: =CurrentRecord nell'origine controllo della casella di testo?
---
Daniele 

 ha scritto nel messaggio 
news:dLRJd.770460$35.30...@news4.tin.it...

l'ho aggiunto nel corpo della maschera

 Grazie
Utilizza Excel e MsQuery per leggere la tabella temporanea...
Ciao.
-- 
Sergio MAZZA