Funzione dlookup in form login

di il
4 risposte

Funzione dlookup in form login

Buona sera ho creato un db access.
ho creato una tabella chiamata tblpassword e una maschera con una txt chiamata cbopass e un pulsante.
ora nel pulsante provo a dire ad access che se la password e quella scritta nella cbo allora aprimi la pagina Home.
quindi comando il pulsante in questo modo.
Dim password ad string
If password = Dlookup ("password","tblpassword","password=" & [cbopass]'"") Then DoCmd.OpenForm (Home)
End If
mi fa sempre errore. operando senza operatore oppure il codice non è parte di una macro o non valido all'esterno di una routine. grazie a tutti

4 Risposte

  • Re: Funzione dlookup in form login

    Non funziona per diversi motivi:

    1) cbopass è una casella di testo... tu devi concatenare il "contenuto" della casella di testo.
    2) Ti manca una '&' nell'ultima concatenazione
    3) password è nullo quindi non ha senso confrontarlo con ciò che viene restituito dalla DLokkup.

    Questo funziona (l'ho commentato in modo da farti capire come lavora):
    
    ' Il tipo di dato restituito da DLookup è Variant
    Dim strPass As Variant
    
    ' Per poter accedere alle proprietà di un controllo, questo
    ' deve avere lo stato attivo    
    cbopassword.SetFocus
    
    ' Valorizzo strPass col valore restituito dalla funzione DLookup
    strPass = DLookup("[password]", "[tblpassword]", "[password] = '" & cbopassword.Text & "'")
    
    ' Verifico se la funzione ha trovato una corrispondenza
    ' Se l'ha trovata, apro la form
    If (strPass <> Empty) Then
       DoCmd.OpenForm ...
    End If
    
  • Re: Funzione dlookup in form login

    Grazie mille penso di aver capito tutto il codice che hai scritto. faro così . grazie
  • Re: Funzione dlookup in form login

    Buongiorno tutto funziona perfettamente. grazie. vorrei migliorare l'app con una funzione carina all'apertura della maschera home vorrei che mi dice il nome di chi ha aperto- quindi ripeto il codice che mi hai scritto dicendo che mi deve tirare fuori il campo nome dalla tblpassword se la password è quella scritta nella txtpass. mi dice sempre errore operando senza operatore.
    grazie
  • Re: Funzione dlookup in form login

    Ciao vorrei inserire un messaggio di benvenuto all'utente che entra quindi dopo aver inserito la passwor mi dice benvenuto.....
    uso lo stesso metodo e scrivo if (strpass<>empty)then MsgBox "ciao "nome_utente)
    non funziona. dove sbaglio?
Devi accedere o registrarti per scrivere nel forum
4 risposte