Para suhu, mohon bantuannya..saya sedang mengquery, hmmlumayan ribet sih querynya. Entah g tau knapa padahal sudah saya cek berulang2 tidak ada salah tipe data tapi error "Datatype missmatch" terus muncul setiap saya melakukan pengecekan terhadap hasil Datediff.
Saya sertakan database.mdb saya
berikut querynya
SELECT * FROM ( SELECT s.id_siswa, (SELECT TOP 1 qry.bln FROM ( SELECT tb_siswa_mapel.id_siswa, tb_siswa.nama_siswa, tb_siswa_mapel.periode_bln as bln, tb_siswa_mapel.periode_th as th, tb_siswa_mapel.id_mapel_tersedia as id_mapel_tersedia FROM tb_siswa INNER JOIN tb_siswa_mapel ON tb_siswa.id_siswa = tb_siswa_mapel.id_siswa ORDER BY tb_siswa_mapel.id_siswa,tb_siswa_mapel.periode_th DESC, (format(tb_siswa_mapel.periode_bln +' '+tb_siswa_mapel.periode_th ,'m')+0) DESC ) qry WHERE qry.id_siswa = s.id_siswa) as bln, (SELECT TOP 1 qry.th FROM ( SELECT tb_siswa_mapel.id_siswa, tb_siswa.nama_siswa, tb_siswa_mapel.periode_bln as bln, tb_siswa_mapel.periode_th as th, tb_siswa_mapel.id_mapel_tersedia as id_mapel_tersedia FROM tb_siswa INNER JOIN tb_siswa_mapel ON tb_siswa.id_siswa = tb_siswa_mapel.id_siswa ORDER BY tb_siswa_mapel.id_siswa,tb_siswa_mapel.periode_th DESC, (format(tb_siswa_mapel.periode_bln +' '+tb_siswa_mapel.periode_th ,'m')+0) DESC ) qry WHERE qry.id_siswa = s.id_siswa) as th, format(bln+'/'+th, 'm') as no_bln, format(now(), 'm') as no_bln_skrg, bln as bulan, th as tahun FROM tb_siswa s WHERE s.status=TRUE AND DateDiff('d', format(s.tgl_jatuh_tempo+'-'+ (SELECT TOP 1 qry.bln FROM (SELECT tb_siswa_mapel.id_siswa, tb_siswa.nama_siswa, tb_siswa_mapel.periode_bln as bln, tb_siswa_mapel.periode_th as th, tb_siswa_mapel.id_mapel_tersedia as id_mapel_tersedia FROM tb_siswa INNER JOIN tb_siswa_mapel ON tb_siswa.id_siswa = tb_siswa_mapel.id_siswa ORDER BY tb_siswa_mapel.id_siswa,tb_siswa_mapel.periode_th DESC, (format(tb_siswa_mapel.periode_bln +' '+tb_siswa_mapel.periode_th ,'m')+0) DESC ) qry WHERE qry.id_siswa = s.id_siswa)+'-'+format(now(),'yyyy'),'dd-mm-yyyy'),format(now(),'dd-mm-yyyy')) > 30)
Dan error dibagian ini:
DateDiff('d', format(s.tgl_jatuh_tempo+'-'+ (SELECT TOP 1 qry.bln FROM (SELECT tb_siswa_mapel.id_siswa, tb_siswa.nama_siswa, tb_siswa_mapel.periode_bln as bln, tb_siswa_mapel.periode_th as th, tb_siswa_mapel.id_mapel_tersedia as id_mapel_tersedia FROM tb_siswa INNER JOIN tb_siswa_mapel ON tb_siswa.id_siswa = tb_siswa_mapel.id_siswa ORDER BY tb_siswa_mapel.id_siswa,tb_siswa_mapel.periode_th DESC, (format(tb_siswa_mapel.periode_bln +' '+tb_siswa_mapel.periode_th ,'m')+0) DESC ) qry WHERE qry.id_siswa = s.id_siswa)+'-'+format(now(),'yyyy'),'dd-mm-yyyy'),format(now(),'dd-mm-yyyy')) > 30
Terima kasih.
Salam Fajar
No comments:
Post a Comment