Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/15: Рейтинг темы: голосов - 15, средняя оценка - 4.60
1 / 1 / 0
Регистрация: 17.02.2010
Сообщений: 131
1

Как наложить пароль на базу *.mdb?

20.05.2011, 17:36. Показов 3142. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Как наложить пароль на базу *.mdb
Или запаролить отдельный столбец.
И при загрузке формы открыть базу и ввести пароль
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.05.2011, 17:36
Ответы с готовыми решениями:

Access. Копирование с одной базы b1.mdb содержимое в другую базу b2.mdb
Через ADOConnection1 подключил базу b1.mdb, ADOConnection2 подключил базу b2.mdb. В каждой из баз...

Как подключить базу mdb к Excel
Exel. Как подключить базу *.mdb Но можете посоветовать и другую базую.

Как создать динамически базу mdb
Помогите пожалуйста кто-нибудь. Нигде не могу найти информацию по созданию базы данных mdb...

Как поставить пароль в run-time-е на mdb через простой ADO?
Открываю базу так: MainDB.Open "c:projectsastelphones.mdb", "admin", Pass, adcdmtext а потом надо...

9
0 / 0 / 0
Регистрация: 13.07.2009
Сообщений: 39
20.05.2011, 18:44 2
1. установить пароль при создании базы данных с помощью ADOX
Код
objCatalog.Create ('Provider = Microsoft.Jet.OLEDB.4.0; Data Source=' & strPath & '; Jet OLEDB:Database Password = 1')
2. Установить пароль на существующую базу данных с помощью ADO
Код
connection.Execute 'alter database password NewPassword OldPassword'
Если пароль устанавливается впервые, вместо OldPassword следует поставить null. При этом св-во Mode, объекта Connection должно быть = adModeShareExclusive.

3. Ооткрыть базу с паролем для чтения и записи?

Код
ConnectionString  = 'Microsoft.Jet.OLEDB.4.0; Jet OLEDB:Database Password = ' & Password
0
1 / 1 / 0
Регистрация: 17.02.2010
Сообщений: 131
24.05.2011, 19:42  [ТС] 3
Можно вот это расстусовать :
'Если пароль устанавливается впервые, вместо OldPassword следует поставить null. При этом св-во Mode, объекта Connection должно быть = adModeShareExclusive. '

Я пробывал, безрезультатно...
0
0 / 0 / 0
Регистрация: 13.07.2009
Сообщений: 39
24.05.2011, 23:13 4
Вставте в форму и запустите.
Не забудте в Project -> References ->
Microsoft DAO 3.6 Object library
Microsoft ActiveX Data Object library (любой версии)


[code]

Private Sub Form_Load()

On Error Resume Next

'#################################################
'# Создаем базу в DAO - Microsoft DAO 3.6 Object library
'# так как в ADO не создать новую базу .MDB
'#################################################

Dim WS As Workspace
Dim db As Database
Dim strPath As String

strPath = 'c:MyTest.mdb'

'#################################################
'# Если база есть удаляем и создаем новую тестовую базу
'#################################################

If Dir$(strPath) Then
Kill (strPath)
End If

Set WS = DBEngine.Workspaces(0)
Set db = WS.CreateDataBase(strPath, dbLangGeneral)

'#################################################
'# Поставить пароль при создании базы
'# старый пароль , новый пароль
'# db.NewPassword '', 'attashe'
'#################################################

db.Close
WS.Close
Set db = Nothing
Set WS = Nothing

'#################################################
'# Соединяемся с помощью ADO заменяем пароль, создаем
'# таблицу, заносим и получаем запись
'#################################################

Dim strSQL As String
Set cnDatabase = New ADODB.connection

With cnDatabase
.Mode = adModeShareExclusive
.Provider = 'Microsoft.Jet.OLEDB.4.0;'
.ConnectionString = strPath
.Open
End With

' меняем пароль
strSQL = 'alter database password test Null'
cnDatabase.Execute (strSQL)
' создаем таблицу
strSQL = 'CREATE TABLE test (test text(10))'
cnDatabase.Execute (strSQL)
' вводим текст
strSQL = 'INSERT INTO test (test) VALUES ('test')'
cnDatabase.Execute (strSQL)

Dim msg As String
Dim ErrObj As Object

'#################################################
'# Выводим сообщение об ощибках
'#################################################

