VI POSTO LA PARTE DEL CODICE CHE MI INTERESSA MODIFICARE
codice:
Private Sub IT30_Click()
Dim Copia, Counter, Topo, Conta, Archimede, Minni, Pluto, Pippo
Dim dbs As Database, rst As Recordset, rst1 As Recordset, rst2 As Recordset, SMS1, SMS2
SMS1 = MsgBox("Vuoi che aggiorni il file XXXXXX.XLS???", vbYesNo, "CONFERMA AGGIORNAMENTO")
If SMS1 = 6 Then
Copia = Shell("PERCORSO\Torneria.bat", vbNormalFocus)
Do While Counter < 30000000 ' Ciclo interno.
Counter = Counter + 1 ' Incrementa il contatore.
Loop
Set dbs = CurrentDb ' Restituisce il riferimento al database corrente.
Set rst = dbs.OpenRecordset("SELECT * FROM ;") ' Apre il recordset sulla tabella
Do Until rst.EOF ' Esegue fino alla fine del file.
rst.Delete ' Edita il record corrente lo salva nel file TXT ed elimina il record
rst.MoveNext ' Si sposta al record successivo.
Loop
rst.Close
Set rst = dbs.OpenRecordset("SELECT * from Carico_torneria;")
Set rst1 = dbs.OpenRecordset("SELECT Transfer1.Materiale1, Transfer1.[Dt#in#al+presto], Transfer1.[Qtà confermata], Transfer1.[Quantità operazioni], Transfer1.[Giacenza Grezzo] FROM Transfer1 WHERE (((Transfer1.[Dt#in#al+presto]) Is Not Null));")
Do Until rst1.EOF
rst.AddNew
rst!Materiale = rst1!Materiale1
rst!Data_inizio = rst1![Dt#in#al+presto]
rst!qt_conf = rst1![Qtà confermata]
rst!qt_operazione = rst1![Quantità operazioni]
rst!giacenza = rst1![Giacenza Grezzo]
rst!foglio = "Transfer1"
rst.Update
rst1.MoveNext ' Si sposta al record successivo.
Loop
rst1.Close
Set rst1 = dbs.OpenRecordset("SELECT Transfer2.Materiale1, Transfer2.[Dt#in#al+presto], Transfer2.[Qtà confermata], Transfer2.[Quantità operazioni], Transfer2.[Giacenza Grezzo] FROM Transfer2 WHERE (((Transfer2.[Dt#in#al+presto]) Is Not Null));")
Do Until rst1.EOF
rst.AddNew
rst!Materiale = rst1!Materiale1
rst!Data_inizio = rst1![Dt#in#al+presto]
rst!qt_conf = rst1![Qtà confermata]
rst!qt_operazione = rst1![Quantità operazioni]
rst!giacenza = rst1![Giacenza Grezzo]
rst!foglio = "Transfer2"
rst.Update
rst1.MoveNext ' Si sposta al record successivo.
Loop
rst1.Close
Set rst1 = dbs.OpenRecordset("SELECT Transfer3.Materiale1, Transfer3.[Dt#in#al+presto], Transfer3.[Qtà confermata], Transfer3.[Quantità operazioni], Transfer3.[Giacenza Grezzo] FROM Transfer3 WHERE (((Transfer3.[Dt#in#al+presto]) Is Not Null));")
Do Until rst1.EOF
rst.AddNew
rst!Materiale = rst1!Materiale1
rst!Data_inizio = rst1![Dt#in#al+presto]
rst!qt_conf = rst1![Qtà confermata]
rst!qt_operazione = rst1![Quantità operazioni]
rst!giacenza = rst1![Giacenza Grezzo]
rst!foglio = "Transfer3"
rst.Update
rst1.MoveNext ' Si sposta al record successivo.
Loop
rst1.Close
Set rst1 = dbs.OpenRecordset("SELECT Transfer4.Materiale1, Transfer4.[Dt#in#al+presto], Transfer4.[Qtà confermata], Transfer4.[Quantità operazioni], Transfer4.[Giacenza Grezzo] FROM Transfer4 WHERE (((Transfer4.[Dt#in#al+presto]) Is Not Null));")
Do Until rst1.EOF
rst.AddNew
rst!Materiale = rst1!Materiale1
rst!Data_inizio = rst1![Dt#in#al+presto]
rst!qt_conf = rst1![Qtà confermata]
rst!qt_operazione = rst1![Quantità operazioni]
rst!giacenza = rst1![Giacenza Grezzo]
rst!foglio = "Transfer4"
rst.Update
rst1.MoveNext ' Si sposta al record successivo.
Loop
rst1.Close
Set rst1 = dbs.OpenRecordset("SELECT Transfer5.Materiale1, Transfer5.[Dt#in#al+presto], Transfer5.[Qtà confermata], Transfer5.[Quantità operazioni], Transfer5.[Giacenza Grezzo] FROM Transfer5 WHERE (((Transfer5.[Dt#in#al+presto]) Is Not Null));")
Do Until rst1.EOF
rst.AddNew
rst!Materiale = rst1!Materiale1
rst!Data_inizio = rst1![Dt#in#al+presto]
rst!qt_conf = rst1![Qtà confermata]
rst!qt_operazione = rst1![Quantità operazioni]
rst!giacenza = rst1![Giacenza Grezzo]
rst!foglio = "Transfer5"
rst.Update
rst1.MoveNext ' Si sposta al record successivo.
Loop
rst1.Close
rst.Close
Set rst = dbs.OpenRecordset("SELECT * FROM dbo_DATE_TORNERIA;") ' Apre il recordset sulla tabella
Do Until rst.EOF ' Esegue fino alla fine del file.
rst.Delete ' Edita il record corrente lo salva nel file TXT ed elimina il record
rst.MoveNext ' Si sposta al record successivo.
Loop
rst.Close
'Set rst = dbs.OpenRecordset("SELECT * from IT30;")
Set rst = dbs.OpenRecordset("SELECT codice from IT30 group by codice;")
Set rst1 = dbs.OpenRecordset("SELECT * from dbo_DATE_TORNERIA;")
Do Until rst.EOF
Archimede = rst!CODICE
Set rst2 = dbs.OpenRecordset("SELECT Carico_torneria.*, Carico_torneria.Materiale FROM Carico_torneria WHERE (((Carico_torneria.Materiale)=" & Chr(34) & Archimede & Chr(34) & "))ORDER BY Carico_torneria.Data_inizio;")
Topo = 0
Conta = 0
Do Until rst2.EOF
Minni = 0
Pippo = 0
Pluto = 0
Minni = Val(rst2!qt_conf)
Pippo = Val(rst2!qt_operazione)
If Conta = 0 Then
Pluto = rst2!giacenza
If IsNull(Pluto) Then Pluto = 0
Pluto = Val(Pluto)
Topo = Pluto
End If
If Pippo - Minni > Topo Then
rst1.AddNew
rst1!CODICE = Archimede
rst1!Data = rst2!Data_inizio
rst1!foglio = rst2!foglio
rst1!data_import = Date
rst1.Update
rst2.MoveLast
Topo = 0
End If
Topo = Topo - Pippo
Conta = Conta + 1
rst2.MoveNext
Loop
rst.MoveNext
Loop
rst.Close
rst1.Close
rst2.Close
dbs.Close
SMS2 = MsgBox("Importazione conclusa.", vbOKOnly, "IMPORTAZIONE DATE DA ORDINI TORNERIA")
End If
DoCmd.OpenReport "Report_Magazzino_IT30_data", acViewPreview
End Sub
COME VEDETE IL CONTATORE E' IMPOSTATO MANUALMENTE A 30000000 MILLISECONDI IO LO VORREI IMPOSTARE IN MANIERA AUTOMATICA CIOE' CHE SI INTERROMPA QUANDO IL FILE BAT HA CONCLUSO LA COPIA.