VI POSTO LA PARTE DEL CODICE CHE MI INTERESSA MODIFICARE
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.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

Rispondi quotando