Ribet ....
Jika anda menggunakan Access untuk mencari jalan cepat, maka operasi
yang anda sebut mungkin akan sama seperti jika anda membangun form
unbound dari vb. Tetapi jika anda memanfaatkan bound form access, saya
usulkan cara lain, yaitu tetap mempertahankan record di base-kan ke
tabel karena buatnya cepet, tetapi sedikit bermain vba di handel save
recordnya.
Saya simulasikan dengan suatu bound form terhadap suatu tabel, lalu saya
tambahkan satu tombol save dengan nama command8. Ide dasarnya adalah
dengan bermain status. Pelaksanaannya ada di tombol save.
Saya definisikan suatu status (variabel boolean) di form yang akan
mencatat apakah tombol save di pencet atau tidak.
Ingat bahwa save record di form bisa dilakukan dengan beberapa cara,
dengan menekan shift-enter, dengan menekan tombol pg-up dan pg-dn
(berpindah record), dengan menekan tombol panah di tombol navigasi
(pindah record), atau lewat macro.
Status ini yang pegang kunci, saya beri nama bolSaveButtonClicked. Dia
akan bernilai true jika tombol save di pencet (dengan maksud menyimpan
perubahan).
Lalu saya manfaatkan property dirty dari form (yang menandakan ada data
yang diedit). Jika memang status ini true, berarti prosedur save record
sudah sebagaimana mestinya, yaitu melalui tombol save, sedang jika
nilainya false, berarti proses save record dari mekanisme lain.
Selengkapnya lihat potongan kode berikut :
Option Explicit
Dim bolSaveButtonClicked As Boolean
Private Sub Command8_Click()
On Error GoTo errHandle
bolSaveButtonClicked = True
DoCmd.RunCommand acCmdSaveRecord
Exit Sub
errHandle:
MsgBox Err.Description, vbInformation, Err.Number
bolSaveButtonClicked = False
Exit Sub
End Sub
Private Sub Form_BeforeInsert(Cancel As Integer)
If Not bolSaveButtonClicked Then
If Me.Dirty Then Me.Undo
End If
End Sub
Private Sub Form_BeforeUpdate(Cancel As Integer)
If Not bolSaveButtonClicked Then
If Me.Dirty Then Me.Undo
End If
End Sub
Private Sub Form_Open(Cancel As Integer)
bolSaveButtonClicked = False
End Sub
Aksan Kurdin
Bambang Mahfudin wrote:
>
>
> Kakak senior mohon pencerahannya :
>
> Bagaimana membuat form yg tidak terhubung langsung
> ke tabel. Tetapi masih bisa melihat seluruh record yg ada
> di tabel
>
> Kemudian pada saat edit field tertentu saya harus tekan
> tombol save untuk menyimpan perubahan tersebut ke tabel.
>
> Tetapi apapun yg saya ubah tidak akan berpengaruh ke tabel
> selama tidak tekan tombol save.
>
> Demikian juga untuk add record baru
>
> Terima kasih
> Bambang Mahfudin
>