Condividi tramite

Nome utente e password

Anonimo
2013-02-14T20:11:59+00:00

Ciao a tutti

Vorrei creare una maschera che all'apertura del Database mi chieda di inserire nome utente e password per effettuare l'accesso. Ho già chiesto se è possibile farla e mi è stato detto di leggere qui le discussioni in merito all'argomento ma purtroppo non ho capito molto su come si fa. C'è nessuno che può caricare su skydrive un piccolo esempio su come fare?

Spero di non chiedere troppo! :-)

Ciao a tutti!

Vi spiego un po' meglio... ho una tabella chiamata utenti che come campi contiene Nome utente, password e altri campi. Poi ho creato una maschera per agevolare l'inserimento dei dati degli utenti e un altra maschera con 2 caselle di testo chiamate Nome Utente e Password e sotto 2 pulsanti, uno per dare la conferma dei dati inseriti nelle caselle di testo e un altro che serve per aprire la maschera per un nuovo inserimento utente. A me ora manca tutto il codice VB o le macro per far funzionare tutto. Spero che qualcuno sappia darmi qualche aiuto.

Ciao a tutti

Microsoft 365 e Office | Access | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2013-03-09T07:14:48+00:00

Prima ho aggiustato la tua routine, ma io in realtà scriverei così:

Option Explicit

Option Compare Database

Private Sub Comando9_Click() ' Ma lo chiamerei cmdOK

On Error GoTo ErrorHandler

Dim db  As DAO.Database

Dim sql As String

Dim rst As DAO.Recordset

Dim b   As Boolean

  ' Ma li chiamerei txtNome e txtPassword

  If Len(Testo5.Value) And Len(Testo1.Value) Then

    Set db = CurrentDb

    sql = "SELECT *" & _

          " FROM Nomi" & _

          " WHERE [Nome utente]='" & Testo5.Value & "';"

    Set rst = db.OpenRecordset(sql)

    With rst

      If .BOF And .EOF Then

        ' Nessun record

      Else

        b = .Fields("Password").Value = Testo1.Value

      End If

    End With

    If b Then

      DoCmd.Close acForm, Me.Name

    Else

      MsgBox "Nome Utente inesistente o Password errata." ' Perché

               ' non è bene dare troppe informazioni al riguardo

    End If

  Else

    MsgBox "Inserire Nome Utente e Password!"

  End If

ExitProcedure:

    On Error Resume Next

    rst.Close

    Set rst = Nothing

    Set db = Nothing

    Exit Sub

ErrorHandler:

    MsgBox Err.Description

    Resume ExitProcedure

End Sub

La risposta è stata utile?

0 commenti Nessun commento

30 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2013-03-07T19:53:29+00:00

    Ho copiato da un forum il codice vba che ho trovato qui però purtroppo mi da un errore sulla riga che ho sottolineato. Questa è la mia situazione, ho una maschera con 2 caselle di testo chiamate "testo5" per Nome utente e "testo1" per Password, poi sotto ho creato un pulsante chiamato "OK" in cui su l'evento click ho scritto questo codice vba:

     Private Sub Comando9_Click()

    Dim DB As DAO.Database

    Dim SQLStatement1 As String

    Dim SQLStatement2 As String

    Dim rst1 As DAO.Recordset

    Dim rst2 As DAO.Recordset

    If ((IsNull(Testo5.Value) = False) And (IsNull(Testo1.Value) = False)) Then

    Set DB = CurrentDb

    SQLStatement1 = "SELECT * " & _

    "FROM [Nomi]![Nome utente]" & _

    "WHERE codice='" & Testo5.Value & "';"

    Set rst1 = DB.OpenRecordset(SQLStatement1)

    If (rst1.RecordCount = 0) Then

    MsgBox ("Utente inesistente!")

    Else: SQLStatement2 = "SELECT password" _

    & "FROM [Nomi]![Password]" _

    & "WHERE codice= '" & Testo5.Value & "';"

    Set rst2 = DB.OpenRecordset(SQLStatement2)

    If (rst2.Fields!Password = Testo1.Value) Then

    DoCmd.Close acForm, "Login"

    MsgBox ("Accesso effettuato.")

    Else: Testo1.Value = ""

    MsgBox ("Password errata!")

    End If

    rst2.Close

    End If

    rst1.Close

    Set DB = Nothing

    Else: MsgBox ("Inserire Nome Utente e Password!")

    End If

    End Sub

    Mi dice che c'è un errore di sintassi nella clausola FROM.

    Probabilmente è tutto sbagliato, purtroppo io non ci capisco molto di programmazione e spero che qualcuno abbia un po' di pazienza e compassione e sappia aiutarmi.

    Grazie a tutti!

    Ciao!

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2013-03-04T14:03:58+00:00

    Ciao Enrico,

    per una migliore assistenza ti invio a postare la tua richiesta anche nel forum TechNet.

    Saluti,

    Inga

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2013-02-28T18:03:46+00:00

    Ciao Inga, si queste cose le so fare, vorrei capire come posso fare per far si che all'avvio del mio database mi si carica la maschera che ho creato per l'immissione di nome utente e password per poi accedere al database. Ho spiegato un po' la mia situazione sul post precedente, spero di essere sulla strada giusta! :-)

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2013-02-28T13:31:41+00:00

    Ciao Enrico Fabris,

    innanzitutto, mi scuso per il ritardo nel dare seguito alla tua richiesta di assistenza.

    Hai già provato a consultare i seguenti articoli?

    Creare una maschera utilizzando la Creazione guidata Maschera

    Creare una maschera utilizzando lo strumento Maschera

    Saluti,

    Inga

    La risposta è stata utile?

    0 commenti Nessun commento