Filter Data Visual Foxpro dengan Multi Possibility

Sebagai contoh di bawah ini untuk memfilter data dengan kemungkinan pemilihan 6 buah nilai combo box yang berbeda sebagai syarat untuk pemfilteran data. Combo box tersebut dapat di isi hanya satu combo box, dua combo box, tiga combo box sampai enam combo box atau variasi dari satu dan dua combo box saja dan seterusnya. Kasus ini jika diselesaikan dengan logika kondisi sangat sulit, karena memerlukan banyak kemungkinan, sehingga source code di bawah ini sangat membantu.

Untuk dapat memfilter data berdasarkan banyak kombinasi pilihan dapat di lakukan dengan source code di bawah ini :

*program filter
LOCAL a,b,c,d,e,f,g,h,i
SELECT absensi
IF ! EMPTY(ALLTRIM(thisform.hal.hal1.combo1.Value))
a=”.and.idmateri=ALLTRIM(thisform.hal.hal1.combo1.Value)”
ELSE
a=””
ENDIF

IF ! EMPTY(ALLTRIM(thisform.hal.hal1.combo2.Value))
b=”.and.iddosen=ALLTRIM(thisform.hal.hal1.combo2.Value)”
ELSE
b=””
ENDIF

IF ! EMPTY(ALLTRIM(thisform.hal.hal1.combo3.Value))
c=”.and.idkampus=ALLTRIM(thisform.hal.hal1.combo3.Value)”
ELSE
c=””
ENDIF

IF ! EMPTY(ALLTRIM(thisform.hal.hal1.combo4.Value))
d=”.and.idkelas=ALLTRIM(thisform.hal.hal1.combo4.Value)”
ELSE
d=””
ENDIF

IF ! EMPTY(ALLTRIM(thisform.hal.hal1.combo5.Value))
e=”.and.idjurusan=ALLTRIM(thisform.hal.hal1.combo5.Value)”
ELSE
e=””
ENDIF

IF ! EMPTY(ALLTRIM(thisform.hal.hal1.combo6.Value))
f=”.and.idperiode=ALLTRIM(thisform.hal.hal1.combo6.Value)”
ELSE
f=””
ENDIF

g=a+b+c+d+e+f
h=LEN(g)
i=SUBSTR(g,6,h)

SET FILTER TO &i

thisform.mati()
thisform.hal.hal2.grid1.refresh()

RELEASE ALL,b,c,d,e,f,g,h,i

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s