XPpro,DL6、BDEにてデータベースの開発をしています。
データベースの1項目にデータを入力した日付を文字列として収納してあります(例えば、今日の日付であれば20041112)。
このデータを年、月、日のような表示形式でクイックレポートを用いてプリンターに出力したいのですがどうすれば良いのかわかりません。どなたかご教示下さい。
データセットに年、月、日それぞれの計算フィールドを追加して、計算フィールドに日付を分割した値を設定します。当然、それぞれのフィールドに対応するQRDBText等を追加する必要があります。他にも方法があると思いますが・・・
Bさん早速のレスありがとうございます
早速、データセットに計算フィールドを追加して試みたのですが、計算項目の追加のところで、うまくいきません。TQueryで作成したデータセットでは計算項目が作成されないのでしょうか?初心者の初心者で、五里霧中とはこのことでしょうか?!!クイックレポートの解説書(英文でも可)があればどなたか教えて下さい。
TQueryでも、計算項目は作成されますよ。
TQueryのOnCulcイベントにはどのように書きましたか?
Bさん、AYさん、HOtaさんレスありがとうございました。
計算項目が作成できなかったのは、TQueryのActiveプロパティーがActiveになっていたためでした。
それと、OnCalcFieldsプロパティーには、以下のコードを記載することによって何とか目的を達成できました。
procedure TDMSyaken.SyakenMainQueryCalcFields(DataSet: TDataSet);
var Srs,SrsD: String;
begin
Srs :=LeftStr(SyakenMainQueryFirstRegist.Value,4);
SyakenMainQuerynen.Value := Srs;
SrsD :=RightStr(SyakenMainQueryFirstRegist.Value,2);
SyakenMainQuerytuki.Value := SrsD
end;
サンプーさん解決できて良かったですね。
ところで、OnCalcFieldsイベントで、もっと単純に記述できるのでは
procedure TDMSyaken.SyakenMainQueryCalcFields(DataSet: TDataSet);
begin
SyakenMainQuerynen.asstring:=copy(SyakenMainQueryFirstRegist.asstring,1,4)
SyakenMainQuerytuki.asstring:=copy(SyakenMainQueryFirstRegist.asstring,5,2)
end;
Bさんありがとうございました。早速、変更をかけました。うまくいきました
ツイート | ![]() |