![]() |
![]() |
1. Aktifkan kembali project sebelumnya dan lakukan perubahan pada koding Event Form_Load, sebagai berikut :
Private Sub Form_Load() RsForum.Refresh RsForum.Recordset.LockEdits = True 'Pesimistik Locks End Sub
2. Lakukan perbaikan koding untuk Event cmdUpdate_Click menjadi sebagai berikut :
Private Sub cmdUpdate_Click() On Error GoTo ErrcmdUpdate_click If txtForumID.Text = "" Then MsgBox "Forum ID tidak boleh kosong", vbCritical, "Warning" Exit Sub End If If txtKeterangan.Text = "" Then MsgBox "Keterangan tidak boleh kosong", vbCritical, "Warning" Exit Sub End If If txtAlamat.Text = "" Then MsgBox "Alamat tidak boleh kosong", vbCritical, "Warning" Exit Sub End If RsForum.Recordset.Update Flag = flNone Call Kunci(True) Call AturTombol(True, True, True, False, False) RsForum.Recordset.Bookmark = RsForum.Recordset.LastModified CancelcmdUpdate: Exit Sub ErrcmdUpdate_click: Select Case Err.Number Case 3022 MsgBox "Telah terjadi duplikasi pada Forum ID", vbOKOnly + vbInformation, "Warning" Case 3167 MsgBox "Data telah dihapus pemakai lain" & vbCrLf & _ "Lakukan refresh data anda !", vbOKOnly + vbInformation Case 3197 'Data pada recordset telah berubah 'sejak ditampilkan. MsgBox "Data telah diubah oleh pemakai lain !", vbOKOnly + vbInformation 'Hal ini secara otomatis akan menyegarkan 'kembali recordset untuk menampilkan data terakhir RsForum.Recordset.Move 0 Resume CancelcmdUpdate Case 3260 'Record dikunci pemakai lain nHitung = nHitung + 1 'Mencoba mengunci dua kali 'Memungkinkan pemakai membuat keputusan ulangi, batal If nHitung > 2 Then nPilih = MsgBox("Data sedang dikunci pemakai lain" & vbCrLf & _ "Ulangi penguncian ?", vbYesNo + _ vbQuestion) If nPilih = vbYes Then nHitung = 1 Else Resume CancelcmdUpdate End If End If DoEvents 'menjalankan event windows 'menunda sejumlah waktu random nTunda = nHitung ^ 2 * Int(Rnd * 3000 + 1000) For i = 1 To nTunda: Next i Resume Case Else MsgBox "Error " & Err & ":" & Error, vbOKOnly Resume CancelcmdUpdate End Select End Sub
3. Lakukan percobaan yang sama seperti Latihan 1
AdvertisingBanner.com |