DATABASE3

Memeriksa Tabel di Suatu Database

Memeriksa tabel di dalam suatu database menggunakan reference DAO.

Langkah2:
1. Buat 1 Project baru dengan 1 Form dan 1 Commanbutton.
2. Tambahkan reference Microsoft DAO 3.51 Object Library.
3. Ketik coding berikut ke editor form yang bertalian. Ketik Coding berikut ini pada Form.

Code:

Public Function TableExists(DatabaseName$, _
TableName$) As Boolean
‘DataBaseName adalah nama file database yang akan ‘diperiksa
apakah TableName ada di dalamnya
Dim oDB As Database, td As TableDef
On Error GoTo ErrorHandler
‘Sesuaikan dengan cara membuka file database yang ‘dipassword
jika file database tersebut dipassword…
Set oDB = Workspaces(0).OpenDatabase(DatabaseName)
On Error Resume Next
Set td = oDB.TableDefs(TableName)
TableExists = Err.Number = 0
oDB.Close
Exit Function
ErrorHandler:
Select Case Err.Number
Case 3024
MsgBox “Database tidak ada!”, _
vbCritical, “Database Error”
End
Case Else
MsgBox Err.Number & ” – ” & _
Err.Description
End Select
Exit Function
End Function
Private Sub Command1_Click()
‘Ganti “Akademik.mdb” di bawah dengan nama database ‘Anda
dengan catatan masih terdapat dalam direktori ‘yang sama
dengan program ini berada.
DatabaseName$ = App.Path & “\Akademik.mdb”
‘Ganti “Mahasiswa” dengan nama tabel yang ingin Anda ‘periksa.
TableName$ = “Mahasiswa”
Call TableExists(DatabaseName$, TableName$)
If TableExists(DatabaseName$, TableName$) = True Then
MsgBox “Tabel ” & TableName$ & ” ada!”, _
vbInformation, “Tabel Ada”
Else
MsgBox “Tabel ” & TableName$ & ” tidak ada!”, _
vbCritical, “Tidak Ada”
End If
End Sub

Memproteksi Database Access dengan Password.

Memproteksi suatu file database Access dengan password baru jika file tersebut belum di-password. Jika file sudah di-password sebelumnya, akan muncul pesan peringatan. Coding ini menggunakan reference “Microsoft DAO 3.51 Object Library” dari menu Project->References.

Langkah2:
1. Buat 1 Project baru dengan 1 Form, dan 2 Commandbutton.
2. Ketik coding berikut ke dalam editor form yang bertalian. Ketikkan coding berikut ini pada form.

