Newsgroup: it.comp.appl.access
Titolo: Ripetizione di intervalli

Ciao a tutti,
Ho una query che mi visualizza "n" record dopo aver eseguito una
espressione.
È possibile far in modo che in un campo vanga visualizzato un numero
progressivo fino al raggiungimento di un numero Max da me stabilito.
Mi spiego meglio, immaginiamo di aver visualizzato 8 record e di stabilire
il numero Max a 4 la visualizzazione dovrebbe dare in una colonna:
1
2
3
4
1
2
3
4
Quindi due intervalli numerici composti da 4 numeri per un totale di 8
record. Pertanto la visualizzazione dovrebbe dare tanti intervalli fino al
raggiungimento dei record totali, il numero Max per questo è sempre un
multiplo.
Spero di essere stato poco contorto.


non so se ho capito bene vuoi fare questo su una sola colonna
1
2
3
4
1
2
3
4
1
2
3
4
fino alla fine dei record anche sapendo che potrebbe finire con 1 o 2 o 3 o 
4 se non è
un multiplo di 4. se vuoi fare questo una soluzione ce l'ho, se invece è 
un'altra cosa passo la mano ;-)
Ciao.

>
ti scrivo il codice e te lo posto dammi 5 minuti....

metti questa funzione in un modulo
Public Function Avanza(Id As Long)
    Static i As Long
    i = i + 1
    If i = 5 Then i = 1
    Avanza = i
End Function
select Avanza(Id) From miatabella
devi passargli per forza il contatore altrimenti non funge.
Questo è solo un esempio modifica a tuo piacimento magari mettendo
un parametro per avere il valore massimo.
Ciao e fammi sapere se hai problemi.

 ha scritto nel messaggio
news:4342a79b$0$8500$5fc...@news.tiscali.it...

Non ho ancora provata, ma ti chiedo è possibile fare questo inserendo un
istruzione sql nella stessa query che uso. Così da avere accanto al record
il rispettivo valore progressivo?


certo serve proprio per fare questo, le funzione public dei moduli si 
possono utilizzare
nelle istruzione sql. Le puoi personalizzare a piacimento.
Saluti dubbiosi 


ho inserito la funzione in un modulo e poi ho inserito in un campo della mia
query questa istruzione:
Module: (select Avanza(Id) From componenti)
mi da questo errore:
la sottoquery può restituire un solo record.
Ti premetto che non sono una cima in materia.
Saluti.


devi fare un query normale, selezioni query sul database e poi visualizza 
struttura
scegli la tua tabella e poi metti in un colonna la funzione 
Avanzamento:Avanza(Id)
poi non ho capito perchè stai facendo un sottoquery?
Non so se sono stato chiaro, comunque sono qui per chiarimenti.
Ciao.


Sono riuscito a farla funzionare, ma non ancora secondo le mie esigenze.
Cerco di spiegarti un po' la mia situazione:
ho un tabella dati del tipo:
Tipo         q.t.         telai      Colore     Posizione     ecc..
B20           2            2         Bianco         L
B23            2            3         Giallo          H
ecc..
mi sono creato un report Etichette, che la lancio da un pulsate di comando
posizionato una maschera. Questa report viene filtrata attraverso una query
che usa dei dati che io metto sulla maschera. Quando lancio la query mi crea
per ogni tipo un numero di etichette dato dalla moltiplicazione del campo
q.t. x telai. Fin qui tutto funziona. Poi ho messo una casella di testo
sempre sulla maschera che mi funge da moltiplicatore - [(q.t. x telai) x
moltiplicatore] -, cioè gli chiedo di raddoppiare, triplicare ecc. le
etichette per tipo, anche fino a qui funziona tutto .
A questo punto nasce la necessità di inserire un campo che mi inserisca un
numero progressivo fino al raggiungimento del numero MAX corrispondente alla
quantità dei indicata nel campo telai.
Esempio:
ti ricordo che la quantità delle etichette è data:
[(q.t. x telai) x moltiplicatore]
Metto il moltiplicatore =1
Vorrei ottenere una cosa simile;
Tipo         q.t.         telai      Colore     Posizione       Avanzamento
ecc..
B20           2            2         Bianco         L                    1
B20           2            2         Bianco         L                    2
B20           2            2         Bianco         L                    1
B20           2            2         Bianco         L                    2
B23            2            3         Giallo          H                   1
B23            2            3         Giallo          H                   2
B23            2            3         Giallo          H                   3
B23            2            3         Giallo          H                   1
B23            2            3         Giallo          H                   2
B23            2            3         Giallo          H                   3
ecc..
da come vedi mi ripete tanti intervalli tanti quanto  il numero contenuto in
q.t.. Il numero progressivo nell'avanzamento corrisponde come max al numero
dei telai.
Così sulla mia etichetta mi comparirà un numero progressivo corrispondente
al 1° o al 2° ecc. telaio  in questione per quel tipo.
Spero che non ti annoi con questi miei problemi.
Grazie comunque.

 ha scritto nel messaggio 
news:43439acd$0$8497$5fc...@news.tiscali.it...

allora la funzione che ti ho dato la possiamo anche eliminare, perchè se 
lavori nel report
diventa tutto piu' semplice. Nel report puoi utilizzare sul campo che si 
incrementa la somma
parziale su un raggruppamento, ma bisogna vedere bene il contesto perchè 
vedo che hai
ripetuto 2 serie di 3 righe uguali quale differenza c'è tra le 2 serie?
ciao. 

 ciao.
La prima serie ripete tante serie tante quante sono la quantità dei telai
per la B20 (B20 Telai =2)
la seconda serie ripete tante serie tante quante sono le quantità dei telai
per la B23 (B23 Telai 3).
e così via.


allora dovresti fare un raggruppamento per Tipo e per Telaio nel report e 
mettere un campo
senza associazione a campo database e impostare la somma parziale.
Ciao.

se vuoi ti invio un database di esempio che ho provato
sempre se la tua query corrisponde a quella scritta da me.
Fammi sapere. 

 ha scritto nel messaggio
news:4343a6c6$0$8497$5fc...@news.tiscali.it...


Inviato!
a dopo, vado a pranzo
Ciao