Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it L'avatar di alexxxb
    Registrato dal
    Oct 2007
    Messaggi
    124

    [access] maschera input a 2 decimali

    Ciao,
    in un campo di una form ho bisogno di imporre una maschera di input che consente l'immissione di un numero qualsiasi, ma con la limitazione di 2 decimali.
    Come devo impostare la maschera di input per mettere questo blocco?
    Grazie

  2. #2
    Utente di HTML.it L'avatar di alexxxb
    Registrato dal
    Oct 2007
    Messaggi
    124
    Nessun aiuto?
    Provo a porre la questione in modo diverso (che poi è quello che realmente mi serve):
    Ho bisogno di impostare a codice una condizione IF.

    esempio:
    IF in quel campo c'è un numero con 2 decimali THEN esegui una determinata azione
    IF in quel campo c'è un numero con più di 2 decimali THEN esegui una determinata azione

    Come posso scrivere questa condizione?

    Grazie

  3. #3
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    codice:
    Function decimali(numero As Double)
    If InStr(numero, ",") = 0 Then
        decimali = 0
    Else
        decimali = Len(Split(numero, ",")(1))
    End If
    End Function
    In base al numero di cifre decimali restituite dalla funzione applichi la tua condizione.

  4. #4
    Utente di HTML.it L'avatar di alexxxb
    Registrato dal
    Oct 2007
    Messaggi
    124
    Originariamente inviato da nicola75ss
    codice:
    Function decimali(numero As Double)
    If InStr(numero, ",") = 0 Then
        decimali = 0
    Else
        decimali = Len(Split(numero, ",")(1))
    End If
    End Function
    In base al numero di cifre decimali restituite dalla funzione applichi la tua condizione.
    Grazie, ma mon ho capito benissimo com e usarla...
    Dopo il primo Then al posto di "decimali = 0" devo inserire l'azione?
    Mi spieghi dopo ELSE cosa significa quella riga? Come faccio a specificare la condizione dei 2 decimali? (es. IF i decimali sono 2)
    Grazie

  5. #5
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Originariamente inviato da alexxxb
    Grazie, ma mon ho capito benissimo com e usarla...
    Dopo il primo Then al posto di "decimali = 0" devo inserire l'azione?
    Mi spieghi dopo ELSE cosa significa quella riga? Come faccio a specificare la condizione dei 2 decimali? (es. IF i decimali sono 2)
    Grazie
    No. La funzione la lasci così com'è.
    La riga dopo l'else semplicemente usa la funzione split per separare la parte intera da quella decimale in base al carattere separatore (,"). Tramite l'indice (1) ricavi la parte decimale e su questa, con la funzione len, la lunghezza della stringa, cioè il numero di cifre decimali.

    Quindi quando ti occorre non fai altro che richiamarla come qualsiasi altra funzione di access.

    iif(decimali(nome_campo)=0,...... )

  6. #6
    Utente di HTML.it L'avatar di alexxxb
    Registrato dal
    Oct 2007
    Messaggi
    124
    Originariamente inviato da nicola75ss
    No. La funzione la lasci così com'è.
    La riga dopo l'else semplicemente usa la funzione split per separare la parte intera da quella decimale in base al carattere separatore (,"). Tramite l'indice (1) ricavi la parte decimale e su questa, con la funzione len, la lunghezza della stringa, cioè il numero di cifre decimali.

    Quindi quando ti occorre non fai altro che richiamarla come qualsiasi altra funzione di access.

    iif(decimali(nome_campo)=0,...... )
    Cioè per verificare la condizione dei 2 decimali dovrei scrivere così?
    iif(decimali(nome_campo)=2)

  7. #7
    Utente di HTML.it L'avatar di alexxxb
    Registrato dal
    Oct 2007
    Messaggi
    124
    Così non mi funziona...
    Non riesco a capire come scrivere la condizione dei 2 decimali nella stringa
    iif(decimali(nome_campo)=0,...... )

  8. #8
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    L'iif ha una sua sintassi

    http://www.techonthenet.com/access/f...vanced/iif.php

    Poi bisognerebbe capire in che contesto fai questo controllo sul numero di cifre decimali (maschera,query,ecc.) e cosa dovresti fare una volta appurato il numero.

  9. #9
    Utente di HTML.it L'avatar di alexxxb
    Registrato dal
    Oct 2007
    Messaggi
    124
    Originariamente inviato da nicola75ss
    L'iif ha una sua sintassi

    http://www.techonthenet.com/access/f...vanced/iif.php

    Poi bisognerebbe capire in che contesto fai questo controllo sul numero di cifre decimali (maschera,query,ecc.) e cosa dovresti fare una volta appurato il numero.
    Niente di speciale: in una form ho un campo numerico [campo1] ed un pulsante [comando1].
    Alla pressione del pulsante se il campo contiene un numero con 2 decimali mi esce una msgbox e se contiene più di 2 decimali me ne esce un'altra...
    E' fattibile con la function che mi hai postato?

  10. #10
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Originariamente inviato da alexxxb
    E' fattibile con la function che mi hai postato?
    Sì.

    codice:
    Private Sub pulsante_Click()
    If decimali(nome_campo) <= 2 Then
    .....
    Else
    ......
    End If
    End Sub

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.