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

This entry was posted in Referensi Visual Foxpro. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *