• ベストアンサー

Access2000での抽出方法

ARCの回答

  • ARC
  • ベストアンサー率46% (643/1383)
回答No.2

このような画面でしたら、XXXとか、YYYの部分をテキストボックスにして、検索フォーム上の検索ボタンをクリックした時に、各テキストボックスに値を代入するっていうのが、お手軽なやり方になるんじゃないかと思います。 流れとしては、こんな感じですね。 1:[結果表示フォーム]と[検索フォーム]を作成する。 2:[結果表示フォーム]の各項目ごとに、値を取得するクエリを作成する 3:[検索フォーム]の[検索ボタン]のクリック時に、それぞれのクエリを実行し、その結果を[結果表示フォーム]の各テキストボックスに代入する。 *-*-*-*-*-*-*-*-* 2:の解説 以下のテーブル、クエリがあって、以下のフィールドを持つものとします。 種目1成績テーブル  結果ID(オートナンバー型)  選手ID(数値型)  成績(数値型) 選手年齢クエリ  選手ID(数値型)  年齢  性別 ○平均値を出すクエリ(種目1平均クエリ) SELECT AVG([成績]) AS 平均成績 FROM 種目1成績 INNER JOIN 選手年齢クエリ ON (種目1結果.選手ID = 選手年齢クエリ.選手ID) WHERE (年齢 Between [Forms]![検索フォーム]![開始年齢] And [Forms]![検索フォーム]![最高年齢])   AND 性別 = [Forms]![検索フォーム]![性別選択] ; ○選手IDで指定した人物の最新のデータ(種目1最新クエリ) SELECT 成績 FROM 種目1成績 WHERE 選手ID = [Forms]![検索フォーム]![選手ID] ORDER BY [結果ID]; ※このクエリだけでは必要なデータは取り出せない。後で、DLast関数と組み合わせて結果を得る。 ※この例では結果IDで並べ替えてるが、計測日時などのデータがあれば、そちらを使ってもOK。 ○選手の総数(種目1総数クエリ) SELECT 選手ID FROM 種目1成績 INNER JOIN 選手年齢クエリ ON (種目1結果.選手ID = 選手年齢クエリ.選手ID) WHERE (年齢 Between [Forms]![検索フォーム]![開始年齢] And [Forms]![検索フォーム]![最高年齢])   AND 性別 = [Forms]![検索フォーム]![性別選択] GROUP BY 選手ID; ※このクエリだけでは必要なデータは取り出せない。後で、DCount関数と組み合わせて結果を得る。 ○指定した選手の人数ベースでの順位(種目1順位クエリ) SELECT 選手ID FROM 種目1成績 INNER JOIN 選手年齢クエリ ON (種目1結果.選手ID = 選手年齢クエリ.選手ID) WHERE (年齢 Between [Forms]![検索フォーム]![開始年齢] And [Forms]![検索フォーム]![最高年齢])   AND 性別 = [Forms]![検索フォーム]![性別選択]   AND 成績 > [Forms]![結果表示フォーム]![あなたの成績] GROUP BY 選手ID; ※このクエリだけでは必要なデータは取り出せない。後で、DCount関数と組み合わせて結果を得る。 ※100m走など、「成績が小さい方が偉い」種目の場合は、不等号の向きを逆にすること。 *-*-*-*-*-*-*-*-* 3:の解説 検索ボタンのクリック時に、こんな感じのコードを記述する Private Sub 検索ボタン_Click()  With Forms![結果表示フォーム]   ![種目1平均] = DFirst("平均成績","種目1平均クエリ")   ![あなたの成績] = DLast("成績","種目1最新クエリ")   ![平均との差] = ![あなたの成績] - ![種目1平均] & "(" & ![あなたの成績] & "…"   ![あなたの順位] = DCount("選手ID", "種目1順位クエリ") & "/" & DCount("選手ID", "種目1総数クエリ")  End With End Sub

Cloes
質問者

補足

ARCさん いつも、的を得たわかりやすい回答をいただき深謝いたします。 お蔭様で、後一歩です。というのも、検索ボタンクリック時においてデバックステップインを行ったところ、下記の部分で「指定されたフィールド ‘[選手ID]’ がSQLステートメントのFROM句にある複数のテーブルを参照しました。」というエラー3079が出てしまいました。 ![あなたの順位] = DCount("選手ID", "種目1順位クエリ") & "/" & DCount(" 選手ID", "種目1総数クエリ") 対策をご教示いただければ幸いです。

