Форумы HiProg.com - MS ACCESS, VBA, VB

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

ник: Мюллер
В adp нужно использовать конструкцию CurrentProject, а не CurrentDB


Function paswd()
Dim strSelect As String
Dim strFrom As String
Dim strWhere As String
Dim qqq As String
Dim www As String
Dim strsql As String

strSelect = "SELECT "
strSelect = strSelect & "pas.id, pas.idparol, pas.iduser, pas.idrole, pas.idnaim"
strFrom = " FROM pas"
strWhere = " WHERE true"

If Nz([Form_Avtorizaciy].[Пароль], 0) > 0 Then qqq = [Form_Avtorizaciy].[Пароль]
If Nz([Form_Avtorizaciy].[Логин], 0) > 0 Then www = [Form_Avtorizaciy].[Логин]

If Nz(qqq, 0) > 0 Then strWhere = strWhere & " and pas.idparol = " & """" & qqq & """"
If Nz(www, 0) > 0 Then strWhere = strWhere & " and pas.iduser = " & """" & www & """"

strsql = strSelect & strFrom & strWhere & ";"
CurrentDb.QueryDefs("password").SQL = strsql
paswd = strsql
End Function



Не самое лучшее решение. Как вы думаете, что произойдет, если в поле логин я наберу что-то вроде Миша DROP TABLE pas /* Ну плюс поиграться со скобками и кавычками
Конструкцию DROP TABLE можно заменить на delete.
С SQLсервером будьте осторожней. Да и опять же все запросы желательно реализовать используя возможности самого SQLSERVER ( см. stored procedure, function )


Ваше имя:

Пароль:

Цитировать: [quote][/quote] Код: [code][/code]
Жирный: [b][/b] Наклонный: [i][/i]
URL: [url][/url] 

Сообщение:

 Размер файла не более 50 Кбт. Большие файлы можно размещать на www.slil.ru

Прикрепить:

 

Для вставки смайлов в текст щелкните по значку.