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

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

...Но у меня в параметрах базы стоит флажок "Открывать монопольно". А она все равно не хочет. Не знаю, может это глюк... Может есть средство установки монопольного доступа при открытии базы программно, т.е. принудительно открывать её монопольно?
...
Рейтинг: 0 / 0
26.06.2003, 15:43
    #32192702
Хам трамвайный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как программно поменять пароль в *.mdb или в *.mde?
я открывал так
запустил аксесс (не базу)
а в меню аксесса "открыть"
выбрал в окне базу и нажал
кнопку "открыть монопольно"
а потом
currentdb.NewPassword "","145"
...
Рейтинг: 0 / 0
26.06.2003, 15:55
    #32192736
G&P
G&P
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как программно поменять пароль в *.mdb или в *.mde?
да и я также... но теперь другая проблема: при нажатии на кнопку смены пароля нет никаких сообщений, всё тихо. В обработчике события кнопки пишу:
Код: 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
27.06.2003, 11:32
    #32193482
G&P
G&P
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как программно поменять пароль в *.mdb или в *.mde?
Это снова я...

Вчера вечером облазил всю справку. Нашел только то, что можно открывать базу как CurrentDatabase с пометкой Exclusive только из другой базы. Может кто подскажет, можно ли при непосредственном открытии файла mdb или mde программно указать, что открывать его нужно монопольно?
С уважением...
...
Рейтинг: 0 / 0
27.06.2003, 12:13
    #32193537
Senin Viktor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как программно поменять пароль в *.mdb или в *.mde?
Вот вам "программная" смена пароля
Источник: 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
27.06.2003, 12:28
    #32193561
G&P
G&P
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как программно поменять пароль в *.mdb или в *.mde?
...мда-а... неплохо, постараюсь разобраться. Спасибочки за вариант.
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как программно поменять пароль в *.mdb или в *.mde? / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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