Baza access i logowanie uwierzytelniające

0

Witam

jako że nie wyznaję się na VB to mam zagwozdkę..
taki kawałek kodu...
If (DLookup("[pass_user]", "T_USERS", "[id_user]='" & Nz(TB_Login) & "'")) <> TB_Password Then
MsgBox "ZLE HASLO", vbCritical, "ZLE HASLO"
loog_buttons TB_Login, "Bad password"
Exit Sub
End If

Przy logowaniu w formatce wybieram usera i nie wpisuje hasła...
logowanie przepuszcza i wywołuje kolejne okienko programu...
za drugim - kolejnym logowaniem - już sprawdza hasło z tablicy T_users
Ktoś podpowie gdzie w tym maleńkim kodzie jest błąd..?

1

Wstaw sobie linijkę przed tym IF taką:

Debug.Print TB_Login, TB_Password , DLookup("[pass_user]", "T_USERS", "[id_user]='" & Nz(TB_Login) & "'")

A w liniii z IF ustaw punkt przerwania. Wtedy będziesz widział, czemu IF przechodzi. Na moje któryś parametr jest niestawiony.

0

A jak sprawdzić wartości poszczególnych parametrów dla pierwszego "przebiegu".. Bo po wstawieniu punktu przerwania widzę póki co tyle że program sprawdzając warunek IF .......... <> TB_Password Then.... kończy działanie jako poprawne i przechodzi do dalszej części programu...
jak można wyświetlić co kryje się pod np. user , pass..?

Problem chyba w tym że przy pierwszym przebiegi Dlookup coś źle znajduje w tablicy....bo innego wytłumaczenia nie mam..
Kolejne razy już jest o.k...
Chciałbym własnie podejrzeć co Dlookup ma przechwycone w parametrach dla poszczególnych pól...

1

To jak ci się już program zatrzyma to najedź myszką na tb_password to pokaże ci jego wartość lub w immediate window (ctrl+g) wpisz:

?tb_password

i wcisnij enter

0

Dziękuję bardzo Panowie...
okazało się że przy "pierwszym" logowaniu po starcie programu wartość tb_password nie była ustalona ...przyjmowała NULL..no i to robiło różnicę.
Raz jeszcze WIELKIE dzięki

1 użytkowników online, w tym zalogowanych: 0, gości: 1