マイクロソフトアクセス2007でクエリーテーブルタブの表示を変換する方法

このQ&Aのポイント
  • マイクロソフトアクセス2007を使用している場合、クエリーテーブルタブでタスクの回数の表示方法を変更したいです。
  • 現在、クエリーテーブルタブで表示されるのはタスクの回数ですが、回数ではなく各タスクが完了したかどうかが分かるように表示させたいです。
  • 試しにIIF([タスク]>=1,"Done","YET")という式を使用してみましたが、うまく表示されません。どのようにすれば目的の表示ができるでしょうか。
回答を見る
  • ベストアンサー

アクセスのクエリーテーブルタブの表示の仕方を変換したいんですが

マイクロソフトアクセス2007を使っています。 テーブルに名前フィールドとタスクフィールドを置きました。 名前 タスク A   M A   N B   M C   O A   M のようなデータが入っています。 そこでクエリーのテーブルタブを使ってタスクの回数を表示させると 名前  M   N   O A   2   1  B   1  C          1 の様になります。 しかし、仕事上回数は必要なく各タスクをこなしたかどうかが欲しくて 名前  M    N    O A   Done  Done  YET  B   Done  YET   YET C   YET   YET  Done と表示させたいのです。 IIF([タスク]>=1,"Done","YET")をどこかに使えばいいのかと思い、色々試してみましたが、うまくいきません。どうしたらこのような表示が出来るか教えてください。

  • Kase1
  • お礼率73% (11/15)

質問者が選んだベストアンサー

  • ベストアンサー
  • 30246kiku
  • ベストアンサー率73% (370/504)
回答No.1

名前  M   N   O A   2   1  B   1  C          1 上記を表示した時のクエリのSQLビューは以下のようになっていると思います。 (違ってたらごめんなさい) TRANSFORM Count(*) AS 式1 SELECT テーブル名.名前 FROM テーブル名 GROUP BY テーブル名.名前 PIVOT テーブル名.タスク; 1行目 TRANSFORM Count(*) AS 式1 を TRANSFORM IIF(Count(*)>=1,"Done","YET") AS 式1 に変更します。 ※ AS 式1 は、AS XXXX になっているかもしれません。 ※ Count(*) は、Count(テーブル名.名前)やCount(テーブル名.タスク)になっているかもしれませんが、その内容でIIF判別すればよいと思います。

Kase1
質問者

お礼

WAO! できました。SQLビューは使ったことがありませんでした。これから勉強しようと思います。 ありがとうございました。

