• ベストアンサー
  • すぐに回答を!

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として表示したいのです。 わかりにくい説明かもしれませんが、よろしくお願いします。

共感・応援の気持ちを伝えよう!

  • 回答数4
  • 閲覧数274
  • ありがとう数2

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

  • ベストアンサー
  • 回答No.3
  • yatoaa
  • ベストアンサー率30% (110/362)

1.事前にテーブルを作成しておきます   テ-ブルには必要項目は全部定義します   **テ-ブルaとします 2.テ-ブルaを全件削除します(削除クエリー) 3.クロス集計します(既存のクエリー) 4.クロス集計の結果をテ-ブルaへ追加します      (追加クエリー) 5.テ-ブルaでのnull値を0にします    (更新クエリー) 6.テ-ブルaでフオームへ表示 でどうでしょうか

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ありがとうございます。 この方法ならレポートでも同じことができるので、とりあえずやってみます。 表示する前に一連の作業を実行させるための、準備はありそうですが 時間もかからずにできそうです。 すみません。補足とお礼,間違えてました。 <No 1、2の方 m(_._)m

関連するQ&A

  • ACCESSフォームのボタン表示

    ACCESSフォームのボタン表示 ACCESS2000で作成したフォームのボタンはACCESS2007でも変わりません。 ACCESS2007で一から作成したMDBは、ボタンの表示スタイルが異なります。 ※ボタンの角が丸く、マウスカーソルをボタンの上に当てるだけで色が変わる。 ACCESS2000で作成したMDBをACCESS2007で上記のように表示させる設定は あるのでしょうか? いろいろ見ても、見当たらないのです。 よろしくお願いします。

  • Accessレポート「0値」の表示について

    Access2000でおねがいいたします。 請求書のレポートで印刷するときに「\0」 を表示させたくない場合(空白にする) にはどのようにすればよろしいのでしょうか? レポート上でのオブジェクトを「通貨」 に設定しています。 よろしくお願いいたします。

  • MS Access200のフォーム

    MS Access2000のVBAを使っています。 メッセージBOXのように、値を返すフォームを作りたいのですが、方法がわかりません。 どのようにすればいいのでしょうか?

その他の回答 (3)

  • 回答No.4
  • o23
  • ベストアンサー率36% (64/175)

もしかするとはずしてるかもしれませんが、簡単な方法として a,b,cの各コントロールの書式に #,##0;-#,##0;0;0と設定したらどうでしょう? (とうぜん数値型か通貨型ですよね?) 4番目はデータがnullの時の表示です。

共感・感謝の気持ちを伝えよう!

  • 回答No.2

PIVOT句を使用します クエリの場合では、 クロス集計クエリの「列見出し」のプロパティ「クエリ列見出し」に 表示したい列見出しを指定します

共感・感謝の気持ちを伝えよう!

質問者からのお礼

締め切ってしまった後にすみません。 答えの内容を勘違いしていました。 後で気が付いて、この方法でよいのだとわかりました。 直接指定できるのですね。

質問者からの補足

ありがとうございます。 現在、列見出しには a,b,c のデータが入っている フィールド名で指定してあります。 直接 表示したい内容を指示することはできるのですか?

  • 回答No.1
noname#7099
noname#7099

クロスクエリーの前に ユニオンクエリーで「かならず、abcがあるレコード」を追加して、 クロスクエリーの後に、 選択クエリーで追加したレコードを抜いてしまえないかしら。

共感・感謝の気持ちを伝えよう!

質問者からの補足

さっそくありがとうございます。 ただ、「かならずabcが存在する」キーが何かはその時によって変わるため それをやろうとすると、自分でデータを作成して a,b,c,それぞれ3件 追加しなければなりません。 詳しくは書いていないのですが、他にも複雑な条件がいろいろあるので 元のデータに表示させるための架空のデータを追加することは難しいです。

