Routine per lo sviluppo di database per la qualità

Eseguire calcoli e controlli con visual basic

1/2

In alcuni casi può tornare comodo utilizzare visual basic per effettuare operazioni, semplici o complesse, sui dati.
L'utilizzo di visual basic permette di effettuare facilmente controlli condizionali sui calcoli: è infatti possibile leggere un record, verificare i dati presenti e decidere che tipo di calcolo effettuare.
Si supponga per esempio di avere un database in è memorizzato il ciclo di lavorazione di un articolo:
  • montaggio 10 secondi al pezzo
  • verniciatura 30 minuti per 100 pezzi

Se arriva un ordine di 1000 pezzi come sarà possibile calcolare il tempo necessario alla produzione?
Una semplice query potrebbe moltiplicare il tempo per la quantità da produrre nel caso del montaggio, ma come può fare per la verniciatura?

Non è un problema usare DAO o ADO, ma dobbiamo fare in modo che il sistema si accorga di quali siano le lavorazioni in cui il tempo è espresso per lotto (nel record deve esserci questa informazione) e successivamente utilizzi una formula diversa per fare i conti.

Ci sarà d'aiuto il comando If ... Then che già abbiamo incontrato.

Il ragionamento è il seguente:

  • se il tempo indicato è per la produzione di 1 pezzo il sistema deve moltiplicare 10 secondi per 1000 pezzi e dividere per 3600 per trovare le ore di lavoro.
  • se il tempo indicato è per lotto è necessario dividere la quantità in ordine 1000 per i 100 pezzi del lotto e moltiplicare il risultato ottenuto per 30. Per ottenere il tempo in ore è necessario dividere ancora per 60.

Credo che a questo punto ci sia qualcuno che dica che le formule erano chiare, ma che non lo è il modo per renderle operative!
Invece è più facile da fare che da dire. Faremo un esempio con Access 97 e quindi DAO.

Ogni articolo ha un suo ciclo di lavoro in cui sono descritti:

  • Chiave
  • Articolo
  • n° progressivo
  • lavorazione
  • tempo
  • unità di misura del tempo
  • Numero pezzi per lotto

Per convenzione diciamo che se il numero di pezzi per lotto è 0 il tempo di lavoro si intende per pezzo.
Creiamo quindi una tabella di nome cicli che contiene i dati sopra elencati. Appena creata riempiamola di dati (usate il database d'esempio).

Si noti che nella tabella abbiamo creato un campo in cui salveremo il risultato del calcolo (ore_calcolate).
Per convenzione inoltre faremo in modo che se il campo min_sec è uguale a Sì (-1) il tempo sia in minuti.

 

vai a pagina successiva >>>


Scarica il database Access 97 d'esempio


 

Ritorna

Torna Su

Chiedi aiuto