関連するQ&A

  • ACCESS2010 データ一致でテキストを返す

    ACCESS2010でクエリー内の計算式について質問です。 クエリー内にフィールド1とフィールド2があり、この中のデータの組み合わせによって別のフィールドにテキストのコメントを返すための計算式を教えていたたきたいのです。 例:同一のレコードで、フィールド1が”A”でフィールド2が”1”であった場合、フィールド3に”当たり”といったテキストを返したい。 そのほかの組み合わせであった場合はブランクのままとするか、そのパターンによってテキストを変えたいのです。(Bと2の組み合わせではずれ、Cと3の組み合わせでもう一回、それ以外はブランク) フィールド1 フィールド2 フィールド3    A      1     当たり    B      2     はずれ    C      3     もう一回 IIf 関数を使ってチャレンジしてみたのですが、エラーが出てうまくいきません。 一つだけのフィールドを対象とした場合、下記の計算式で表示されるのですが、複数となった場合うまくいきません。 式1: IIf([フィールド1]="A","当たり") よろしくお願いします。

  • Access クエリについて

    クエリについて質問です。  データ フィールド名が名前:        会社名・個人名が表示されています。 クエリのフィールドのところから、 「名前」に会社という言葉があったら、「1」、なければ 「2」と表示したいのですが上手くいきません。 会社コード1: IIf([名前]="*会社*","1","2") 全て2になってしまいます。 誰か教えてください。宜しくお願い致します。

  • ACCESS IIF関数 複数条件の設定について

     選択クエリにおいて、あるフィールド「 X」 のレコード数値が     0<[X]<=50   であれば A    50<[X]<=100  であれば B    100<[X]<=150  であれば C  と表記させるフィールド「Y」を追加したいと考えています。  この場合、Yのフィールド設定で指定する数式についてご教授願います。  一応、   IIf(0<[X]<=50,"A","") Or IIf(50<[X]<=100,"B","") Or IIf(100<[X]<=150,"C","")   としましたが、実行すると、Yの列がすべて「-1」と表記されてしまいます。  何卒よろしくお願いいたします。

  • アクセスのクエリでパラメータを表示させない方法は?

    超初心者の質問ですみません。。 アクセスのクエリで、ある数字の全体に対して占める割合を求めるため、以下のような式をいれています。 フィールドC: [フィールドA]/[フィールドB] このクエリを開いたときに毎回パラメータが表示されるのですが、これを表示させないためにはどのようにすればよいのでしょうか?OKを2回押せばきちんと計算された値が入ってくるのですが、毎回OKを押さずに開けるようにしたいです。 ちなみに、フィールドAとフィールドBは、あるテーブルに入っている値をクエリ側で 集計 を「合計」に設定して求めた値が入っていて、フィールドA~Cは同じクエリの中にあります。 VBAやSQLはまったく理解できません。 よろしくお願いします。

  • Access クエリについて

    Accessのテーブル1に、フィールド「コード」「回数」があり、レコードとして A,32 B,20 C,13 ・・・というように、ランダムなコードと回数がセットされているとします。コードは主キーです。 このテーブル1を元にしたクエリで A,1 A,2 A,3 ・・・ A,32 B,1 B,2 ・・・ B,20 C,1 C,2 ・・・ C,13 というように、コードごとに「回数」と同じ数のレコードがクエリ上に生成されるようにしたいのですが、こういうことは出来るのでしょうか?出来ればSQLで回答いただけないでしょうか。

  • Access #エラーについて

    Access初心者です。 よろしくお願いいたします。 [前提]  テーブルA のIDに紐づけてクエリBの数値をクエリCで反映させたい。  〈詳細データ〉   ・テーブルA    [ID] [名称]       1   あ     2   い     3   う     4   え     5   お   ・クエリB    [ID] [数値]     2   10     3   20     5   40   ・クエリC    [ID]  [名称] [数値]     1    あ  #エラー     2    い   10     3    う    20     4    え  #エラー     5    お   40   ・”テーブルAの[ID]”の全レコードと”クエリBの[ID]”の同じ結合フィールドだけを含めてリレーションを行っている。    ・クエリCの算式: IIf(IsError([クエリB].[数値]),0,[クエリB].[数値])  [質問]    ・クエリCの『#エラー』部分を0にしたいのですが、何か良い方法はございませんでしょうか。   ・そもそも上記のロジックは無理がありますでしょうか。    アクセスはあまりいじったことがございません。ご回答いただけますと幸いです。   よろしくお願いいたします。

  • accessのユーザー定義関数記述について

    VBAでユーザー定義関数を記述しようと思って勉強中です。 以前、アドバイスして頂きすばらしい関数式で合計8フィールドに入力後、 同一クエリ上で再度結合して1つのフィールドにまとめることが出来ました。 そして最後にもう1つクエリでファイルを作成しCSVファイル出力です。 目的は、文字列とtag(htmlタグ)と組合わせて1つのHTMLテキストにしようとして下ります。 そこでまた問題が発生いたしました。 1つのフィールドが1024文字のため分割して結合しておりましたが、クエリとクエリとクエリの3段階のため 「クエリが複雑すぎます」 というエラーが出ててしまいました。 VBAのユーザー定義関数に変換しなければならないのですが、かなり複雑になってきました。一体どのような記述になるのでしょうか。 大変お手数をお掛けいたしますが、よろしければアドバイスお願いいたします。 最終目的 block1 + block2 + block3 + block4 + block5 + block6+ block7+ block8を連結して html文を作成するためVBAでユーザー関数定義で保存したいのです。 クエリ関数整理後の今回の連結 フィールド名 block3 & block4 & block5 & 以後省略 IIF(TRIM("" & [A] & [B] & [C])="","",[T_shop]![tg6])& MID(IIF(TRIM("" & [A] & [B] & [C])="","<BR><BR>","")& IIF(TRIM("" & [A])="","","<BR><BR>" & [A])& IIF(TRIM("" & [B])="","","<BR><BR>" & [B])& IIF(TRIM("" & [C])="","","<BR><BR>" & [C])& IIF(TRIM("" & [A] & [B] & [C])="","","</FONT>"),9) & IIF(TRIM("" & [D] & [E] & [F])="","",[T_shop]![tg7])& MID(IIF(TRIM("" & [D] & [E] & [F])="","<BR><BR>","")& IIF(TRIM("" & [D])="","","<BR><BR>" & [D])& IIF(TRIM("" & [E])="","","<BR><BR>" & [E])& IIF(TRIM("" & [F])="","","<BR><BR>" & [F])& IIF(TRIM("" & [D] & [E] & [F])="","","</FONT>"),9) & IIF(TRIM("" & [G] & [H] & [I])="","",[T_shop]![tg8])& MID(IIF(TRIM("" & [G] & [H] & [I])="","<BR><BR>","")& IIF(TRIM("" & [G])="","","<BR><BR>" & [G])& IIF(TRIM("" & [H])="","","<BR><BR>" & [H])& IIF(TRIM("" & [I])="","","<BR><BR>" & [I])& IIF(TRIM("" & [G] & [H] & [I])="","","</FONT>"),9)

  • Accessフォーム/レポートのテキストボックスの表示について

    Access2000で クロスクエリーを元にしたフォームで、フィールドが存在しない場合でも エラーにせずに空白を表示したいのですが、うまくいきません。 なるべくなら複雑なVBAは使わずに作りたいのですが よい方法がありましたら教えてください。 例えば下のようなデータになるクロスクエリーがあります。 (a,b,cは一つのフィールドです)     a b c ----------- 北海道 1 1 0 東北  2 0 1 関東  0 1 1 ・ ・ それを条件をつけて北海道のみにした場合、次のようになります。     a b  北海道 1 1 フォーム上では、全てのとき(a,b,c全てある)と1つを選択したとき(cがない)でも ないフィールドは0として表示したいのです。 わかりにくい説明かもしれませんが、よろしくお願いします。

  • ACCESS クエリで表示されているデータがテーブルで反映されない

    宜しくお願い致します。 ACCESSにおいてクエリで表示されているデータがテーブルで反映されないので困っています。 状況としてはあるフィールドに1が入力されるとその隣のフィールドにAが入力されて2が入力されるとBが入力され3,4,5・・・と続いていく感じでそれは“iif”を使って条件指定しています。 この場合クエリのデザインビューで見たときにテーブル名を指定することができないためにこのような状況になっているということはわかったのですが、テーブルにその条件で表示した物が反映されるためどのように記述をしたらいいのでしょうか・・・ ややこしい質問かもしれませんが、宜しくお願い致します。

  • アクセスのクエリの作り方

    エクセルのIF関数のようなクエリを作りたいのですが、 A,B,Cのフィールドで Cのフィールドが0のときはBも0。 Cに何か数字が入ったときは、BのフィールドにはA*0.7という数字が入るようなクエリを作りたいと思っています。 関数文を教えてください。

専門家に質問してみよう