открытие разных форм в зависимости от введенных данных

Histler
Дата: 06.12.2009 18:14:17
Добрый вечер! Очень нужна ваша помощь.
Мне необхожимо в зависимости от типа пользователя открывать определенную форму. для этого нужно по введенному логину (поле0) и паролю(поле2) в форме искать пользователя в таблице Сотрудники и присваивать его [ТипПользов] переменной...
Я попробовал сделать через find в recordset`е. [Login] и [Password] - это поля в таблице Сотрудники, по которым собственно и идет поиск. Все это действие бросил на кнопку.
Dim con As ADODB.Connection
Dim rec As ADODB.Recordset
Dim com As ADODB.Command
Dim str As String
str = "Provider=Microsoft.Jet.OLEDB.4.0"
Set con = CurrentProject.Connection
Set rec = New ADODB.Recordset
pole0 = Forms![EnterForm]![Поле0]
pole2 = Forms![EnterForm]![Поле2]
rec.Open "Сотрудники", con, adOpenDynamic, adLockReadOnly
rec.Find ("[Login] =" & pole0 & "And [Password]=" & pole2 & " "), 0, adSearchForward
User = rec![ТипПользов]
при вводе данных в форме и нажатии на кнопку выходить ошибка на строку rec.find:
Run-time error '3001':
Аргументы имеют неверный тип,выходят за пределы допустимого диапазона или вступают в конфликт друг с другом.
Типы проверял - Поле0, Поле2, Login и Password - текстового формата. маска ввода для Поле2 и Password - пароль. помогите, пожалуйста, исправить ошибку или подскажите как сделать по-другому :(
p.s. просьба не смеятся, т.к. я еще нуб в этом деле.
p.p.s. access 07
отакота
Дата: 06.12.2009 18:20:30
текстовые значения полей в строке условия надо брать в кавычки/апострофы
Histler
rec.Find ("[Login] ='" & pole0 & "' And [Password]='" & pole2 & "'"), 0, adSearchForward
Histler
Дата: 06.12.2009 18:28:03
исправил, ошибка осталась та же.
Histler
Дата: 06.12.2009 18:38:29
отдельно друг от друга "[Password] = '" & pole2 & "'" и "[Login] = '" & pole0 & "'" работают как надо...
может в Find нельзя использовать And или я его неправильно использую? :)
отакота
Дата: 06.12.2009 18:40:03
Dim SQL$
SQL = "select ТипПользов from Сотрудники where [Login] ='" & pole0 & "' And [Password]='" & pole2 & "'"
User = CurrentProject.Connection.Execute(SQL).Fields(0).Value
Histler
Дата: 06.12.2009 18:42:05
вау.. огромное спасибо, все работает!!!