If cnDatabase.Errors.Count > 0 Then

For Each ErrObj In cnDatabase.Errors
msg = msg & 'Error at connection database ' & strPath & vbCrLf & ' ' & ErrObj.Number & ':' & ErrObj.Description
Result = (Result And ErrObj.Number = 0)
Next
MsgBox msg, vbCritical + vbOKOnly, 'Data base test'

End If

cnDatabase.Close
Set cnDatabase = Nothing

'#################################################
'# Подключаемся заново с использованием нового пароля
'#################################################

Set cnDatabase = New ADODB.connection

With cnDatabase
.Mode = adModeShareExclusive
.Provider = 'Microsoft.Jet.OLEDB.4.0; Jet OLEDBatabase Password = test'
.ConnectionString = strPath
.Open
End With

Dim rs As New ADODB.Recordset

' получаем текст из базы
strSQL = 'SELECT * FROM test'
rs.Open strSQL, cnDatabase

'#################################################
'# Выводим сообщение об ошибке или успехе
'#################################################

If Errors.Count > 0 Then
MsgBox Err.Description, vbCritical + vbOKOnly, 'Data base test'
Else
MsgBox 'DB created' & vbCrLf & 'Set new Password ' & vbCrLf & 'Create table and insert text - ' & rs('test'), vbInformation + vbOKOnly, 'Data base test'
End If

rs.Close

cnDataba
0
0 / 0 / 0
Регистрация: 13.07.2009
Сообщений: 39
24.05.2011, 23:54 5
Сменить пароль используя Microsoft DAO 3.6 Object library

Код
Dim WS As Workspace
Dim db As Database
Dim strPath As String

strPath = 'c:MyTest.mdb'

Set WS = DBEngine.Workspaces(0)
Set db = WS.OpenDatabase(strPath, True)
db.newPassword '', newPassword

db.Close
WS.Close
Set db = Nothing
Set WS = Nothing
Тестируйте и выбирайте подходящий вариант
0
1 / 1 / 0
Регистрация: 17.02.2010
Сообщений: 131
25.05.2011, 00:16  [ТС] 6
Спасибо огромное!!! Всё клёво!!!

Поставил пароль 1. - db.newPassword '', 1
А убрать не могу... - db.newPassword 1, '' (не работает)
0
0 / 0 / 0
Регистрация: 13.07.2009
Сообщений: 39
25.05.2011, 01:25 7
Удалить пароль используя Microsoft DAO 3.6 Object library

Код
Dim strOldPwd As String
Dim WS As Workspace
Dim db As Database

strOldPwd = ' Ваш старый пароль

Set WS = DBEngine.Workspaces(0)
Set db = WS.OpenDatabase(strPath, True, False, 'MS Access;pwd=' & strOldPwd)
db.NewPassword strOldPwd, ''

db.Close
WS.Close
Set db = Nothing
Set WS = Nothing
0
Vrubel1
29.05.2011, 19:29 8
месяц еб__ся других слов нет!!!!

Устанавливаю пароль и группы с помощью мастера Ассеss.
Подругому не смог. Пароль не подходит тк входишь в базу с правами Админа.
'Убей Админа!!!' ))))))

Я так понимаю в софте по защите Ассеss серьёзный глюк.
3 / 3 / 0
Регистрация: 18.01.2009
Сообщений: 140
29.05.2011, 20:48 9
>Я так понимаю в софте по защите Ассеss серьёзный глюк.
Вряд ли ...
0
1 / 1 / 0
Регистрация: 17.02.2010
Сообщений: 131
09.06.2011, 16:30  [ТС] 10
Актуально...
0
09.06.2011, 16:30
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.06.2011, 16:30
Помогаю со студенческими работами здесь

Как открыть mdb базу, лежащую на хостинге?
с компьютера - ясно connectionString = ...

Подключение к базе данных mdb (непечатный пароль со спецсимволами)
Привет всем. Подскажите пожалуйста, кто знает как подключиться к базе данных mdb. Возникают...

Неполучается создать базу. (mdb)
Здраствуйте уважаемые знатоки. Неполучается создать базу mdb. Делал все согласно...

Перенос из базы mdb в базу mde
Всем привет, вообщем, есть две базы данных Access одна mdb другая mde и нужно перенести из mdb в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru