2017-01-31 4 views
0

Я пытаюсь создать простую регистрационную форму в доступе и пользователь должен иметь их назначенный доступ к базе данных/форме на основе регистрационной информации пользователя, ниже мой код:Открыть форму из другой базы данных доступа

Private Sub Command6_Click() 
Dim strpassword As String 
Dim password As String 
Dim userlevel As String 

password = Me.Text0.Column(1) 
userlevel = Me.Text0.Column(2) 
strpassword = Me.Text4 


If strpassword = password Then 
If userlevel = "Admin" Then 
GetObject ("C:\Users\accessdatabase.accdb") 
DoCmd.OpenForm "Form" 
Else 
(open other forms) 
End If 

Else 
MsgBox "Nope" 
End If 

End Sub 

Я знаю, что я делаю что-то неправильно. Я действительно не знаю, что делать после проверки уровня пользователя. Я обыскал несколько команд онлайн, но это не сработало. Anyhelp бы реально оценить

Благодаря

ответ

4

Я бы объявить объект в качестве переменной:

Dim objAdb As Object 

Set objAdb = CreateObject("Access.Application") 
objAdb.OpenCurrentDatabase ("C:\Users\accessdatabase.accdb") 
objAdb.DoCmd.OpenForm "Form" 

независимо от метода, необходимо указать DoCmd, что у вас есть к другой БД

+0

Привет, Скотт, спасибо за быстрый ответ. Я применил ваш код и не было сообщения об ошибке, но форма не появилась :(Возможно, я пропустил что-то еще? –

+1

Я воспроизвел этот код, используя один из моих собственных БД, и смог открыть форму. Вы уверены, что имя формы полностью корректно? Когда вы проходите через код, открывается ли DB правильно? – scott

+0

Да, мне нужно заменить «Access.application» в Set objAdb = CreateObject («Access.Application») на все, что угодно, пожалуйста. –

Смежные вопросы