- ベストアンサー
ACCESS最終データだけ印刷できるレポート
アクセス2000でデータベースを作成しています。 タイトルどおりなんですが、いまのウィザード使った単純な方法では、全レコードが印刷されるレポートが作成されてしまいます。 これを指定行だけ印刷できるレポートを作るにはどのような方法があるか教えてください。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
主キーでオートナンバーのフィールドを作成 してこの最終行というケースが結構あるのではないかと思います。売上伝票など... あるいは入力日付時刻順で最新のレコードということでしょうか。 クエリーの編集でどの順番に並び替えをおこないたいかを決めます。 チェックボックスで選択、非選択を選ぶのなら Select * where チェック = -1 あるいは Select * where チェック = True となります。 -1は真(true) 0は偽(False) また更新クエリーでチェックを一括してチェックをはずすものを用意しておけば便利です。 UPDATE クエリー名 SET チェック = 0; これをフォームの上から操作すればいいのです。
その他の回答 (3)
- Gin_F
- ベストアンサー率63% (286/453)
> いまいち指定行だけを指定して印刷するクエリが思いつきません。 > 指定行は最終行を考えていたんですが、 Accessだと、何を持って「最終行」とするのか?ということを考えないと いけないですね。 基本的に、入力順という考えはないので、あるフィールドで並べ替えた結果で 最後のレコードといった方法になります。 その場合は、レポートのレコードソースを以下のようにすればいいかと。 SELECT TOP 1 * FROM テーブル名 ORDER BY [フィールド名] DESC > チェックボタンをつけてチェックのあるレコードを1枚づつ印刷しようと思います。 この方法の場合だと、テーブルに YES/NO 型のフィールドが必要になります。 あと、場合によっては、レコードを特定するための一意のキーも(主キー等)
お礼
回答ありがとうございました。できました!結局、チェックボックスで選んで印刷させることにしました。またよろしくお願いします。
- laputart
- ベストアンサー率34% (288/843)
#1の方の回答に賛成です。 補足すると元になるクエリー(レポートのプロバティではレコードソース)を変更するのです。 元になるクエリーを元にレポート用のクエリーを作成します。 一回ごとに指定行が代る場合は抽出用のフォームを 作成する方法もあります。 (例 テーブルにYes/No形式のフィールドを用意しておいてフォームで編集しながら印刷する、しないの 振分けを行います。 使用するクエリーはチェックマークがついている レコードのみとするなど 他にも直接クエリーを編集する方法もあります。
お礼
回答ありがとうございました。 ぜひその方法でやりたいのですが、いまいち指定行だけを指定して印刷するクエリが思いつきません。 SELECT 行 WHERE チェック = 1 とかいう文になるんでしょうか? 指定行は最終行を考えていたんですが、チェックボタンをつけてチェックのあるレコードを1枚づつ印刷しようと思います。
- saru5
- ベストアンサー率34% (41/118)
ソースになるクエリで抽出条件をつけるのが手っ取り早いです。(「指定行」の指す意味にもよりますが)
お礼
こんなに簡単にできるなんて・・・すごいですね!またよろしくお願いします。