Buonasera a tutti voi esperti...
Ho bisogno di chiedere un piccolo aiuto.
In un database, tra le varie tabelle e maschere, c'è una tabella in particolare denominata tblSetup con la relativa maschera chiamata frmSetup
In tabella ho vari campi: QUALIFICA, COGNOME, NOME, RUOLO ed infine PASSWORD (nel quale ho il problema).
La rappresentazione grafica del campo PASSWORD è data da un button che al suo click richiama una inputbox dove al suo interno mi permette di digitare una password da me scelta. Al click su OK della inputbox, il campo PASSWORD, viene riempito dalla parola appena scritta, ma in modo cifrato (dopo nel codice vedrete come).
Non vorrei essere ripetitivo ma per non sbagliare spiego passo passo ciò che faccio:
- Apro la form SETUP per abilitare nuovi account
- Inserisco la qualifica, il cognome, il nome e il ruolo
- Clicco sul button password =====> appare una Inputbox che mi chiede di impostare una password
- Inserisco una password a piacere e poi clicco su OK della inputbox per impostare la password all'account appena creato
- In un'altra form mi appare una lista fatta di Account abilitati
- Scelgo l'Account a piacere dalla listbox, poi mi viene richesta la password per proseguire, dunque inserisco la password.
- Clicco su Ok e poi il database fa il suo percorso.....
Il mio problema è il seguente: quando cerco di inserire un nuovo record, (ovvero scrivo la qualifica, il cognome, il nome e il ruolo) al click sul button per l'inserimento della password, il database mi mostra Errore 94 - Utilizzo non valido di Null.
Credo che il problema è legato al fatto che in quel momento la routine verifica che il campo PASSWORD è vuoto, perciò va in debug.
Infatti se inserisco i dati direttamente in tabella e poi li visualizzo in maschera, il problema non si pone.
Di seguito vi posto il codice del button password chimato "btnViewEditPwd"
Private Sub btnViewEditPwd_Click()
Dim s As String, np As String
s = cipher([password], 0) =======> IL PROBLEMA E' QUI QUANDO PROVO AD INSERIRE PER LA PRIMA VOLTA UNA PASSWORD
np = ""
Do
np = InputBox("Inserire la nuova password o confermare la vecchia", "Gestione password", s)
Loop Until np <> ""
s = cipher(np)
CurrentDb.Execute "UPDATE operatori SET password = '" & Replace(s, "'", "''") & "' WHERE id_op = " & id_op
End Sub
Spero che qualcuno mi posso aiutare e che non sia troppo difficile. Premetto che tutto ciò non è frutto della mia mano.
Grazie a tutti.