Newsgroup: it.comp.appl.access
Titolo: Moltiplicare record

Ciao a tutti,
ho la seguente richiesta da porvi al fine di poter elaborare un
piccolo programmino Access (2K)
Ho una tabella (tabella 1) che contiene i seguenti campi
NOME CLIENTE  (lo dice da se)
NUMERO DI ORDINE  (è un numero univoco assegnato a priori)
PRODOTTI IN ORDINE  (Descrizione del prodotto ordinato)
QUANTITÀ (quantita ordinata)
STATUS  (campo "si/no" per elaborazioni)
e per capirci posto un esempio dei dati in essa contenuti:
"Tabella 1"
CARLUCCI    1025     RESINA-A    4  NO
CARLUCCI    1025     RESINA-B    7  NO
CARLUCCI    1025     RESINA-C    2  NO
Io ho bisogno che in base ai dati contenuti nella tabella sopra, mi si
generi un altra tabella (tabella 2) con lo sviluppo dei record per
quantità.. meglio se posto il risultato che voglio ottenere,
sicuramente è più chiaro che 1000 parole.
Ecco il risultato che devo ottenere:
"Tabella 2"
CARLUCCI    1025     RESINA-A    1
CARLUCCI    1025     RESINA-A    1
CARLUCCI    1025     RESINA-A    1
CARLUCCI    1025     RESINA-A    1
CARLUCCI    1025     RESINA-B    1
CARLUCCI    1025     RESINA-B    1
CARLUCCI    1025     RESINA-B    1
CARLUCCI    1025     RESINA-B    1
CARLUCCI    1025     RESINA-B    1
CARLUCCI    1025     RESINA-B    1
CARLUCCI    1025     RESINA-B    1
CARLUCCI    1025     RESINA-C    1
CARLUCCI    1025     RESINA-C    1
Ovvero ogni singola linea della tabella principale si deve sdoppiare
per n. volte in funzione del quantitativo richiesto.
Inoltre, una volta che un record è stato sdoppiato nella "tabella 2",
nel campo status della "tabella 1" il valore deve diventare "SI" (è un
campo si/no) al fine che siano considerate nello sdoppiamento i soli
record non ancora sdoppiati.
Non so se sono riuscito a farvi capire, spero di si.
Ciao e grazie.
Marco

 ha scritto nel messaggio 
news:52feadc1-7ad0-4a3a...@26g2000yqv.googlegroups.com...
Ciao a tutti,
ho la seguente richiesta da porvi al fine di poter elaborare un
piccolo programmino Access (2K)
Ho una tabella (tabella 1) che contiene i seguenti campi
NOME CLIENTE  (lo dice da se)
NUMERO DI ORDINE  (� un numero univoco assegnato a priori)
PRODOTTI IN ORDINE  (Descrizione del prodotto ordinato)
QUANTIT� (quantita ordinata)
STATUS  (campo "si/no" per elaborazioni)
e per capirci posto un esempio dei dati in essa contenuti:
"Tabella 1"
CARLUCCI    1025     RESINA-A    4  NO
CARLUCCI    1025     RESINA-B    7  NO
CARLUCCI    1025     RESINA-C    2  NO
Io ho bisogno che in base ai dati contenuti nella tabella sopra, mi si
generi un altra tabella (tabella 2) con lo sviluppo dei record per
quantit�.. meglio se posto il risultato che voglio ottenere,
sicuramente � pi� chiaro che 1000 parole.
Ecco il risultato che devo ottenere:
"Tabella 2"
CARLUCCI    1025     RESINA-A    1
CARLUCCI    1025     RESINA-A    1
CARLUCCI    1025     RESINA-A    1
CARLUCCI    1025     RESINA-A    1
CARLUCCI    1025     RESINA-B    1
CARLUCCI    1025     RESINA-B    1
CARLUCCI    1025     RESINA-B    1
CARLUCCI    1025     RESINA-B    1
CARLUCCI    1025     RESINA-B    1
CARLUCCI    1025     RESINA-B    1
CARLUCCI    1025     RESINA-B    1
CARLUCCI    1025     RESINA-C    1
CARLUCCI    1025     RESINA-C    1
Ovvero ogni singola linea della tabella principale si deve sdoppiare
per n. volte in funzione del quantitativo richiesto.
Inoltre, una volta che un record � stato sdoppiato nella "tabella 2",
nel campo status della "tabella 1" il valore deve diventare "SI" (� un
campo si/no) al fine che siano considerate nello sdoppiamento i soli
record non ancora sdoppiati.
Non so se sono riuscito a farvi capire, spero di si.
Ciao e grazie.
Marco
------------
Private Sub SdoppiaRecord()
Dim db As Database
Dim rs As Dao.Recordset
Set db = CurrentDb
Set rs = db.OpenRecordset("Select * from Tabella1 Where STATUS = 'NO'")
While rs.Eof = true
  With rs
    Dim i As Integer
    For i = 1 to !QUANTITA'
      .... aggiungi il record in Tabella2 ....
    Next i
    .Edit
    !STATUS="SI"
    .MoveNext
  End With
Wend
Set rs = Nothing
Set db = Nothing
End Sub
Scritta cos� al volo... finiscila tu...

   End With
Loop
====================================
O sbaglio?
Bruno

 Bruno
Grazie a tutti per il vostro intervento, ora a breve provo entrambe le
vostre proposte.
Ho dimenticato di dire che il cliente che dovrà essere sdoppiato,
oltre al requisito STATUS posto a "NO", dovrà anche essere di volta in
volta selezionato da una casella combinata.. ma dovrebbe cambiare poco
per il senso del codice...
Marco