Newsgroup: it.comp.appl.access
Titolo: estrarre valori da intervalli diversi

Salve a tutti. In AXP.
Devo tener traccia della consegna di etichette numerate a vari utenti.
In pratica: ho un blocco di etichette che vanno dal n. 1.000 al n.
2.000. Ho consegnato all'utente A le etichette dal n. 1.000 al n. 1.200
e all'utente B le etichette dal n. 1.300 al n. 1.450.
Come posso fare per sapere che mi sono rimaste le etichette dal n. 1.201
al n. 1.299 e le etichette dal n. 1.451 al n. 2.000?
Grazie a tutti in anticipo.
Giancarlo
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

[cut]
Rileggendo il post mi sono accorto di non aver sufficientemente spiegato
il problema. Cerco di esporlo meglio (spero):
Devo tener traccia della consegna di etichette numerate a vari utenti.
In pratica: 
Ho una tabella t_prelievo:
....
data_prelievo
n_prelievo_dal
n_prelievo_al
....
nella quale inserisco la data e le etichette che ho prelevato. In questa
tabella inserisco il pirimo e l'ultimo numero del blocco di etichette
prelevate.
Poi ho una tabella t_consegna:
....
data_consegna
n_consegna_dal
n_consegna_al
....
nella quale scrivo la data di consegna e il numero di etichetta iniziale
e finale dell'intervallo consegnato.
Vorrei trovare un modo per evidenziare gli intervalli di etichette
ancora da consegnare.
Ad esempio: ho un blocco di etichette che vanno dal n. 1.000 al n.
2.000. Ho consegnato all'utente A le etichette dal n. 1.000 al n. 1.200
e all'utente B le etichette dal n. 1.300 al n. 1.450.
Come posso fare per sapere che mi sono rimaste le etichette dal n. 1.201
al n. 1.299 e le etichette dal n. 1.451 al n. 2.000?
Grazie a tutti in anticipo.
Grazie a tutti.


 ....
[...]
Fammi capire bene:
- hai 1001 etichette numerate 1000 - 2000
- hai distribuito le seguenti:
            1001
            1003 - 1049
            1200 - 1300
            1400 - 1450
            1460
            1470
            1500 - 1800
- vorresti ottenere le restanti tabulate come segue:
            1000
            1002
            1050 - 1199
            1301 - 1399
            1451 - 1459
            1461 - 1469
            1471 - 1499
            1801 - 2000
Č cosě?
Bruno

 Bruno


 non mi piace molto...
Prova un po' così:
- Crea una tabella t_Etichette coi campi Etichette (Long)
   e Consegnato (Yes/No, Default Value = No);
-  carica la tabella coi 1001 numeri delle etichette, dal 1000 al 2000
    nel campo Etichette;
-  con una Update Query contenente nel campo Etichette la condizione
    Between j And k aggiorna a Yes il campo Consegnato tutte le volte
    che consegni etichette coi numeri da j a k;
-   esegui la seguente procedura:
=====================================
Private Sub Command46_Click()
Dim db As Database, RS As Recordset
Dim SQL As String, RS1 As Recordset
Dim h As Long, k As Boolean
Set db = CurrentDb
Set RS = db.OpenRecordset("t_Etichette")
On Error Resume Next
DoCmd.DeleteObject acTable, "TT_Etichette"
On Error GoTo 0
SQL = "CREATE TABLE " & "TT_Etichette " & _
      "(Da_ long, A_ long);"
db.Execute SQL
Set RS1 = db.OpenRecordset("TT_Etichette")
k = False
Do Until RS.EOF
    If Not RS![Consegnato] Then
        If Not k Then
            h = RS![Etichette]
            RS1.AddNew
            RS1![Da_] = RS![Etichette]
            RS1.Update
            k = True
        End If
    Else
        If h Then
            RS1.MoveLast
            RS1.Edit
            RS1![A_] = RS![Etichette] - 1
            RS1.Update
            h = 0
            k = False
        End If
    End If
    RS.MoveNext
Loop
RS.MoveLast
RS1.MoveLast
If Not RS![Consegnato] Then
    RS1.Edit
    RS1![A_] = RS![Etichette]
    RS1.Update
End If
End Sub
=========================================
Tutte le volte che esegui la procedura verrà creata una tabella
TT_Etichette contenente le etichette disponibili (non consegnate).
Bruno 

 ha scritto nel messaggio 
news:44450f80$0$36932$4faf...@reader3.news.tin.it...

Funziona! Ti ringrazio moltissimo.
Giancarlo.