HELP CODICE

mercoledì 26 gennaio 2011 - 12.57
Tag Elenco Tags  VB.NET  |  Access (.mdb)  |  Office 2007

emmekappa Profilo | Newbie

HO USATO QUESTO CODICE PER UN LOGIN, MA QUALCOSA NON VA...

...AIUTO...


Private Sub nome pulsante
Username.SetFocus
If Username = “COGNOME1” And Password = “PASSWORD1” Then
MsgBox “Accesso Garantito”, vbInformation, “AZIENDA”
MsgBox “Benvenuto”, vbInformation, “AZIENDA”
DoCmd.Close
DoCmd.OpenForm “nome scheda”
ElseIf Username = “COGNOME2” And Password = “PASSWORD2” Then
MsgBox “Accesso Garantito”, vbInformation, “AZIENDA”
MsgBox “Benvenuto”, vbInformation, “AZIENDA”
DoCmd.Close
DoCmd.OpenForm “nome scheda”
Else
MsgBox “ACCESSO NEGATO - Password Errata”, vbInformation, “AZIENDA”
End If
End Sub

dinoxet Profilo | Senior Member

prova con un case when :

Private Sub nome pulsante
Username.SetFocus
case when Username = “COGNOME1” And Password = “PASSWORD1” Then
MsgBox “Accesso Garantito”, vbInformation, “AZIENDA”
MsgBox “Benvenuto”, vbInformation, “AZIENDA”
DoCmd.Close
DoCmd.OpenForm “nome scheda”
when Username = “COGNOME2” And Password = “PASSWORD2” Then
MsgBox “Accesso Garantito”, vbInformation, “AZIENDA”
MsgBox “Benvenuto”, vbInformation, “AZIENDA”
DoCmd.Close
DoCmd.OpenForm “nome scheda”
Else
MsgBox “ACCESSO NEGATO - Password Errata”, vbInformation, “AZIENDA”
End case
End Sub


DINOXET
__________________________________________
impossible is only a word

emmekappa Profilo | Newbie

prima mi dava sempre l'ultima opzione

ACCESSO NEGATO - Password Errata

adesso con le modifiche mi da errore di sintassi, grazie, ma non credo sia la soluzione giusta.

micto27 Profilo | Senior Member

Ciao,

il codice mi sembra Ok, a parte i caratteri che delimitano le varie stringhe (i doppi apici aperti e chiusi),
che potrebbero dare fastidio.
Prova a sostituirli con il carattere "doppio apice" standard:

Private Sub nome pulsante Username.SetFocus If Username = "COGNOME1" And Password = "PASSWORD1" Then MsgBox "Accesso Garantito", vbInformation, "AZIENDA" MsgBox "Benvenuto", vbInformation, "AZIENDA" DoCmd.Close DoCmd.OpenForm "nome scheda" ElseIf Username = "COGNOME2" And Password = "PASSWORD2" Then MsgBox "Accesso Garantito", vbInformation, "AZIENDA" MsgBox "Benvenuto", vbInformation, "AZIENDA" DoCmd.Close DoCmd.OpenForm "nome scheda" Else MsgBox "ACCESSO NEGATO - Password Errata", vbInformation, "AZIENDA" End If End Sub

altra cosetta, che però non so se c'entra nel tuo caso,
intendi validare le credenziali indipendentemente dalla valutazione dei caratteri minuscoli/maiuscoli
o vuoi che i dati forniti coincidano perfettamente?
Nel primo caso potresti eventualmente fare così:

Private Sub nome pulsante Username.SetFocus If UCase(Username) = "COGNOME1" And UCase(Password) = "PASSWORD1" Then MsgBox "Accesso Garantito", vbInformation, "AZIENDA" MsgBox "Benvenuto", vbInformation, "AZIENDA" DoCmd.Close DoCmd.OpenForm "nome scheda" ElseIf UCase(Username) = "COGNOME2" And UCase(Password) = "PASSWORD2" Then MsgBox "Accesso Garantito", vbInformation, "AZIENDA" MsgBox "Benvenuto", vbInformation, "AZIENDA" DoCmd.Close DoCmd.OpenForm "nome scheda" Else MsgBox "ACCESSO NEGATO - Password Errata", vbInformation, "AZIENDA" End If End Sub

Michele

emmekappa Profilo | Newbie

GRAZIE

I DATI DOVREBBERO COINCIDERE PERFETTAMENTE...

ho cambiato le virgolette e adesso mi dice:

errore di run-time "424"
necessario oggetto

non pensavo fosse così complicato, ma in cosa sbaglio?

micto27 Profilo | Senior Member

Su quale riga ottieni l'errore?

C'è dell'altro codice in ballo?

Ciao

emmekappa Profilo | Newbie

non c'è altro codice e mi evidenzia in giallo la scritta:

Username.SetFocus

cmq, io il codice l'ho messo su EVENTO - CLICK MOUSE di un pulsante

ed i dati li inserisco in due caselle di testo non associate, in quanto username e password le scrivo nel codice. Almeno questo è corretto?

micto27 Profilo | Senior Member

Se la riga "gialla" è la seguente
>
>Username.SetFocus
>

allora verrebbe da dire che l'oggetto "Username" sia nullo.
Vuoi postarmi in allegato il file access (o una copia dello stesso eliminando tutto ciò che non c'entra)?

Michele

emmekappa Profilo | Newbie

che vuol dire che l'oggetto "Username" sia nullo

micto27 Profilo | Senior Member

>che vuol dire che l'oggetto "Username" sia nullo

prova a mettere un "breakpoint" sulla riga in questione e quando il debug si ferma sulla riga
prova, sull'istruzione Username.SetFocus a evidenziare la parola Username e premi Shift+F9
per vedere cosa contiene.

Oppure mandami il file

Ciao

emmekappa Profilo | Newbie

con shift+F9 su username mi dice valore vuoto

micto27 Profilo | Senior Member

>con shift+F9 su username mi dice valore vuoto

esatto, tu provi ad invocare il metodo "SetFocus" di un oggetto che non esiste
e quindi il programma si blocca in errore dicendoti
"come faccio a fare SetFocus?"

emmekappa Profilo | Newbie

Ho tolto tutto tranne la maschera di accesso...non so se ho fatto bene...cmq...vedremo

micto27 Profilo | Senior Member

Ciao,
ho scaricato il file che hai postato, però aprendolo non
viene riconosciuto il formato.
E' un file di MS ACCESS?
Di che versione?

Michele

emmekappa Profilo | Newbie

2007

micto27 Profilo | Senior Member

non ho Access 2007
riesci a salvarlo in una versione più vecchia (2002)?

Non so fino a che versione si può andare indietro con la funzione "Converti".
Ciao
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5