/* */

Thursday, June 9, 2011

[belajar-access] Re: Tanya : Validation Rules

If IsNull(Me.Data_G) And (Not IsNull(Me.Data_H)) Then
Cancel = True
MsgBox "DataG harus diisi dulu" & vbCrLf & "isi kosongkan dataH
, lalu isi dulu DataG"
ElseIf (Not IsNull(Me.Data_G)) And IsNull(Me.Data_H) Then
Cancel = True
MsgBox "DataH Tak Boleh Null"
ElseIf (Me.Data_H < 25 Or Me.Data_H > 35) And Me.Data_H > Me.Data_G
Then
Cancel = True
MsgBox "diluar batas dan lebih besar dari DataG"
ElseIf Me.Data_H > Me.Data_G Then
Cancel = True
MsgBox "lebih besar dari DataG"
ElseIf Me.Data_H = 0 Then
Cancel = True
MsgBox "tak boleh nol"
Else
Cancel = False
End If
'==============
--- In belajar-access@yahoogroups.com, "Agus Ariyanto"
<bobby_agus.ariyanto@...> wrote:
>
>
> Untuk Pak Sudarsono
>
> Saya sudah coba menggunakan cara seperti Anda, namun jika digabungkan
dengan syrat2 lainnya, maka kasus nya sama seperti sebelumnya.
> Dengan menggunakan fungsi elseIf, saya coba membuat kode2 seperti ini
:
>
> Private Sub Data_H_BeforeUpdate(Cancel As Integer)
> If Me.Data_H = 0 Then
> Cancel = True
> MsgBox "Nilai Tidak Boleh Nol"
> ElseIf (Me.Data_H < 25 Or Me.Data_H > 35) And (Me.Data_H > Me.Data_G)
Then
> Cancel = True
> MsgBox "Nilai diluar batas dan " & vbCrLf & "Lebih besar"
> ElseIf Me.Data_H > Me.Data_G Then
> Cancel = True
> MsgBox "Nilai lebih besar"
> ElseIf Me.Data_H < 25 Or Me.Data_H > 35 Then
> Cancel = True
> MsgBox "Nilai diluar batas"
> ElseIf Me.Data_G > 0 And IsNull(Me.Data_H) Then
> Cancel = True
> MsgBox "Nilai Tidak Boleh Kosong"
> ElseIf IsNull(Me.Data_G) And IsNull(Me.Data_H) Then
> Cancel = False
> End If
> End Sub
> ............
>
>
> Hasilnya sudah hampir seperti yg saya inginkan, cuma ada fungsi yg
tidak bisa. Contoh pada saat new record (pengisian baris berikutnya),
Jika Data_G Telah di-isi, namun Data_H Tidak di-isi maka Nilai tsb
lolos. Padahal kalau dilihat dr syratnya Jika Data_G telah diisi dan
Data_H = Null, maka ditolak.
> Kode ini : ElseIf Me.Data_G > 0 And IsNull(Me.Data_H) Then
> Cancel = True
> MsgBox "Nilai Tidak Boleh Kosong"
> Hanya bisa berfungsi saat Nilai pada Data_H diubah menjadi
Null(Kosong), namun pada saat pengisian rekod baru tidak berfungsi.
>
> Mungkin Bpk bisa bantu untuk menyempurnakan kode diatas.
>
>
> =========================================================
> --- In belajar-access@yahoogroups.com, "sudarsono" jkssbma@ wrote:
> >
> >
> > untuk membuat peringatan dalam beberapa baris :
> >
> > MsgBox "pertama" & vbCrLf & "kedua" ' & ........
> >
> > untuk pengecekan sekali valid ( pada event BeforeUpdate ) :
> >
> > Jika pengisian valid , tambahkan perintah exit sub setelah
> > cancel = false
> >
> > atau gunakan if elseif
> >
> > Private Sub Data_H_BeforeUpdate(Cancel As Integer)
> > Dim nilaiG, NilaiH As Long
> > nilaiG = Me.Data_G
> > NilaiH = Me.Data_H
> >
> > ' pilihan 1
> > If 25 <= NilaiH And NilaiH <= 35 And NilaiH < nilaiG Then
> > Cancel = False
> > Exit Sub
> >
> > ' pilihab 2
> >
> > If 25 <= NilaiH And NilaiH <= 35 Then
> > Cancel = False
> > ' valid jika nilaiH < 25 atau NilaiH > 35 , asal NilaiH < NilaiG
> > ElseIf NilaiH < nilaiG Then
> > Cancel = False
> > Else
> >
> > cancel = true
> > msgbox "Isi Nilai H salah " & vbcrlf & "isi dengan : " ' &
> > ........
> > End If
> >
> >
> >
> >
> >
> >
> > '=======================
> >
> >
> >
> >
> >
> > --- In belajar-access@yahoogroups.com, "Agus Ariyanto"
> > <bobby_agus.ariyanto@> wrote:
> > >
> > > Maaf Pak saya terbalik memberikan kriteria dlm pertanyaan
sebelumnya.
> > Seharusnya DataH tidak Boleh Lebih Besar dari DataG. Tapi itu tidak
mjd
> > masalah. Yang menjadi masalah nya, masih ada 1 kriteria lagi yang
belum
> > berhasil, yaitu Jika DataG = Null, Maka DataH harus Null juga. Jika
> > diisi dengan sembarang Angka, maka tolak nilai nya.
> > >
> > > Saya sudah utak-atik kode vb dr bapak di bawah, namun belum bisa
dan
> > sepertinya bentrok dengan kriteria yg lainnya.
> > >
> > > Berikut ini saya copy kan kode yg sdh saya buat :
> > >
> > > Private Sub Data_H_BeforeUpdate(Cancel As Integer)
> > > If 25 <= Me.Data_H And Me.Data_H <= 35 Then
> > > Cancel = False
> > > Else
> > > Cancel = True
> > > MsgBox ("Nilai DiLuar Batas")
> > > End If
> > > If Me.Data_H > Me.Data_G Then
> > > Cancel = True
> > > MsgBox ("Jangan Lebih Besar Dari G")
> > > End If
> > > If Me.Data_H = 0 Then
> > > Cancel = True
> > > MsgBox ("Nilai Tidak Boleh nol")
> > > Else
> > > Cancel = False
> > > End If
> > > If (25 <= Me.Data_H And Me.Data_H <= 35) And (Me.Data_H <=
Me.Data_G)
> > Then
> > > Cancel = False
> > > Else
> > > Cancel = True
> > > MsgBox ("Nilai Diluar Batas dan Lebih Besar dari G")
> > > End If
> > > End Sub
> > >
> > >
> > > Kalau diliat dari susunan kode diatas terdapat kriteria gabungan
dari
> > kriteria lainnya. Satu kesalahan dalam pengisian nilai berakibat
muncul
> > beberapa msgbox. Nah, bisa kan kode2 tersebut dirampingkan agar
msgbox
> > yg muncul cukup mewakili salah satu dari kesalahan tersebut.
> > >
> > > Satu pertanyaan lagi, untuk teks pada msgbox agar bisa menjadi 2
atau
> > lebih baris kalimat, penulisan kode nya seperti apa ?
> > >
> > >
> > > Sekian dulu, terima kasih atas bantuannya.
> > >
> > >
> > >
> > > ===========================================================
>


------------------------------------

SPAM IS PROHIBITEDYahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/belajar-access/

<*> Your email settings:
Individual Email | Traditional

<*> To change settings online go to:
http://groups.yahoo.com/group/belajar-access/join
(Yahoo! ID required)

<*> To change settings via email:
belajar-access-digest@yahoogroups.com
belajar-access-fullfeatured@yahoogroups.com

<*> To unsubscribe from this group, send an email to:
belajar-access-unsubscribe@yahoogroups.com

<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/

No comments:

Post a Comment