powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как программно поменять пароль в *.mdb или в *.mde?
11 сообщений из 11, страница 1 из 1
Как программно поменять пароль в *.mdb или в *.mde?
    #32192290
G&P
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Имеется ввиду не учетная запись, а обычная защита файла аксесс...
...
Рейтинг: 0 / 0
Как программно поменять пароль в *.mdb или в *.mde?
    #32192341
Фотография progist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
db.NewPassword strPwdOld, strPwdNew
или можно в CompactDatabase
...
Рейтинг: 0 / 0
Как программно поменять пароль в *.mdb или в *.mde?
    #32192412
G&P
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо за помощь, но вот беда, не хотит он в случае db.NewPassword strPwdOld, strPwdNew менять пароль текущей базы данных. Ругается. Как быть?
...
Рейтинг: 0 / 0
Как программно поменять пароль в *.mdb или в *.mde?
    #32192505
G&P
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>All

Так как все-таки менять пароль открытой базы данных или это впринципе невозможно?
...
Рейтинг: 0 / 0
Как программно поменять пароль в *.mdb или в *.mde?
    #32192591
Хам трамвайный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пароль можно менять естли
база открыта монопольно
...
Рейтинг: 0 / 0
Как программно поменять пароль в *.mdb или в *.mde?
    #32192635
G&P
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо Хам, что откликнулся...

...Но у меня в параметрах базы стоит флажок "Открывать монопольно". А она все равно не хочет. Не знаю, может это глюк... Может есть средство установки монопольного доступа при открытии базы программно, т.е. принудительно открывать её монопольно?
...
Рейтинг: 0 / 0
Как программно поменять пароль в *.mdb или в *.mde?
    #32192702
Хам трамвайный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я открывал так
запустил аксесс (не базу)
а в меню аксесса "открыть"
выбрал в окне базу и нажал
кнопку "открыть монопольно"
а потом
currentdb.NewPassword "","145"
...
Рейтинг: 0 / 0
Как программно поменять пароль в *.mdb или в *.mde?
    #32192736
G&P
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да и я также... но теперь другая проблема: при нажатии на кнопку смены пароля нет никаких сообщений, всё тихо. В обработчике события кнопки пишу:
Код: plaintext
1.
2.
3.
4.
5.
Private Sub Кнопка4_Click()
Dim op As String, np As String
op = OldPass.Value
np = NewPass.Value
Application.CurrentDb.NewPassword op, np
End Sub

но пароль не меняется. Мож код не такой?
...
Рейтинг: 0 / 0
Как программно поменять пароль в *.mdb или в *.mde?
    #32193482
G&P
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это снова я...

Вчера вечером облазил всю справку. Нашел только то, что можно открывать базу как CurrentDatabase с пометкой Exclusive только из другой базы. Может кто подскажет, можно ли при непосредственном открытии файла mdb или mde программно указать, что открывать его нужно монопольно?
С уважением...
...
Рейтинг: 0 / 0
Как программно поменять пароль в *.mdb или в *.mde?
    #32193537
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот вам "программная" смена пароля
Источник: http://www.trigeminal.com/lang/1033/codes.asp?ItemID=5#5
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
'--------------------------------------------------
'   basDatabasePassword
'
'   Get the database password of a Jet  3 . 0 / 3 . 5  database.
'
'    --------------------------
 
'   This code is provided for the express purpose of destroying the burgeoning
'   shareware industry of Jet  3 .x/ 3 .5x database password crackers. You should
'   keep in mind that it is still quite illegal to break into a database you have
'   no authorization to view. Please don't do anything that would cause me to
'   have less respect for you than for the lifeless souls who try to charge money
'   for code of this nature on a "per database" basis.
'
'   TO USE:
'    1 ) Create a new module in any VBA host like Access, Excel, or Visual Basic
'   2) Hit <Ctrl+G> to get to the debug window
'    3 ) Run the following line of code in the debug window (replacing c:\foo.mdb with
'           the full path/name to your database:
'
'               ? StPasswordOfStDatabase("c:\foo.mdb")
'
'   The function will return the Database Password to you.
'
'   --------------------------
'   Sample code to allow you to prove to yourself that the function
'   works (the following code can be run from the debug window).
'   Change the password from  01234567890123456789  to any
'   arbitrary value 1-20 characters in length:
'
'   Set dbe = CreateObject("dao.dbengine.35")
'   Set db = dbe.CreateDatabase( "c:\temp35.mdb" ,  ";LANGID=0x0409;CP=1252 ;COUNTRY= 0 ")
'   db.NewPassword "", "01234567890123456789"
'   db.Close: Set db = Nothing: Set dbe = Nothing
'   Debug.Print StPasswordOfStDatabase("c:\temp35.mdb")
'    --------------------------
 
'
'   (c)  1998  Trigeminal Software, Inc. All Rights Reserved
'--------------------------------------------------
Option Compare Binary
Option Explicit

Public Function StPasswordOfStDatabase(stDatabase As String) As String
    Dim hFile As Integer
    Dim ich As Integer
    Dim stBuffer As String
    Dim rgbytRaw() As Byte
    Dim rgbytPassword() As Byte
    Dim rgbytNoPassword() As Byte
    
    ' Create the byte array with the  20  bytes that are present when there
    ' is no database password
    rgbytNoPassword = ChrB(134) & ChrB(251) & ChrB(236) & ChrB(55) & ChrB(93) & _
                                ChrB(68) & ChrB(156) & ChrB(250) & ChrB(198) & ChrB(94) & _
                                ChrB(40) & ChrB(230) & ChrB(19) & ChrB(182) & ChrB(138) & _
                                ChrB(96) & ChrB(84) & ChrB(148) & ChrB(123) & ChrB(54)
                                
    ' Grab the  20  bytes from the real file whose password
    ' we are supposed to retrieve
    hFile = FreeFile
    Open stDatabase For Binary As #hFile
    Seek #hFile, 66 + 1
    rgbytRaw = InputB(20, #hFile)
    Close #hFile
    
    ' Enough prep, lets get the password now.
    ReDim rgbytPassword( 0  To  19 )
    For ich =  0  To  19 
        rgbytPassword(ich) = rgbytRaw(ich) Xor rgbytNoPassword(ich)
    Next ich

    ' Add a trailing Null so one will always be found, even if the password is 20
    ' characters. Then grab up to the first null we find and return the password
    stBuffer = StrConv(rgbytPassword, vbUnicode) & vbNullChar
    StPasswordOfStDatabase = Left$(stBuffer, InStr( 1 , stBuffer, vbNullChar, vbBinaryCompare) -  1 )
End Function
...
Рейтинг: 0 / 0
Как программно поменять пароль в *.mdb или в *.mde?
    #32193561
G&P
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...мда-а... неплохо, постараюсь разобраться. Спасибочки за вариант.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как программно поменять пароль в *.mdb или в *.mde?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]