|
|
|
Активизация application role.
|
|||
|---|---|---|---|
|
#18+
How to Use Application Roles with Access Projects and SQL Server 2000 Desktop Edition Если следовать рекомендации Microsoft, то для активизации approle нужно проделать следующее: On Error GoTo EH 'This avoids a message that no records were returned. DoCmd.SetWarnings False Dim TSQL TSQL = "EXEC sp_setapprole 'AppRoleName', {Encrypt N 'Password'}, 'odbc'" 'This sets the app role on Connection #2. Application.CurrentProject.Connection.Execute TSQL 'This sets the app role on Connection #3. lst_approle.RowSource = TSQL lst_approle.Requery DoCmd.SetWarnings True MsgBox "The application Role is now in effect.", vbInformation Exit Sub EH: MsgBox Err.Number & ": " & Err.Description, vbCritical Тобишь, зачем-то в форме нужно создавать контр типа Listbox и назначать RowSource = TSQL. Без этого кешируются старые права доступа пользователя до активизации пользователя. А как активизировать approle через процедуру, выполняемую после соединения с SQLServer, а не через форму? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2004, 15:09 |
|
||
|
Активизация application role.
|
|||
|---|---|---|---|
|
#18+
Ну, там же ясно написано, роль активизируется в контексте соединения. ADP использует три соединения: #1 - для окна БД #2 - Application.CurrentProject.Connection #3 - для получения данных в списки, комбики и т.д. Доступ к 3 соединению из кода не получить, поэтому и используется промежуточный листбокс для активизации роли. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2004, 11:14 |
|
||
|
|

start [/forum/topic.php?fid=45&fpage=1665&tid=1675995]: |
0ms |
get settings: |
6ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
45ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 197ms |
| total: | 312ms |

| 0 / 0 |
