Paradoxの先頭データを1レコードだけDBGRIDで表示するには?

解決


桜坂  2007-06-08 10:08:01  No: 26544  IP: 192.*.*.*

別のDBGRIDデータの集計を表示したいのですがEDITで多くのコードを書きたくありません。
そこで集計用に1レコードだけparadoxを使い表示したいと思いました。
こんな使い方はできるのでしょうか。
EDITでの3桁ごとのコンマや右寄せコードでうんざりしています。
paradoxをワークファイル的に使えばプロパティですっきりできると考えたからです。
よろしくお願いします。

編集 削除
Ru  2007-06-08 11:18:04  No: 26545  IP: 192.*.*.*

Paradoxへの接続方法は
TTable(又はTQuery)  →  TDataSource  →  TDBGrid
でしょうか?
もしTQueryをお使いならSQLの最後に

FETCH FIRST 1 ROWS ONLY

で抽出レコードのうち1件目を表示できたと思います。
的はずれな回答ならごめんなさい。

編集 削除
桜坂  2007-06-08 13:18:50  No: 26546  IP: 192.*.*.*

早速のご指導ありがとうございます。
私は初心者のためSQLが使えません。
TTableを使っています。
Tableの方法はないのでしょうか。
ご指導願います。

編集 削除
igy  2007-06-08 17:08:46  No: 26547  IP: 192.*.*.*

SetRange メソッドで、希望のレコードだけ絞り込まれるようにする??

編集 削除
HOta  2007-06-09 08:12:30  No: 26548  IP: 192.*.*.*

集計だけなら、SQLで簡単でしょう。

編集 削除
桜坂  2007-06-10 22:45:06  No: 26549  IP: 192.*.*.*

いろいろお指導ありがとうございます。
データベースの最大値を1とすればできるのでしょうか。
もしできるのでしたら、1にする方法はどうすればよいのでしょうか。
前にも書きましたがSQLはできません。
データベースのプロパティ的な操作ではできないのでしょうか。
教えてください。

編集 削除
何を、質問されているのか いまいち不明  2007-06-10 23:12:32  No: 26550  IP: 192.*.*.*

>そこで集計用に1レコードだけparadoxを使い表示したいと思いました。
合計用のwkテーブルを作成し、1件だけ作成して  それを
表示されるのですね。
>こんな使い方はできるのでしょうか。
桜坂さんが、そう作ればそうなります。できます。
方法まで、決められているのでしたら出来るかできないか試めされては
如何でしょう。
皆さんが書かれているように、データベースを操作するのはSQL言語です。
折角、いい題材があるのですから 是非SQLでも挑戦してみてください。

編集 削除
Mr.XRAY  URL  2007-06-10 23:45:22  No: 26551  IP: 192.*.*.*

桜坂さん、
追い打ちをかけるようですが、是非SQLに挑戦してみて下さい。
データベースと言えばSQLです。
最初は手間どうかも知れませんが、必ずやその便利さに気づくと思われます。
これがいい機会だと思いますよ。

編集 削除
Syake  2007-06-11 09:37:52  No: 26552  IP: 192.*.*.*

SQL文の発行はそんなに難しいものではありません。
頑張って下さい。
>3桁ごとのコンマ
これは金額などの表示と思われますがちなみに、これもSQL文で出来ます。
少なくとも主だったDBは対応しています。
もっともParadoxでどうかは知りませんが・・・

編集 削除
Ru  2007-06-11 09:51:53  No: 26553  IP: 192.*.*.*

SQLはネット上で検索するだけで参考になる物多いのでがんばってください。
今回は SELECT を使っていけばいいでしょう。

SQLなんて今は勉強する時間がないというのであれば
igyさんが紹介してくれた SetRange で出来ると思います。


あと思いつく限りで苦し紛れな方法。
後々のことを考えるとお勧めしません。
見た目にも分かりにくいですしね・・・

TTable → TDataSetProvider 
       → TClientDataSet①
       → TDataSetProvider 
       → TClientDataSet② →
       → TDataSource

①・計算項目としてIntegerフィールド作成。
  ・OnCalcFields内で
  DataSet.FieldByName(作成したフィールド名).AsInteger := DataSet.RecNo;

②・FilteredプロパティをTrue
  ・Filter = 作成したフィールド名 = 1

編集 削除
桜坂  2007-06-11 10:22:20  No: 26554  IP: 192.*.*.*

皆さんご指導、ありがとうございました。
Ruさん、ありがとうございます。
①②の方法でTryしてみます。

編集 削除