Arrotondare valore di una tabella in access

di segretoautomobili il
8 risposte
Salve a tutti,
avrei necessità di arrotondare un campo con finale in "90" in un campo di una tabella di access, al momento sono riuscito grazie a consigli ricevuti sul forum a farlo in excel, utilizzando la macro di seguito inserita, qualcuno può aiutarmi a fare la stessa cosa in access.

Grazie

Option Explicit
Sub arrotonda()
Dim ur As Long, i As Long
Dim a, b
ur = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To ur
a = Int(Cells(i, 22).Value)
If Val(Right(a, 2)) <= 90 Then
b = Left(a, Len(a) - 2) & "90"
ElseIf Val(Right(a, 2)) > 90 Then
b = Val(Left(a, Len(a) - 2)) + 1 & "90"
End If
Cells(i, 22) = b
Next i
End Sub

8 Risposte

  • Puoi adattare lo stesso codice ovviamente lavorando sui record e non sulle celle. Devi avere le conoscenze base di access ovviamente
  • Non ho capito nulla...
    Fai un esempio banale... di Excel non ci importa molto anche se il VBA è assimilabile...
  • Esatto oregon, mi riferisco proprio a quello
  • Potevi ricordarlo tu ... non tutti hanno seguito il thread...
  • Avevo inserito già la macro che mi era stata consigliata per excel, per velocizzare.

    prima mi dicevi di adattare il codice con access facendo riferimento ai record e non alle celle, scusa l'ignoranza, ma come dovrei fare?
  • Devi effettuare una conversione fra gli oggetti di Excel e quelli di Access, come: il foglio attivo (ActiveSheet) nell'insieme dei record (Recordset); e le celle (Cells) nei relativi campi (Fields).
    Chiaramente, adattando gli elementi alla luce della conoscenza di logica e codice da applicare.
  • Ciao Willy, purtroppo non saprei come fare, io sono riuscito al momento ad utilizzare la funzione if nella tabella access, l'unica cosa che non riesco a fare e dare il finale in "90"

    b = Left(a, Len(a) - 2) & "90"

    non riesco a capire che istruzione usare invece di (& "90") in quanto mi darebbe errore, riesci a darmi una mano

    grazie
Devi accedere o registrarti per scrivere nel forum
8 risposte