Arsip: display data menggunakan parameter tanggal

 
user image
more 8 years ago

lukersgn

ada yg bisa bantu ngga bro,,gw ada problem, mau display data di datagrid menggunakan parameter tanggal, cuma selalu minta declare variabel, sudah di add var nya, tapi masih tetap error yg sama, apa yah yg kurang disini? terima kasih bro,, berikut code nya : procedure TFormCashAdvanceSum.BtnRunClick(Sender: TObject); begin sql := 'SELECT * FROM HR_EMP_MISSION_ORDER'; if tgl.text <> '' then begin DecodeDate(piltg.Date, myYear, myMonth, myDay); sql := sql + ' and (DAY(tgl) = '+IntToStr(myDay)+') AND (MONTH(tgl) = '+IntToStr(myMonth)+') AND (YEAR(tgl) = '+IntToStr(myYear)+')'; end; qCA.SQLs.SelectSQL.Text:= sql; qCA.Active := True; if qCA.RecordCount = 0 then begin MessageDlg('Data Not Found', mtCustom, [mbOK],0) end; end; procedure TFormCashAdvanceSum.piltgChange(Sender: TObject); begin DecodeDate(piltg.Date, myYear, myMonth, myDay); tgl.Text := IntToStr(myDay)+'/'+IntToStr(myMonth)+'/'+IntToStr(myYear); end; berikut errornya [Error] CashAdvanceSum.pas(60): Undeclared identifier: 'myYear' [Error] CashAdvanceSum.pas(60): Types of actual and formal var parameters must be identical [Error] CashAdvanceSum.pas(73): Undeclared identifier: 'myYear' [Error] CashAdvanceSum.pas(73): Types of actual and formal var parameters must be identical [Fatal Error] Sysapp.dpr(39): Could not compile used unit 'CashAdvanceSum.pas'
user image
more 8 years ago

henry_sys

schema table bagaimana...? menurut gw lu kesulitan untuk membalikkan tanggal dari format dd/mm/yyyy menjadi yyyy/mm/dd, moga2 saya benar, karena adanya function decodate() di coding anda; sara saya knp tdk menggunakan TDateTimePicker biar gampang tinggal dibalikkan aja formatnya misal sql.close; SQL.Text :='Select * from nama_table where tgl='+('yyyy/mm/dd'.DpTgl.datetime); sql.open; kr2 begitu..... semoga membantu.....
user image
more 8 years ago

cyber_hecker

databasenya pake apa ? kalo pake MS SQL lebih gampang pake cara ini :

if edtTgl.Text <> '' then
  SQL.Text = 'SELECT  FROM NM_TABLE WHERE TGL BETWEEN CONVERT(DATETIME,'+
  QuotedStr(edtTgl.Text)+',103) AND CONVERT(DATETIME,'+QuotedStr(edtTgl2.Text)+',103)';
dengan syarat format tanggal adalah dd/MM/yyyy. tapi kalo sudah menggunakan komponen yang ada tanggalnya. lebih gampang lagi, jadi seperti ini :

if edtTgl.Text <> '' then
  SQL.Text = 'SELECT   FROM NM_TABLE WHERE TGL BETWEEN CONVERT(DATETIME,'+
  QuotedStr(FormatDateTime('dd/MM/yyyy', edtTgl.Date))+',103) AND CONVERT(DATETIME,'+
  QuotedStr(FormatDateTime('dd/MM/yyyy', edtTgl2.Date))+',103)';
kalo menggunakan Firebird atau mySQL langsung pake format yyyy-MM-dd
user image
more 8 years ago

lukersgn

DBnya pake Firebirds bro,,
user image
more 8 years ago

cyber_hecker

kalo saya umumnya ku simpan di parameter. jadi di query : [sql] ... WHERE B.AC3_GRUP = :ac3 AND A.TGL_JURNAL BETWEEN :dr_tgl AND :sp_tgl [/sql] di program tinggal di tulis

...
      Params.ParamByName('dr_tgl').AsString := FormatDateTime('yyyy-MM-dd', pDR_TGL);
      Params.ParamByName('sp_tgl').AsString := FormatDateTime('yyyy-MM-dd', pSP_TGL);
...
more ...
  • Pages:
  • 1
Share to

Random Topic

Local Business Directory, Search Engine Submission & SEO Tools FreeWebSubmission.com SonicRun.com