Tips SistemThis article applies to a different operating system than the one you are using. Article content that may not be relevant to you is disabled.
Lanjutan: Memerlukan ahli coding, interoperabilitas, dan keterampilan multiuser.
Artikel ini hanya berlaku untuk Microsoft Access database (.mdb).
Microsoft Access telah dua fitur built-in keamanan untuk melindungi Anda
database:
Account pengguna/kelompok dan izin
Password database
Artikel ini menunjukkan Anda bagaimana Anda juga dapat mengatur sandi individu untuk masing-masing
bentuk dan untuk masing-masing laporan dalam database Anda.
Microsoft menyediakan contoh pemrograman hanya sebagai ilustrasi, tanpa jaminan apa pun baik tersurat maupun tersirat. Termasuk, namun tidak terbatas pada, jaminan tersirat mengenai kelayakan untuk diperdagangkan atau kesesuaian untuk keperluan tertentu. Artikel ini mengasumsikan bahwa Anda telah terbiasa dengan bahasa pemrograman yang ditunjukkan dan dengan alat yang digunakan untuk membuat dan mendebug prosedur. Teknisi dukungan Microsoft dapat membantu menjelaskan fungsionalitas prosedur tertentu, namun mereka tidak akan memodifikasi contoh untuk memberikan fungsionalitas tambahan atau menyusun prosedur untuk memenuhi persyaratan khusus Anda.
HATI-HATI: Jika Anda mengikuti langkah-langkah dalam contoh ini, Anda mengubah database contoh Northwind.mdb. Anda dapat membuat cadangan berkas Northwind.mdb dan ikuti petunjuk pada salinan database.
CATATAN: Kode contoh dalam artikel ini menggunakan Microsoft Data akses objek. Untuk kode ini untuk menjalankan dengan benar, Anda harus referensi perpustakaan objek Microsoft DAO 3,6. Untuk melakukannya, klik Referensi pada Alat menu di Editor Visual Basic, dan memastikan bahwa Perpustakaan objek Microsoft DAO 3,6 kotak centang dipilih.
Dengan menggunakan kode, Anda dapat meminta password ketika pengguna membuka formulir atau
laporan. Jika sandi yang benar masuk, formulir atau laporan dibuka.
Contoh berikut menunjukkan Anda bagaimana Anda dapat sandi melindungi perintah
bentuk dalam database contoh Northwind.mdb:
Mulai akses dan kemudian membuka database contoh Northwind.mdb.
Tekan ALT + F11 untuk memulai editor Microsoft Visual Basic.
Pada Masukkan menu, klik Modul.
Dalam lembar modul, ketik prosedur berikut:
Public MyPassword
Public Function KeyCode(Password As String) As Long
' This function will produce a unique key for the
' string that is passed in as the Password.
Dim I As Integer
Dim Hold As Long
For I = 1 To Len(Password)
Select Case (Asc(Left(Password, 1)) * I) Mod 4
Case Is = 0
Hold = Hold + (Asc(Mid(Password, I, 1)) * I)
Case Is = 1
Hold = Hold - (Asc(Mid(Password, I, 1)) * I)
Case Is = 2
Hold = Hold + (Asc(Mid(Password, I, 1)) * _
(I - Asc(Mid(Password, I, 1))))
Case Is = 3
Hold = Hold - (Asc(Mid(Password, I, 1)) * _
(I + Len(Password)))
End Select
Next I
KeyCode = Hold
End Function
Tekan ALT + F11 untuk kembali ke akses.
Di jendela Database, di bawah Objek, klik Tabel, lalu klik Baru.
Dalam Tabel baru kotak dialog, klik dua kali Lihat desain.
Membuat sebuah tabel baru sebagai berikut:
Table: tblPassword
---------------------------
Field Name: ObjectName
Data Type: Text
Field Size: 50
Field Name: KeyCode
Data Type: Text
Field Size: 25
Input Mask: Password
Table Properties: tblPassword
-----------------------------
PrimaryKey: ObjectName
Buka tblPassword meja dan kemudian masukkan data berikut:
ObjectName: Orders
KeyCode: 2818
Buat bentuk baru dalam design view dan menyimpan bentuk sebagai frmPassword.
Menambahkan textbox satu ke frmPassword yang disebut Text0, dan tombol perintah yang disebut CheckPassword.
Menetapkan Masukan Mask properti Text0 untuk "PASSWORD" (minus tanda kutip).
Tambahkan kode berikut pada OnClick event tombol CheckPassword dan kemudian simpan bentuk:
If IsNull(Forms!frmPassword!Text0.Value) Then
MsgBox "You cannot enter a blank Password. Try again."
Me!Text0.SetFocus
Else
MyPassword = Me!Text0.Value
DoCmd.Close acForm, "frmPassword"
End If
Membuka formulir pesanan dalam Design view.
Jika lembar properti tidak terlihat, klik Properti pada Lihat menu.
Ketik acara prosedur berikut dalam modul untuk OnOpen properti dari bentuk:
Private Sub Form_Open(Cancel as Integer)
Dim Hold As Variant
Dim tmpKey As Long
Dim I As Integer
Dim rs As DAO.Recordset
Dim db As DAO.Database
On Error GoTo Error_Handler
' Prompt the user for the Password.
DoCmd.OpenForm "frmPassword", acNormal, , , , acDialog
Hold = MyPassword
' Open the table that contains the password.
Set db = CurrentDb
Set rs = db.OpenRecordset("tblPassword", dbOpenTable)
rs.Index = "PrimaryKey"
rs.Seek "=", Me.Name
If rs.NoMatch Then
MsgBox "Sorry cannot find password information. Try Again"
Cancel = -1
Else
' Test to see if the key generated matches the key in
' the table; if there is not a match, stop the form
' from opening.
If Not (rs![keycode] = KeyCode(Cstr(Hold))) Then
MsgBox "Sorry you entered the wrong password." & _
"Try again.", vbOKOnly, "Incorrect Password"
Cancel = -1
End If
End If
rs.Close
db.Close
Exit Sub
Error_Handler:
MsgBox Err.Description, vbOKOnly, "Error #" & Err.Number
Exit Sub
End Sub
Tutup dan kemudian simpan bentuk perintah.
Membuka formulir pesanan dan kemudian ketik SANDI saat Anda diminta untuk sandi.
Perhatikan bahwa perintah membentuk membuka. KeyCode yang dihasilkan oleh SANDI cocok KeyCode dalam tabel tblPassword, dan tergantung pada kasus surat-surat dalam password yang masuk.
Menutup dan kemudian buka kembali bentuk perintah dan kemudian ketik Sandi saat Anda diminta untuk sandi.
Perhatikan bahwa Anda menerima pesan:
Maaf Anda memasukkan sandi yang salah. Coba lagi.
Bentuk perintah tidak terbuka karena prosedur sandi case-sensitive.
Untuk menentukan apakah KeyCode sesuai untuk string tertentu, ketik
berikut di jendela segera dan kemudian tekan ENTER:
?KeyCode("TestString")
Contoh sebelumnya kembali 5864.
Untuk menyembunyikan tabel tblPassword di jendela Database, klik kanan tblPassword meja, dan kemudian klik Properti. Pada jendela Properties, klik untuk memilih Tersembunyi Periksa kotak, dan kemudian klik Oke.
Note This is a "FAST PUBLISH" article created directly from within the Microsoft support organization. The information contained herein is provided as-is in response to emerging issues. As a result of the speed in making it available, the materials may include typographical errors and may be revised at any time without notice. See Terms of Use
(http://go.microsoft.com/fwlink/?LinkId=151500)
for other considerations.
PENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.
Klik disini untuk melihat versi Inggris dari artikel ini:209871
(http://support.microsoft.com/kb/209871/en-us/
)
Seberapa besar upaya Anda untuk menggunakan artikel ini?
Sangat sedikit
Sedikit
Sedang
Besar
Sangat besar
Berikan saran tentang apa yang dapat kami lakukan untuk menyempurnakan informasi ini
Terima kasih! Masukan Anda akan digunakan untuk membantu kami meningkatkan konten dukungan. Untuk opsi bantuan lainnya, kunjungi Halaman Beranda Bantuan dan Dukungan.