Code:
‘Tombol Command1 untuk memprotect dengan password baru,
‘sedangkan tombol Command2 untuk menghapus password ‘yang ada,
dengan syarat harus memasukkan password ‘lamanya terlebih
dahulu…
Public Sub SetDatabasePassword(DBFile As String, _
NewPassword$)
On Error GoTo salah
Dim db As Database
‘Buka file database
Set db = OpenDatabase(DBFile, True)
‘Set password baru
db.NewPassword “”, NewPassword$
‘db.NewPassword “”, “”
‘Tutup file database
db.Close
Exit Sub
salah:
Select Case Err.Number
Case 3024
MsgBox “File tidak ditemukan atau path file
salah!”, vbCritical, “File Tidak Ditemukan”
End
Case 3031
MsgBox “File sudah dipassword!”, _
vbCritical, “File sudah dipassword”
End
Case 3044
MsgBox “Nama direktori/path salah!”, _
vbCritical, “Direktori Salah”
End
Case Else
MsgBox Err.Number & vbCrLf & _
Err.Description & vbCrLf & _
“Hubungi programmer Anda !”, _
vbInformation, “Peringatan”
End
End Select
End Sub
Private Sub Command1_Click()
NewPassword$ = InputBox(“Masukkan password: “, “Set
Password Baru”)
If NewPassword$ = “” Then Exit Sub
Call SetDatabasePassword(App.Path & “\Akademik.mdb”,
NewPassword$)
MsgBox “File berhasil dipassword!”, _
vbInformation, “Sukses Password”
End Sub
Public Sub ClearDatabasePassword(DBFile As String,
OldPassword$)
On Error GoTo salah
Dim db As Database
‘Buka file database
Set db = OpenDatabase(DBFile, True, False, “;pwd=” &
OldPassword$)
‘Hapus password jika berhasil membuka file tsb
‘db.NewPassword OldPassword$, “”
‘Tutup database
db.Close
Exit Sub
salah:
Select Case Err.Number
Case 3024
MsgBox “File tidak ditemukan atau path file
salah!”, vbCritical, “File Tidak Ditemukan”
End
Case 3031
MsgBox “Password salah!”, vbCritical, _
“Password Salah”
End
Case 3044
MsgBox “Nama direktori/path salah!”, _
vbCritical, “Direktori Salah”
End
Case Else ‘Kasus lainnya, silahkan
‘diterjemahkan sendiri
MsgBox Err.Number & vbCrLf & _
Err.Description & vbCrLf & _
“Hubungi programmer Anda !”, _
vbInformation, “Peringatan”
End
End Select
End Sub
Private Sub Command2_Click()
OldPassword$ = InputBox(“Masukkan password lama: “, “Hapus
Password”)
Call ClearDatabasePassword(App.Path & “\Akademik.mdb”,
OldPassword$)
MsgBox “Password berhasil dihapus!”, _
vbInformation, “Sukses Hapus Password”
End Sub
Menampilkan Status Pengambilan Data di ADO
Menampilkan status kemajuan pengambilan data dari database dengan menggunakan event FetchProgress milik ADO (Microsoft ActiveX Data Objects 2.0 Library).
Langkah2:
1. Buat 1 Project baru dengan 1 Form.
2. Tambahkan 1 DataGrid, 1 Commandbutton, 1 Label, dan 1Progressbar. Progressbar dapat Anda ambil dari Add Component: Microsoft Windows Common Controls 5.0 (SP2).
3. Tambahkan reference Microsoft ActiveX Data Objects 2.0 Library dari menu Project->References.
4. Ketik coding berikut ke dalam editor form yang bertalian. Ketik Coding berikut ini pada Form.
Code:
Option Explicit
‘Setiap variabel yg digunakan harus dideklarasikan ‘karena
dipakai di beberapa prosedur, deklarasikan di ‘atas
Private WithEvents objRst As ADODB.Recordset
Private rsTotal As ADODB.Recordset
Private maks As Integer
Private Sub Command1_Click()
Dim strConn As String
Dim strSQL As String
‘Karena proses ini memakan waktu, ganti pointer
‘mouse menjadi bentuk Hourglass (jam pasir)
Screen.MousePointer = vbHourglass
DoEvents
‘Sesuaikan lokasi database di PC Anda
strConn = “Provider=Microsoft.Jet.OLEDB.4.0;” & _
“Data Source=” & App.Path &
“\mahasiswa.mdb;” & _
“Persist Security Info=False”
‘Buat recordset baru untuk menampung jumlah record
Set rsTotal = New ADODB.Recordset
rsTotal.CursorLocation = adUseClient
rsTotal.Open “SELECT COUNT(‘NIM’) AS Jlh FROM t_mhs”,
strConn
‘Tampung jumlah record seluruhnya dari rsTotal
maks = Val(rsTotal.Fields(0))
‘Ambil data dari tabel t_mhs
strSQL = “SELECT * FROM t_mhs”
‘Buat recordset baru untuk melihat proses kemajuan
Set objRst = New ADODB.Recordset
objRst.CursorLocation = adUseClient
objRst.Properties(“Initial Fetch Size”) = 0
objRst.Properties(“Background Fetch Size”) = 1
DoEvents
‘Inisialisasi jumlah record ke progressbar
ProgressBar1.Max = maks
ProgressBar1.Value = 0
‘Buka tabel… di sini mulai proses pengambilan…
objRst.Open strSQL, strConn, adOpenKeyset,
adLockOptimistic, adAsyncFetch
DoEvents
End Sub
Private Sub objRst_FetchProgress(ByVal Progress As _
Long, ByVal MaxProgress As Long, adStatus As _
ADODB.EventStatusEnum, ByVal pRecordset As _ ADODB.Recordset)
Me.Caption = Progress ‘Tampilkan kemajuan di judul
‘atas form
ProgressBar1.Value = Progress
‘Tampilkan persentase kemajuan di Label1
Label1.Caption = Format((Progress / maks) * 100, _
“###”) & “%”
‘Jika seluruh record sudah berhasil diambil…
If ProgressBar1.Value = MaxProgress Then
‘Tampilkan ke DataGrid
ProgressBar1.Value = 0
Label1.Caption = “”
Set DataGrid1.DataSource = objRst
‘Normalkan pointer Mouse kembali
Screen.MousePointer = vbDefault
End If
End Sub
Mengubah Password Database
Mengubah password suatu database.
Langkah2:
1. Buat 1 project baru dengan 1 form, 1 commandbutton
2. Tambahkan reference Microsoft DAO 3.5 Object Library atau yang lebih tinggi lagi, dari menu Project->References.
3. Ketik coding berikut ke dalam editor form yang bersangkutan. Ketik coding berikut ini pada Form.
Code:

‘Jika Anda mendapat pesan “Unrecognized Database ‘format”,
kemungkinan Anda menggunakan Access 2000 dan ‘Anda tidak
mempunyai Microsoft DAO 3.6 Object Library
‘pilih file C:\Program Files\Common Files\Microsoft
‘Shared\Dao\dao360.dll
‘Jika di komputer Anda terinstall Access 2000, Anda ‘mempunyai
file ini.
Private Sub ChangeAccessPassword(OldPass As String, _ NewPass
As String)
Dim Db As Database
‘Buka dataase, menggunakan password yang lama.
‘Ganti “C:\MyDir\Mydb1.mdb” dengan nama file
‘database Anda
Set Db = OpenDatabase(“C:\MyDir\Mydb1.mdb”, True, False,
“;pwd=” & OldPass)
‘Ganti menjadi password baru
Db.NewPassword OldPass, NewPass
‘Tutup database
Db.Close
End Sub
Private Sub Command1_Click()
‘Ganti “oldPassword” dengan password database, dan
‘”newPassword” dengan password baru yang Anda inginkan.
Call ChangeAccessPassword(“oldPassword”, _
“newPassword”)
End Sub

Tinggalkan komentar

Belum ada komentar.

Comments RSS TrackBack Identifier URI

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s