関連するQ&A

  • Accessのフォームについて

    Access2000を使用しています。 2つのテーブルがあるデーターベースで、1つのテーブルを対象に作った フォームをもう一つのテーブルにも適用したいのですが、 フォームをコピーして、参照するテーブルを変更することはできないのでしょうか? 質問の意味がわかりにくいかもしれませんが、よろしくお願いいたします。(_O_)

  • ACCESS フォーム上での条件設定

    どなたかお知恵をお貸しください。 Access2000 検索用のフォームを作成しました。 A・B・C・D・E・Fというフィールドがあり、それらのフィールドを 含むデータ形式のフォームが作成されています。 やりたいことは、フォームにテキストボックスを5つ配置し それぞれ(A・B・C・D・E・Fというフィールドに対する)の条件 を入力して、実行(コマンドボタン)をクリックすると 条件に一致したフォームが表示されてくるようにしたいのです。 ただし、条件が入力されない場合もあります。 (5つのうち1つだけ条件が入る場合など) 初心者などでどのように設定すればいいのか分かりません。 どなたかお力をお貸しください。 よろしくお願いします。

  • Access フォームからの検索について

    初歩的な質問で申し訳ありませんが教えて下さい。 Access2000を使っています。 フォームに作ったテキストボックスに、入力した値又は文字と、特定のフィールドと比較し一致した場合にそのレコードをフォームに表示する方法はないでしょうか? いろいろと、web上のQ&Aなども見ましたが、思った動作をしませでした。 考えているのは、   ・テキストボックスにある値を入力し、『Enter』を押すとテキストボックスに入力した値と特定のフィールドと一致したレコードをフォームに表示 ・一致しない場合はメッセージボックスで一致しない旨を表示 です。 ・完全一致のみ表示 VBAでの動作を考えていますが、合わせて他の方法があれば教示頂ければと思います。 以上、お手数をお掛け致しますがよろしくお願い致します。

  • 「Access」のフォームを開く時に、メッセージを表示させたい。

    「Access2000」を 使用しています。 デスクトップに置いたフォームの ショートカットを開く時に、 警告メッセージが出るようにしたいのですが そのようなことは出来るでしょうか? 具体的には、 ショートカットをダブルクリックすると ウィンドウが現れて、 「最初に発注日付を入力して下さい!」 というようなメッセージが表示されます。 その後、そのウィンドウの「OK」ボタンを 押すなりしてから フォームの画面を触れるようにしたいのですが…。 VBAなどは殆ど触ったことがないのですが、 簡単な方法などはありますでしょうか?

  • 抽出条件でサブフォームを変えたい

    ACCESS2000でVBAを使ってフォームを作成しています。 オプションボックス、リストボックスなどで担当者別、顧客別を選択した結果によって表示するサブフォームを変える事は可能でしょうか?

  • アクセスのフォームでテキストボックスを順番に選択

    任意の名前がついたテキストボックスがあります。 これをVBAを使い、1つずつ選択することは可能でしょうか? 例えばエクセルのシートだったら Sheets(1) みたいな感じで数字も使えますが、アクセスのフォームではできないのでしょうか? さらに取得していったテキストボックスの値を取得、ということもしたいです。 Access2000です。

  • Accessでフォームに入力したものをレポートへ表示させるには。

    検索フォームで入力した検索条件を結果を表示するレポートに表示したいのです。 検索フォームの検索実行ボタンの最後に Reports![R_マスタ_一覧]![検索条件] = Kensaku というように入れてみました。 ※Kensakuは検索条件です。 Msgbox Kensaku とするときちんと表示されるのですが、上記のReports!…だとエラーは出ませんが、表示がされません。(何も出てこない) どうしてでしょうか? Access2000です。

  • accessのフォームをレポートに変換?

    accessのフォームをそのままレポートにする簡単な方法?があったらアドバイスいただけませんか。 #accessで作成されたシンプルなプログラムを使用している立場。accessはテーブルでデータを検索したりするだけの使用状況。 #フォームで表示されている内容をそのまま印刷したいことが多い #access2000 access2002あり。

  • accessのレポートで…

    レポート(テーブル1から作成)にあるフィールド1には「1・2・3…」という数字が入っています。 この1・2・3はテーブル2(ID・名前)とリンクしています。 フォーム上ではコンボボックスにして、テーブル2の名前も表示するようになっています。 (テーブルに値としては入っていません) これでレポートを作成した場合、テーブル2の名前を表示させたいのですが、テキストボックスで Iif([フィールド1] = "1","****",Iif(… というようにしてしまうと、せっかくリンクにしたのにデータが固定になってしまうのを避けたいんです。 フォームだとコンボボックスの更新後処理とレコードの移動にコードをかけば最新の情報を表示することができたんですが、レポートでもこのようなことはできるんでしょうか? (コードをかいて処理したいです) Access2000です。 よろしくお願いします。

  • AccessVBAとフォーム

    初歩的な質問かも知れませんが宜しくお願いします。 環境はOS:Xp・Access2000です。 AccessVBAを使って作業をしているのですが、 現在のフォームを閉じるのは「DoCmd.Close」なのは解っているのですが、指定したフォームを閉じる命令が解りません。 宜しくお願いします。