- ベストアンサー
アクセスのパラメータとは?
以前に同じようなテーブルを表示して、【newcode】の作り方を質問した物です。 ※データの型は共にテキスト型です 【code】 【国名】 111 日本 111 日本 111 中国 111 中国 121 アメリカ 121 アメリカ 123 日本 123 日本 123 中国 これにクエリの演算フィールドで【newcode: [code] & "_" & [国名]】と入力し、【newcode】という名のフィールドを追加しました。 【code】 【国名】 【newcode】 111 日本 111_日本 111 日本 111_日本 111 中国 111_中国 111 中国 111_中国 121 アメリカ 121_アメリカ 121 アメリカ 121_アメリカ 123 日本 123_日本 123 日本 123_日本 123 中国 123_中国 けれど、この【newcode】のフィールドはキーとしてしか使わないので、実際には表示させたくないと思い、デザインビューの表示のチェックをはずすと『パラメータを入力してください』というウィンドウが出てしまいます。 パラメータとはなんぞや????とも思いますし、表示させずにいる方法をご存知の方がいましたら、どうか教えて下さい。お願いします。 できれば、テーブル自体はいじりたくないのでクエリでやりたいと思いますので、お願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>デザインビューの表示のチェックをはずすと『パラメータを入力してください』というウィンドウが出てしまいます。 クエリの中に「何か訳の判らない単語」が出て来ると、アクセスは「パラメータを入力してください」と言うウィンドウを出します。 例えば Select code, 国名, [code]&"_"&[国名] as newcode From Table1 Where newcod = "111_日本" と言うクエリを書いたとします。 このクエリは、newcodeのeを付け忘れ、newcodになってますが、エラーにはならず「newcodは、何か訳が判らない単語なので、パラメータなのだろう」とアクセスが勝手に解釈し「newcodの値を入力して欲しいな~」と、勝手にウィンドウを出し、値の入力を強制してきます。 >実際には表示させたくないと思い、デザインビューの表示のチェックをはずす newcodeがキーなのであれば、newcodeで並び替えやグループ化をしている筈なので Select code, 国名, [code]&"_"&[国名] as newcode From Table1 Order By newcode Group By newcode のようなクエリになります。 ここで、デザインビューでnewcodeのフィールドの表示のチェックを解除すると、このクエリは Select code, 国名 From Table1 Order By newcode Group By newcode となります。 このクエリは「newcodeの定義が消えてしまっている」ので、エラーにはならず「newcodeは、何か訳が判らない単語なので、パラメータなのだろう」とアクセスが勝手に解釈し「newcodeの値を入力して欲しいな~」と、勝手にウィンドウを出し、値の入力を強制してきます。 >できれば、テーブル自体はいじりたくないのでクエリでやりたいと思いますので、お願いします。 こういう場合は「クエリからクエリを作る」しかありません。 まず「newcodeが表示されたままで、並び替えや抽出条件なども、すべて指定したクエリ」を作ります。 それを、例えば「クエリ1」と言う名前で保存します。 「クエリ1」が出来たら、更にクエリを新規作成し、元になるテーブルに「クエリ1」を指定し、演算フィールドに「codeと国名だけ」を追加します。 すると「newcodeがキーになってはいるが、newcodeが表示されないクエリ」が出来あがります。 これを「クエリ2」として保存し、この「クエリ2」を使えば、意図した結果が得られます。
その他の回答 (2)
- imogasi
- ベストアンサー率27% (4737/17069)
パラメーターという言葉は (1)一般的にプログラムで良く使う、引数のようなもの 自由度を持たせるために変数等を設ける。 (2)数学、理系学問でのパラメータ (3)ACCESSのパラメータクエリのパラメータ(クエリ学習の第2時限目に最初に教える有名な事項) (4)その他文系学問でもたまに この(3)パラメータのことでは。そしてパラメータクエリは, [ ]の中に入力促進時の表示の文言を入れる。 >」演算フィールドで【newcode: [code] & "_" & [国名]】と入力し、が[code]がそれと取られたのではないか。 パラメータクエリの[]は条件の行で使うことが多いが。 ーー 実際に 税込み: [価格]*[率]と演算フィールドに入れると、実行すると パラメータ入力のダイアロウグボックスが開いた。上に「率」と表示されている。 例としては消費税は0.05に決っている殻おかしいが、実行の都度 変えたい他のケースの場合は使い道がある。
お礼
アドバイスありがとうございました。 色々と検討してみます。
- umazanpai
- ベストアンサー率38% (53/137)
経験上の山勘 グループ化/並べ替え に消したやつつかってないですか?
お礼
アドバイスありがとうございます。 グループ化/並べ替えにはひっかかっていませんでした。 他のやり方を考えてみます。
お礼
長々と補足に質問を書いてしまい申し訳ありませんでした。 一応、ここで締め切らせていただき、新たに質問させていただくことにしました。 ありがとうございました。
補足
回答ありがとうございました。今は私も結局クエリを一度保存して、やっていますが、やはり一度ではムリなんですね・・・。 それでは、追記の質問になってしまうんですが、もしご存知でしたら教えていただけるとありがたいです。 このたび、 【code】 【国名】 【newcode】 111 日本 111_日本 111 日本 111_日本 111 中国 111_中国 111 中国 111_中国 121 アメリカ 121_アメリカ 121 アメリカ 121_アメリカ 123 日本 123_日本 123 日本 123_日本 123 中国 123_中国 という感じで、作ったんですがこの表にはまだもう一つの作業が残っているのです。それは、下記のように 【code】 【国名】 【A1】 【A1合計】 111 日本 10 30 111 日本 20 30 111 中国 25 40 111 中国 15 40 121 アメリカ 22 37 121 アメリカ 25 37 123 日本 20 35 123 日本 15 35 123 中国 30 30 【A1】を追加したいのです。 【A1】は【code】と【国名】が同じものの【A1】の値の合計 をあわしたいのですが、今は『DSum関数』を使っています。 条件として、「『code』と『国名』が同じレコードの合計値を出すのにはどうすればいいでしょうか? すみませんが、教えていただけるとありがたいです。