Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Numero progressivo di riga in una query

5,133 views
Skip to first unread message

sbtk

unread,
Sep 20, 2009, 3:39:13 AM9/20/09
to

Buongiorno.
Ho una query che legge una tabella con i campi 1, 2, 3 e 4.
Vorrei inserire nella query un campo che mmi calcola il progressivo di riga.
Mi rivolgo a voi per evere indicazioni.
Grazie, saluti.


giorgio rancati

unread,
Sep 20, 2009, 5:00:09 AM9/20/09
to

"sbtk" <dsf...@libero.it> ha scritto nel messaggio
news:Oz1I3VcO...@TK2MSFTNGP04.phx.gbl...

Ciao sbtk,
purtroppo il motore Jet non ha una funzione nativa per contare le righe,
quindi le soluzioni non saranno molto performanti su tabelle con molte
righe.
Di seguito due esempi che puoi provare nel database di esempio NorthWind
versione 2002/2003 creando una nuova query e selezionando la tabella Clienti

1) con funzione DCount
Contatore: DCount("IdCliente";"Clienti";"IdCliente<='" & [IdCliente] & "'")

2) con subquery
Contatore: (SELECT COUNT(*) FROM Clienti AS C WHERE C.IdCliente<= "'" &
Clienti.IdCliente & "'")

se il tuo campo di riferimento � numerico togli gli apici

es..
Contatore: DCount("Id";"Tabella1";"Id<=" & [Id])

Ciao
--
Giorgio Rancati
[Office Access MVP]


Karl Donaubauer

unread,
Sep 20, 2009, 5:45:46 AM9/20/09
to
sbtk wrote:
> Ho una query che legge una tabella con i campi 1, 2, 3 e 4.
> Vorrei inserire nella query un campo che mmi calcola il progressivo
> di riga. Mi rivolgo a voi per evere indicazioni.

www.donkarl.com/it?FAQ3.11


--
HTH
Karl
*********
Access FAQ: www.donkarl.com/it

sbtk

unread,
Sep 20, 2009, 11:00:29 AM9/20/09
to
Vi ringrazio molto.

Ho fatto un passo avanti inserendo nella mia query il comando seguente:

<<NumIncr: (Select Count (*) FROM [TblProva] as Temp WHERE
[Temp].[N_PosTens] < [TblProva].[N_PosTens])+1>>

Il numero incrementale mi viene per� visualizzato in ordine inverso a quello
che desidero ottenere.

Cercher� di spiegarmi meglio:

il campo N_PosTens della tabella TblProva contiene un valore numerico; il
numero incrementale, ottenuto per come sopra indicato, attribuisce il valore
pi� basso al corrispondente valore pi� basso del campo N_PosTens.

Mi occorre invece ottenere il numero incrementale "crescente" ma sul valore
del campo N_PosTen "decrescente". In pratica i due valori dovranno essere
inversamente proporzionali: al numero incrementale pi� basso deve
corrispondere il valore pi� alto del campo N_PosTens, e cos� via.

Ho provato ad attivare gli ordinamenti sulla query ma non ottengo il
risultato.

Faccio un esempio, dove le prime due colonne sono il risultato ottenuto,
mentre nella terza riporto quello che vorrei ottenere:

NumIncr
N_PosTens
cosa vorrei ottenere

10
718
1

9
658
2

8
490
3

7
318
4

6
300
5

5
166
6

4
155
7

3
143
8

2
138
9

1
114
10


Spero di aver chiaramente esposto l'argomento.

Vi ringrazio ancora per la disponibilit�.

Cordiali saluti.

"Karl Donaubauer" <NoS...@donkarl.com> ha scritto nel messaggio
news:7hmbudF...@mid.individual.net...

Karl Donaubauer

unread,
Sep 20, 2009, 12:52:11 PM9/20/09
to
sbtk wrote:
> Karl Donaubauer ha scritto:

>>> Ho una query che legge una tabella con i campi 1, 2, 3 e 4.
>>> Vorrei inserire nella query un campo che mmi calcola il
>>> progressivo di riga. Mi rivolgo a voi per evere indicazioni.
>>
>> www.donkarl.com/it?FAQ3.11
> ...

> Ho fatto un passo avanti inserendo nella mia query il comando
> seguente:
> <<NumIncr: (Select Count (*) FROM [TblProva] as Temp WHERE
> [Temp].[N_PosTens] < [TblProva].[N_PosTens])+1>>
>
> Il numero incrementale mi viene perᅵ visualizzato in ordine inverso

> a quello che desidero ottenere.
> ...

Basta invertire l'operatore "<" a ">" :

NumIncr: (Select Count (*) FROM [TblProva] as Temp WHERE
[Temp].[N_PosTens] > [TblProva].[N_PosTens])+1

--

sbtk

unread,
Sep 20, 2009, 1:56:34 PM9/20/09
to
Perfetto. Funziona.
Penso che ci "sentiremo" ancora ...
Mi sono approcciato all'ACCESS e sto mettendo su alcuni lavoretti.

Grazie ancora.


"Karl Donaubauer" <NoS...@donkarl.com> ha scritto nel messaggio

news:7hn4u4F...@mid.individual.net...


> sbtk wrote:
>> Karl Donaubauer ha scritto:
>>>> Ho una query che legge una tabella con i campi 1, 2, 3 e 4.
>>>> Vorrei inserire nella query un campo che mmi calcola il
>>>> progressivo di riga. Mi rivolgo a voi per evere indicazioni.
>>>
>>> www.donkarl.com/it?FAQ3.11
>> ...
>> Ho fatto un passo avanti inserendo nella mia query il comando
>> seguente:
>> <<NumIncr: (Select Count (*) FROM [TblProva] as Temp WHERE
>> [Temp].[N_PosTens] < [TblProva].[N_PosTens])+1>>
>>

>> Il numero incrementale mi viene per� visualizzato in ordine inverso

sbtk

unread,
Sep 20, 2009, 2:04:43 PM9/20/09
to
Grazie mille. Risolto !
Saluti.


"giorgio rancati" <giorgio_No_Sp...@tiscali.it> ha scritto nel
messaggio news:OADlEDdO...@TK2MSFTNGP05.phx.gbl...

0 new messages