dポイントプレゼントキャンペーン実施中!

アクセス初心者です。
Win XP
Access2002
フォーム上にあるテキストボックスに任意の数値を入力しておき、入力した任意の数分のレコードを抽出してくるクエリを組みたいのですが、知恵が不足して出来ません。
SQLでselect top [Forms]![フォーム名]![テキストボックス名] など試してみたのですがダメでした。
どなたかお知恵をお貸し下さい。
できれば、SQL分でやるよりクエリの抽出条件の式でできればとも思っております。
宜しくお願いします。

A 回答 (3件)

TOP値も試してみたということは何かの順番に取り出せばいいのですね



クエリで順位を求めるフィールドを作りそこの抽出条件に
パラメータで取り出し数を与えるようにすればいいいのでは

順位:DCount("*","テーブル名","フィールド名<" & [フィールド名]) + 1

抽出条件
<=Forms!フォーム名!条件テキストボックス名
    • good
    • 0
この回答へのお礼

早々のご回答ありがとうございます。

しかし、あまりにアクセス初心者で・・・

>クエリで順位を求めるフィールドを作りそこの抽出条件に
>パラメータで取り出し数を与えるようにすればいいいのでは
>順位:DCount~

の部分の意味が今の私には理解困難です。
いろいろアクセスの教本で調べてみたのですが、
どうもこれの意味を理解することができませんでした。

お手数ですが、ご教授願えませんでしょうか?

お礼日時:2006/04/18 06:11

クエリで式フィールドを作るだけです


クエリデザインビューで言えば、フィールド欄に
>順位:DCount~
を書き、そのフィールドの抽出条件欄に
<=Forms!フォーム名!条件テキストボックス名
を書きます

教本でいえばクエリのところをよく勉強してください
    • good
    • 0
この回答へのお礼

ありがとうございます。
お蔭様で出来ました。
初心者にお付き合い頂き、ありがとうございました。

お礼日時:2006/04/18 13:42

#1の方が回答してありますが


順位:DCount("*","テーブル名","フィールド名<" & [フィールド名]) + 1
として抽出条件を
<=Forms!フォーム名!条件テキストボックス名
ではそのままでは正しく抽出できない場合があります。
DCountを使ったフィールドから抽出する場合
フォームの抽出条件を入力するテキストボックスのプロパティで書式を[数値]にするかクエリ上で抽出条件を下記のように長整数型に変換すれば出来ます。
<=CLng([Forms]![フォーム名]![テキストボックス名])
とすれば抽出できます。

SQLも簡単です。SQLでは下記で同様になります。

SELECT テーブル名.*, DCount("*","テーブル名","フィールド名<" & [フィールド名])+1 AS 順位
FROM テーブル名
WHERE (((DCount("*","テーブル名","フィールド名<" & [フィールド名])+1)<=CLng([Forms]![フォーム名]![テキストボックス名])));
    • good
    • 0
この回答へのお礼

ありがとうございます。
お蔭様で解決できました。

ご丁寧な手ほどき、本当にありがとうございました。

お礼日時:2006/04/18 13:57

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

関連するカテゴリからQ&Aを探す