selain dari cara mbah budilaks, mas gatot bisa juga mencegah perpindahan fokus 
melalui event before update dari text box tersebut, dengan menguji kondisi yang 
diinginkan, jika kondisi mengharuskan pengulangan input data, maka set variabel 
cancel dari procedure beforeupdate textbox menjadi -1:

Private Sub Text0_AfterUpdate()
    SysCmd acSysCmdClearStatus
End Sub

Private Sub Text0_BeforeUpdate(Cancel As Integer)
    If Not IsDate(Me.Text0.Text) Then
        Beep
        SysCmd acSysCmdSetStatus, "Nilai yang anda isikan bukanlah tanggal yang 
sah!"
        Cancel = -1
        Exit Sub
    End If
    If DateDiff("d", Me.Text0.Text, Date) >= 7 Then
        Beep
        SysCmd acSysCmdSetStatus, "Tanggal tidak boleh kurang dari tujuh hari 
lalu!"
        Cancel = -1
    End If
End Sub


berdasarkan pengalaman, user asal melihat kotak dialog yang muncul, itu pasti 
identik dengan error, tanpa membaca pesannya terlebih dahulu. sehingga kadang2 
message box yang kita tujukan mengenai proses sukses suatu proses, tetap saja 
dianggap sebagai error. maka dari itu, lebih halus jika memakai pesan di status 
bar, diiringi dengan bunyi beep. lebih sopan ... :) lagian user tidak terhalang 
dengan satu aksi menekan tombol ok untuk melanjutkan proses selanjutnya.

selain dari itu, anda perhatikan bahwa saya memakai explicit property text pada 
me.text0, bukannya me.text0.value. bedanya ? property text adalah berisi nilai 
text saat mendapat focus dan dalam kondisi dirty (belum tersimpan), sedangkan 
value adalah nilai yang sudah disimpan dalam tabel, atau nilai text0 saat focus 
sudah tidak di text0 lagi.


aksan kurdin


 
--- In [email protected], "Gatot Subroto" <ga...@...> wrote:
>
> Mohon bantuannya...maaf saya masih pemula.
> 
> misal : saya punya dua text box.  pada text box 1 saya beri syarat tertentu 
> misalnya range tanggal (bila dibandingkan dengan tanggal sekarang) kurang 
> dari 7 hari maka ada pesan error.  Saya pergunakan MsgBox (".....",vbOK) pada 
> setting after update.  Pesan tersebut sudah muncul, tapi setelah saya klik 
> tombol OK, kursor langsung berpindah ke text box 2.  Saya inginnya kursor 
> tetap pada text box 1, karena input tanggalnya masih salah.  Bagaimana 
> caranya?
> 
> Terima kasih atas bantuannya.
>


Kirim email ke