関連するQ&A

  • ACCESS もしくはEXCEL条件によってコピー

    ACCESSもしくはEXCELで 口数の数量と同じようにそのデータ(行)をコピーしたいですが、お願い致します。 例: 住所   名前   口数 東京   XX XX  2 千葉   YY YY  1 神奈川  ZZ ZZ  3 を下の表ようにしたいです。 住所   名前   口数 東京   XX XX  1 東京   XX XX  1 千葉   YY YY  1 神奈川  ZZ ZZ  1 神奈川  ZZ ZZ  1 神奈川  ZZ ZZ  1 口数と同じようにその行を全部コピーしたですが、 宜しくお願い致します。

  • sheet1(1月)からsheet12(12月)をsheet13(H17年度)に集計したい

    sheet1(1月) A   B  C 1 得意先  銀行  金額 2 aa社 xx 50 3 cc店 yy 30 4 ee社 xx 20 sheet2(2月)   A B C 1 bb zz 50 2 ee xx 30 3 cc yy 50 4 dd ww 30 目的のsheet sheet13(H17年度) A     B    C    D 1 得意先  1月   2月   3月 2 aa社   50   3 bb社 50 4 cc社 30 50 5 dd社 30 6 ee社 20 30

  • A列にある文字データで△△を含むセルの値をB列に□□にして置き換えしたい

    A列に文字データが100行まであります。    A           B    1 ミカンを食べた     ZZ 2 イチゴを食べた     XX 3 西瓜を食べた      YY 4 ミカンを捨てた     ZZ 5 西瓜を拾った      YY 6 ミカンを無くした    ZZ 7 西瓜を貰った      YY 8 イチゴをあげた     XX それを表のようにB列(任意の列)に置き換えたいです。 イチゴを含むセルはB列にXXをミカンはZZみたいな感じです。 A列のセルには同じ文字列は(今のところ)含みません。 文字の一部を置き換えて変換し、それを繰り返すところまではできましたが、上記のことがができません。 VBAを使って一発で変換したいのですが教えていただけますでしょうか?

  • fortran90

    fortran90 現在 fortran90 で計算プログラムを作っております。 プログラムはかけたのですが、実行画面にエラーが出ます。 解決方法が分かりません。どなたか分かる方いらっしゃいますか。 プログラム implicit real*8 (a-h,o-z) parameter(n=900) open (1,file='004.txt',status='old') do 10 i=1,n read (1,*,end=11)xx,yy,zz,ww theta=acos(zz) phi1=acos(xx/sqrt(1-zz*zz)) phi2=asin(yy/sqrt(1-zz*zz)) write(*,*)theta,phi1,phi2 10 continue 11 end プログラム内容 あるフォルダーに保存してあるテキストファイルから4×4行列のデータを読み込み、そのデータからθの値とφ1、φ2のアタを求めるプログラムです。 実行分のエラー画面には、 acos: DOMAIN error です。

  • Excelのマクロで・・・

    こんな表があります。    A  B  C  D  E  F  G 1 XX XX XX 2 YY YY YY 3 ZZ ZZ ZZ ここでA1、B1、C1の変数を読み込み「ある計算」をさせてD1~G1にその答えを書き出させる、A2~C2の変数を読み込み「ある計算」をさせてD2~G2にその答えを書き出させる・・・というのを作りたいのですがデータの読み込みと書き出し方法がわかりません。 どうすればいいのでしょうか?簡単なことなのでしょうがエクセルのヘルプが入っていないので・・・(大学のPCなので自分で入れることも不可能です) (縦は同一の変数で対応しています) 必要ならば補足いたします。

  • 新体力テストの全国平均値を探しています

    新体力テストの全国平均値(計8種目)を調べていますがどこで分かるでしょうか?(なるべく最近のデータがいいです) ご存じの方は教えてください。

  • ホームペーが検索にかからない

    Google Sitesにホームページを制作、登録しました。 名称は、XXYYZZのように三つの単語から成ります。 「XXYYZZ」または「XX YY ZZ」で検索すると2ページ目か3ページ目に出て来るのですが、「XX YY」で検索すると10ページ目までチェックしても出ていません。 同じXXYYZZで作ってあった古いホームページや、類似のXXYYHHなどは2、3ページ目に出ています。検索にかかるようにするために、なにか処置が必要なのでしょうか。

  • アクセス2000でデータが抽出されない

    アクセス2000で社員の入社日等を管理したいのですが、入社日をキーにデータを 呼び出すフォームと、その呼び出しに対応して、抽出されたデータを表示する 一覧表フォームを作成しました。 何回かテストをしたところ、平成13年2月1日以降のデータが呼び出せない ことがわかりました。どうしたら解決できるでしょうか? ちなみに、データは過去5年間分で、7000件ほどあります。 全件のデータ数が多すぎるとか、1回に呼び出すことのできるデータ件数に 限りがあるとかの制約があるのでしょうか?

  • 順不同・任意のタグ

    前半は、順番とおりの必須タグで、後半は順不同の任意タグのSchemaの指定を教えてください。 以下の例では、aa,bb,ccが、この順で必須、xx,yy,zzは、この順で任意です。 xx,yy,zzを順番関係なく指定できるようにしたいです。 よろしくお願いします。 <xsd:sequence> <xsd:element name="aa" type="xsd:string"/> <xsd:element name="bb" type="xsd:string"/> <xsd:element name="cc" type="xsd:string"/> <xsd:element name="xx" type="xsd:string" minOccurs="0" /> <xsd:element name="yy" type="xsd:string" minOccurs="0" /> <xsd:element name="zz" type="xsd:string" minOccurs="0" /> </xsd:sequence>

    • ベストアンサー
    • XML
  • ACCESSでのクエリ抽出条件について

    ACCESS超初心者です。 自分なりに調べたのですが、知識不足によりお手上げ状態です。 クエリの抽出条件について、どなたかご教授いただけますでしょうか? OS:XP ACCESS:2000 ・フォーム上に自由に入力できるテキストを3つ用意します。 ・入力された3つのテキストが1つのフィールドに含まれるものをクエリで抽出したい。 ・3つのテキストが空欄の場合は全てのデータを抽出したい。 ■フォーム上のテキスト  テキスト1:テキスト10  テキスト2:テスト11  テキスト3:テスト12 ■テーブル  フィールド1:問合せ内容(1) ■クエリ内の抽出条件 Like "*" & [Forms]![F_検索テスト]![テキスト10] & "*" And Like "*" & [Forms]![F_検索テスト]![テスト11] & "*" And Like "*" & [Forms]![F_検索テスト]![テスト12] & "*" テキスト名がおかしいのですが、ご了承下さい。