Modules

5.16 Conversione in binario di un numero in base 10
  Christian Pozzati
Non avendo trovato nessun modulo o funzione già pronta su Access per convertire un numero in binario ho creato un piccolo modulo per fare ciò.

Qui sotto il codice di questo piccolo modulo utile per la funzione di conversione di numeri decimali e con piccola modifica anche quelli esadecimali.

La utilizzo per abilitare diverse opzioni per un record usando un solo campo

Esempio 45 = 101101
bit 1 = 1 opzione 1 attivata
bit 2 = 0 opzione 2 disattivata
bit 3 = 1 opzione 3 attivata
bit 4 = 1 opzione 4 attivata
bit 5 = 0 opzione 5 disattivata
bit 6 = 1 opzione 6 attivata

per evitare problemi di solito io utilizzo un binario formattato 00101101 su 8 bit.

Sicuramente ci saranno altri metodi comunque questo funziona egregiamente.

Public Function binaryCNV(Number, nbit As Integer, formated As Boolean) As String

'*********************************************************************************************************
' Funzione che converte un qualsiasi numero decimale in binario
' Number è il numero in base 10
' nbit è il numero di bit su cui articolare il numero binario
' formated = True se il numero binario deve essere formattato e False nel caso contrario

Dim j, nt, st, sf, nzero

Do While Number > 0
    nt = Int(Number Mod 2)
    Number = Int(Number / 2)
    If nt > 0 Then
        st = "1"
    Else
        st = "0"
    End If
sf = st & sf
Loop

If formated = True Then
    binaryCNV = String(nbit - Len(sf), "0") & sf
Else
    binaryCNV = sf
End If

End Function

La funzione è stata provata su Access 97 e su Access 2000, ma si ritiene che funzioni su tutte le versioni di Access.


Se pensate di avere del materiale freeware interessante e volete pubblicarlo, allora leggete qui.