![]() |
|
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 |