Errore run-time 6 overflow

di il
11 risposte

Errore run-time 6 overflow

Buongiorno,
sto inserendo dei dati attraverso una maschera di inserimento dati, ma ad un certo punto non riesco a procedere con l'inserimento e mi compare questo avviso: Non riesco a capire come risolvere, qualcuno potrebbe aiutarmi?
(si tratta di un database molto piccolo, sarò a 200 righe neanche)

11 Risposte

  • Re: Errore run-time 6 overflow

    In quale linea di codice?
  • Re: Errore run-time 6 overflow

    In questa linea:
    vPClCA = (vClCA / vTOTA) * 100

    dove vClCA = ((vk * vAbso) / 0.1) * CDbl(ClCA) * 0.001

    vClGA, vClDA, vClPA sono analoghi e
    vTOTA = vClCA + vClGA + vClDA + vClPA
    e
    vk = CDbl(k)
    vAbso = CDbl(Abso)

    (tutti numeri decimali così xxx.x)
  • Re: Errore run-time 6 overflow

    Mostra il codice completo e sopratutto la dichiarazione delle variabili altrimenti parliamo del nulla.
  • Re: Errore run-time 6 overflow

    Ok, va bene
    cosa è meglio? che copio tutto il codice delle vba qui (è lunghetto)? che mando un link con il database per visualizzare tutta la maschera?
    Grazie!
  • Re: Errore run-time 6 overflow

    Serve SOLO il codice della function/sub dove avviene l'errore e serve la parte di dichiarazione delle variabili se NON è compresa nella function.
  • Re: Errore run-time 6 overflow

    Ok, ecco:

    Dim vk As Double
    Dim vAbso As Double

    vk = CDbl(k)
    vAbso = CDbl(Abso)

    Dim vClCA As Double
    Dim vClGA As Double
    Dim vClDA As Double
    Dim vClPA As Double

    Dim vTOTA As Double

    vClCA = ((vk * vAbso) / 0.1) * CDbl(ClCA) * 0.001
    vClGA = ((vk * vAbso) / 0.1) * CDbl(ClGA) * 0.001
    vClDA = ((vk * vAbso) / 0.1) * CDbl(ClDA) * 0.001
    vClPA = ((vk * vAbso) / 0.1) * CDbl(ClPA) * 0.001

    vTOTA = vClCA + vClGA + vClDA + vClPA

    vPClCA = (vClCA / vTOTA) * 100 (qui da errore)
  • Re: Errore run-time 6 overflow

    PEr il fututo : il codice va inserito utilizzato l'apposito TAG CODE.

    Visualizza quanto vale VTOTA, probabilmente tende a Zero ...
  • Re: Errore run-time 6 overflow

    Ok, grazie.
    si esatto vTOTA è zero così come vCICA (e gli altri) poichè vAbso risulta zero (dovrebbe essere 0.5) mentre vK è giusto (6).
    visto che c'è un fattore zero (vAbso) il prodotto vCICA è zero
    quini il problema è vAbso che risulta zero a prescindere dal numero che io metto nella casella Abso, da cosa potrebbe essere dovuto?
  • Re: Errore run-time 6 overflow

    Aggiungio all'osservazione di Max, per la quale un numero diviso 0 da INFINITO, ed in programmazione è condizione da evitare con una condizione IF...THEN...

    Segui con il DEBUG la prima assegnazione di
    
    vAbso = CDbl(Abso)
    Debug.Print vAbso
    ...
  • Re: Errore run-time 6 overflow

    Ok! con il Debug funziona, ma quindi era solamente un errore dovuto al fatto che Abso non veniva interpretato correttamente? se mi capitasse una cosa analoga procedo nello stesso modo o si potrebbe cambiare qualcosa a monte per evitare questi intoppi? grazie
  • Re: Errore run-time 6 overflow

    Il Debug non serve a risolvere queste stranezze ma solo a trovarle e capire... quindi se, togliendolo ripropone l'anomalia, direi che c'è da indagare meglio...!
Devi accedere o registrarti per scrivere nel forum
11 risposte