クイックレポートでデータベースの1項目を分割して表示するには?

解決


サンプー  2004-11-12 18:26:50  No: 11732

XPpro,DL6、BDEにてデータベースの開発をしています。
データベースの1項目にデータを入力した日付を文字列として収納してあります(例えば、今日の日付であれば20041112)。
このデータを年、月、日のような表示形式でクイックレポートを用いてプリンターに出力したいのですがどうすれば良いのかわかりません。どなたかご教示下さい。


B  2004-11-13 10:23:13  No: 11733

データセットに年、月、日それぞれの計算フィールドを追加して、計算フィールドに日付を分割した値を設定します。当然、それぞれのフィールドに対応するQRDBText等を追加する必要があります。他にも方法があると思いますが・・・


サンプー  2004-11-16 20:37:42  No: 11734

Bさん早速のレスありがとうございます
早速、データセットに計算フィールドを追加して試みたのですが、計算項目の追加のところで、うまくいきません。TQueryで作成したデータセットでは計算項目が作成されないのでしょうか?初心者の初心者で、五里霧中とはこのことでしょうか?!!クイックレポートの解説書(英文でも可)があればどなたか教えて下さい。


AY  2004-11-16 23:09:24  No: 11735

TQueryでも、計算項目は作成されますよ。


HOta  2004-11-17 05:42:03  No: 11736

TQueryのOnCulcイベントにはどのように書きましたか?


サンプー  2004-11-18 08:06:47  No: 11737

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;


B  2004-11-18 08:49:20  No: 11738

サンプーさん解決できて良かったですね。
ところで、OnCalcFieldsイベントで、もっと単純に記述できるのでは
procedure TDMSyaken.SyakenMainQueryCalcFields(DataSet: TDataSet);
begin
 SyakenMainQuerynen.asstring:=copy(SyakenMainQueryFirstRegist.asstring,1,4)
 SyakenMainQuerytuki.asstring:=copy(SyakenMainQueryFirstRegist.asstring,5,2)
end;


サンプー  2004-11-18 09:07:48  No: 11739

Bさんありがとうございました。早速、変更をかけました。うまくいきました


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加