Private Sub Command1_Click() Dim esegui, fine As Boolean Dim posizione, tipo_finmsg As Integer Dim Casa, Codice, Msg, Verifica As String 'Dim tmp As Currency Dim contatore, Costo, decrem As Double Dim Sconto As Single contatore = 0 DB_ARTICOLI.Refresh posizione = 1 decrem = 0 esegui = True On Error Resume Next ' Open db LISTINO_GO.DatabaseName = Dir1 & "\" & File1 LISTINO_GO.RecordSource = "select * from listino_go order by codice_marca, codice_articolo_produttore" LISTINO_GO.Refresh F_ARTAGG.Caption = "AGGIORNAMENTO DEL LISTINO IN CORSO SI PREGA DI ATTENDERE........" DBGrid1.Visible = False While Not LISTINO_GO.Recordset.EOF Fornit.Text = LISTINO_GO.Recordset.RecordCount Casa = LISTINO_GO.Recordset("codice_marca") Codice = LISTINO_GO.Recordset("codice_articolo_produttore") Costo = LISTINO_GO.Recordset("prezzo_listino_produttore_ok") Sconto = LISTINO_GO.Recordset("sconto_totale") Verifica = LISTINO_GO.Recordset("codice_marca") Casa = Trim(Casa) Codice = Trim(Codice) Costo = Costo Sconto = Sconto ric_casa.Text = Casa Ric_cod.Text = Codice If Asc(Verifica) > 33 And Asc(Verifica) <> 127 Then If Err.Number <> 0 Then esegui = False DB_ARTICOLI.RecordSource = "select * from db_articoli where casa = " & Chr$(34) & Casa & Chr$(34) & " and codice = " & Chr$(34) & Codice & Chr$(34) DB_ARTICOLI.Refresh If Not DB_ARTICOLI.Recordset.EOF Then DB_ARTICOLI.Recordset.Edit DB_ARTICOLI.Recordset("Listino_Casa") = Costo DB_ARTICOLI.Recordset("sconto_fornitore") = Sconto DB_ARTICOLI.Recordset("precedente") = DB_ARTICOLI.Recordset("COSTO") ' tmp = Costo - (Costo * DB_ARTICOLI.Recordset("sconto_fornitore") / 100) ' If tmp - Fix(tmp) <> 0 Then ' DB_ARTICOLI.Recordset("COSTO") = Format((Costo - (Costo * DB_ARTICOLI.Recordset("sconto_fornitore") / 100)), F_MENU.FormatoEuro) ' Else DB_ARTICOLI.Recordset("COSTO") = Format((Costo - (Costo * DB_ARTICOLI.Recordset("sconto_fornitore") / 100)), F_MENU.FormatoEuro) ' End If DB_ARTICOLI.Recordset("LISTINO") = Format((DB_ARTICOLI.Recordset("costo") + (DB_ARTICOLI.Recordset("costo") * DB_ARTICOLI.Recordset("ricarico") / 100)), F_MENU.FormatoEuro) DB_ARTICOLI.Recordset("TOTIVA") = Format(((DB_ARTICOLI.Recordset("LISTINO") * DB_ARTICOLI.Recordset("IVA") / 100)), F_MENU.FormatoEuro) DB_ARTICOLI.Recordset("Totale") = Format((DB_ARTICOLI.Recordset("LISTINO") + DB_ARTICOLI.Recordset("TOTIVA")), F_MENU.FormatoEuro) DB_ARTICOLI.Recordset("DATA") = Date DB_ARTICOLI.Recordset.Update DoEvents contatore = contatore + 1 End If DB_ARTICOLI.RecordSource = "select * from db_articoli order by casa, codice" DB_ARTICOLI.Refresh LISTINO_GO.Recordset.MoveNext posizione = posizione + 1 decrem = decrem + 1 Lstato.Caption = Fornit.Text & "Mancano alla fine " & Fornit.Text - decrem Else fine = True End If Wend DBGrid1.Visible = True Call Form_Activate MsgBox "Sono Stati Aggiornati N°: " & contatore & " Articoli" If esegui Then tipo_finmsg = 0 Msg = "Aggiornamento del listino completato." & Chr$(13) Msg = Msg & "Se necessario inserire un altro disco e riavviare" If MsgBox(Msg, tipo_finmsg, "Aggiornamento Listino") = 1 Then End If Else tipo_finmsg = 0 Msg = "Si è verificato un errore riselezionare il file d'aggiornamento e riprovare" & Chr$(13) If MsgBox(Msg, tipo_finmsg, "Aggiornamento Listino") = 1 Then End If End If LISTINO_GO.Recordset.Close F_ARTAGG.Caption = "Aggiornamento Listino Articoli Singoli""" End Sub