У нас есть база данных простого доступа, и мы хотели бы, чтобы кнопка в форме была доступна только для выбора сотрудников. (С кнопкой связано событие). Я хотел бы сохранить имена пользователей, которым разрешено нажимать на кнопку, в отдельной таблице.
Что я хотел бы сделать, это выполнить простой запрос, чтобы увидеть, существует ли имя пользователя в таблице, и установить включенное состояние кнопки в зависимости от результата.
Мой опыт работы с C # и SQL Server, но VBA и доступ являются новыми для меня, и я думаю, что я борюсь с причудами этой среды.
Я получил имя пользователя, вошедшего в систему, в строке fOSUserName
через вызов GetUserNameA в advapi32.dll, но я борюсь с простейшими запросами, чтобы определить, существует ли имя пользователя в таблице.
Dim strSQL As String
Dim intResult As Integer
Dim db As DAO.Database
Dim rs As Recordset
Set db = CurrentDb
strSQL = "SELECT COUNT(*) FROM [USERS] WHERE [USERS].[NAME] = '" & _
fOSUsername & "'"
Set rs = db.OpenRecordset(strSQL, dbOpenDynaset)
If Not rs.EOF Then
intResult = rs.Fields(0)
Else
intResult = 0
End If
rs.Close
db.Close
Это не удается на db.OpenRecordset
, выдавая мне ошибку
Ошибка времени выполнения «3061»:
Слишком мало параметров. Ожидаемый 1.
Кто-нибудь может предложить несколько указателей?