Untuk Menentukan atau mendapatkan Tanggal awal bulan pada suatu bulan Ane punya codingnya nih, tapi sebelumnya pada uses coba agan" taruh DateUtils terlebih dahulu. Untuk menentukan Tanggal awal tentunya pasti tanggal 1 kan kalo tanggal awal, itu sangat mudah tinggal pake StartOfTheMont. Contoh Penggunaannya gini :
DateTimePicker1.Date:= StartOfTheMont(Now) atau
DateTimePicker1.Date:= StartOfTheMont(DateTimePicker1.Date)
Sedangkan untuk menentukan Tanggal Akhir Bulan buat Function dulu :
Function TanggalAkhir(tanggal:TDateTime):TDate;
begin
Result:=EncodeDate (YearOf(tanggal),
MonthOf(tanggal),
DaysInMonth(tanggal));
end;
untuk penggunaannya bisa seperti ini :
procedure TForm1.DateTimePicker1Change(Sender: TObject);
begin
DateTimePicker2.Date:=TanggalAkhir(DateTimePicker1.date)
end;
tapi menurut saya lebih mudah pake ini :
DateTimePicker2.Date:=EndOfTheMonth(DateTimePicker1.Date)
simpan saja teserah dimana,Misal di Event change pada DateTimePicker1.
mudah Sekali bukan, silahkan coba kalo ada yang error dibenerin saja ya sendiri, soalnya gx ane Copas dari program langsung tapi ane ketik ulang (ane pake 2 kompi) barangkali saja ada salah penulisan gito, jadi mohon maaf saja.
Gan,
ReplyDeleteAne mau nanya nih, kalo kita mau cetak laporan berdasarkan tanggal dan keterangan (menggunakan Combobox) codingnya gimana ya gan?
jadi kalo dicetak yang tampil adalah berdasarkan tanggal dan keterangan yang kita pilih.
mohon bantuannya gan.
Thanks..
maksudnya dicombobox ada Pilihan Tanggal dan Keterangan gitu maksudnya ?
Deletekita ingin filter berdasarkan Tanggal maka dicombobok PILIH tanggal,kalo Filter berdasarkan Keterangan Pilih dicombo Keterangan ?
1.Tambahkan button1,datetimepicker1 dan edit1
2.isi Combobox itemsnya (harus sama dengan nama Field Tabel) :
Tanggal
Keterangan
di Di event combo OnCLik :
if combobox1.text='Tanggal' then
begin
datetimepicker1.visible:=true;
edit1.visible:=false
end else
begin
datetimepicker1.visible:=false;
edit1.visible:=true
end
3. dibutton1 :
if combobox1.text='Tanggal' then
begin
...
select*fromTBLxxx where Tanggal= blablabla (datetimepicker1)
...
end else
begin
...
select*fromTBLxxx where Keterangan= blablabla (edit1.tex)
...
end
maksudnya gitu bukan ?
soalnya di atas dikatakan BERDASARKAN jadi mefilter (mencari) dengan pilihan yang ada dicombobox...
itu yang saya tanggkap dari pertanyaannya.
Gini Gan,
ReplyDeleteMisalnya Ane Mau cetak laporan Pembelian nih. trus didalam tabel databasenya ada field tanggal dan keterangan, contoh keterangan disini misalnya nama suppliernya.
nah pada saat mau cetak laporannya ada 2 pilihan :
1. Tanggal (dari tgl xx sampai tgl xx)
2. keterangan (isinya data2 supplier)
disaat kita mau cetak, laporan yang akan ditampilkan hanya berdasarkan range tanggal (dari tanggal xx sampai tanggal xx) DAN keterangan(salah satu nama suppliernya).
jadi dicetakanya berdasarkan 2 pilihan yang sudah kita sortir tadi (tanggal dan keterangan)
Begitu Gan maksudnya Ane...
sory lupa gan..
ReplyDeleteklo yang tanggal itu ane pake Component DateTimePicker
sedangkan keterangan pake component DBLookupComboBox
Sintax berdasarkan tanggal (di MS Access) format tanggal atur sesuai jam sistem:
DeleteSelect*from tblXX where tanggal >=# '+formateDateTime('yyyy/MM/dd',DateTimePicker1.date)+' # and tanggal <=# '+formateDateTime('yyyy/MM/dd',DateTimePicker2.date)+' #
Berdasarkan DBLookupComboBox :
Select*from tblXX where keterangan='+DBLookupComboBox1.text+'
KALAU DIGABUNG (mencari berdasarkan tanggal dan keterangan):
Select*from tblXX where tanggal >=# '+formateDateTime('yyyy/MM/dd',DateTimePicker1.date)+' # and tanggal <=# '+formateDateTime('yyyy/MM/dd',DateTimePicker2.date)+' # and keterangan='+quotedstr(DBLookupComboBox1.text)+'
bisa minta script lengkapnya gak? soale takutnya script bertolak belakang dengan format script yang biasa ane buat.
ReplyDeletedisini ane pakenya ADOquery buat koneksi databasenya.
Adoquery1.Close;
DeleteAdoquery1.sql.clear;
Adoquery1.sql.add('Select*from tblXX where tanggal >=# '+formateDateTime('yyyy/MM/dd',DateTimePicker1.date)+' # and tanggal <=# '+formateDateTime('yyyy/MM/dd',DateTimePicker2.date)+' # and keterangan='+quotedstr(DBLookupComboBox1.text)+' ');
Adoquery1.open;