VB5 與資料庫程式設計


利用 Crystal Reports 製作報表, 如何讓它篩選某一日期的資料?

參閱章節:15-2 節,p.476。
關於 p.479 所介紹的「SelectionFormula 屬性與資料錄的篩選」, 應用於字串資料的篩選都很好, 但遇到日期資料時, 卻無法正常工作, 該如何解決?

舉個篩選字串的例子:(CR 為 Crystal Reports 控制元件的名稱)

    CR.SelectionFormula = "{股票行情表.股票代號} = '2301'"

則可篩選「股票行情表」資料表「股票代號」欄位 = '2301' 的資料錄, 仿此模式, 若想篩選「買賣記錄」資料表「買賣日期」欄位 = 7/2/97 的資料錄, 我們想到的條件式可能是:

    CR.SelectionFormula = "{買賣記錄.買賣日期} = #7/2/97# " ' # 是 VB 用來表示日期的符號

不過此一條件式並不適用於 Crystal Reports, Crystal Reports 可以接受的日期格式如下:

    CR.SelectionFormula = "{買賣記錄.買賣日期} = Date( 1997, 7, 2)" ' 表示 1997 年 7 月 2 日

如果想篩選出系統日期(當日,也就是 VB Date 函數的傳回日期)的資料錄, 則可使用以下方法:

    D = "Date( " & Format ( Date, "yyyy, m, d" ) & " )"
    CR.SelectionFormula = "{買賣記錄.買賣日期} = " & D