• 締切済み

アクセス 

アクセス初心者です。 フォームにコマンドボタンを作りました。 そのボタンをクリックすると、テーブルを更新するようにしたいです。 ccc0 ccc1 ccc2 ccc3 ccc4  ccc5 cc というフィールドがあり、ccc0~ccc5には、ひとつずつメールアドレスが入っています。 ccというフィールドに上のccc0~5のメールアドレスを「;」で繋げて、表示させたいのですが、ccc0には必ずメールアドレスが入っていますが、ccc1~5はテーブルによって空欄の場合もあります。(そのテーブルのもつメールアドレスの数によってccc0から順に埋まっている。共通の固定アドレスがあるので、ccc0は必ずメールアドレス(固定)が入っている) 更新クエリで全部をccc0&";"&ccc1&";"&ccc2&";"&ccc3&";"&ccc4&";"&ccc5 としたところ、 たとえば1つしかメールアドレスのないテーブルは、「○×com;;;;」という表示になってしまい、この形になってしまうと、このccを使ったVBAが作動しなくなってしまいました。 「;」が最後についてしまうとNGのようです。 つまり、 ccc1に入っていたら、ccc0;ccc1 ccc2まで入っていたら、ccc0;ccc1;ccc2 ccc3まで入っていたら、ccc0;ccc1;ccc2;ccc3 ccc4まで入っていたら、ccc0;ccc1;ccc2;ccc3;ccc4 ccc5まで入っていたら、ccc0;ccc1;ccc2;ccc3;ccc4;ccc5 という風にccに表示させるコードを教えてください。 よろしくお願いします。

みんなの回答

  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.2

更新クエリのccのフィールドに下記の記述で試してみてください。 cc:[cc01] & IIf([cc02] Is Null,"",";" & [cc02]) & IIf([cc03] Is Null,"",";" & [cc03]) & IIf([cc04] Is Null,"",";" & [cc04]) & IIf([cc05] Is Null,"",";" & [cc05]) IIfをネストしても大丈夫です。

回答No.1

ベタなんですが、if を使うのはダメなんですか? たとえば、 if isnull(ccc1) = true then str = ccc0 else if isnull(ccc2) = true then str = ccc0 & ";" & ccc1 end if end if アドレス = str のような感じで。

関連するQ&A

  • ACCESS クエリでの抽出の方法について

    毎度お世話になっております。 ACCESS2003、SQLSERVER2000を使用しています。 以下のテーブルがあります。 テーブル1 フィールド1   フィールド2   A        10   A        20   A        -10   B         1   B         2   B         3 フィールド1をグループ化し、 フィールド2に0より小さい数がある場合はNG、 ない場合はOKと表示したいのです。 希望する結果 フィールド1   フィールド2   A         NG   B         OK 私が考えた方法は、 1.クエリ1(フィールド2が0以下のフィールド1を抽出する)を作成 2.テーブル1とクエリ1をLEFT JOINし、IS NULL ならOK、そうでないならNGを表示 としました。希望した結果は得られましたが、 もっとスマートな方法(一つのクエリでできるような方法)、 または別解をご教授ください。 よろしくお願いします。

  • アクセスのクエリで

    あるテーブルはエクセルからインポートしていますが、全てのフィールドが空白というレコードが多数存在します。 これをクエリで(他に方法があればどの様な方法でもよいです)全てのフィールドが空白のレコードは表示しない様にする事はできますか? これを更新クエリにして、新しく全て空白のフィールドのレコードが無いテーブルを新たに作ろうと考えています。 教えて下さい。よろしくお願いします。

  • アクセス テーブル、クエリーについて

     アクセスでソフト作成中です。そこで教えてほしいことがあります。 たとえば下記のように2つのテーブルがあります。 テーブル1   テーブル2   フィールドA    フィールドB  a1       10  b1       20  c1       30          テーブル1の数値は固定します。そこで下記のようなクエリーを作成したいのです。 クエリー1 フィールドA フィールドB a1 10 b1 20 c1 30 テーブル2に数字を入れていくと テーブル1   テーブル2   フィールドA    フィールドB  a1       10  b1       20  c1       30           40 クエリー1 フィールドA フィールドB a1 40 b1 20 c1 30 このように数字が上書きされていくようなクエリーは作成できないでしょうか。(あくまでテーブル1の数値は固定、フィールドAとフィールドBにリレーションシップは設定されていない。) よろしくおねがいします。

  • アクセス作成について

     アクセスについて質問します。  フォームで入力する場合で、例えばテーブルのレコードを100までとし、101を超えた場合またレコード1にデータを入力することは可能でしょうか。 テーブル フィールド1 フィールド2  1       6  2       8   .      .   .      . 100       55 フィールド1は固定し、フィールド2にデータを入力していき101番目にデータを入力する時はまた1行目の6を上書きしてデータを更新していくようなことは可能でしょうか。(もちろんフィールド1、フィールド2を別テーブルとしクエリーを活用することでもok) アクセス初心者です。よろしくおねがいします。

  • アクセスクエリ

    アクセスクエリのフィールド MS-accessのクエリで質問です クエリで、3つのテーブルがあります。 どのテーブルのフィールドにも[売上]があります。 この3つのテーブルの[売上] フィールド1列に表示させる方法はありませんか

  • Access2000で重複データに・・・

    Access2000の重複データの処理について質問です。 あるフィールドの重複レコードを検索し、該当するレコードの別フィールドに「●」をつけようとしています。ただ、重複する最初のレコードには「●」をつけたくないのです。 例えば  aaa ・・・ (1)  bbb  aaa ・・・ (2)  ccc  aaa ・・・ (3)  eee というフィールドだった場合、(1)には「●」をつけずに(2)以降にのみつけたいのです。 重複クエリで重複レコードを抽出して重複テーブル作成→重複テーブルと元テーブルを組み合わせて更新クエリ作成という方法でやったのですが、そうすると(1)にも「●」がついてきます。(当然ですが・・・) 何か名案があれば教えてください。 やはり、VBAを使わないと無理でしょうか・・・?

  • アクセスでクエリ実行後の空欄について

    こんにちは。 アクセス初心者の者です。 アクセスを用いてクエリを作成しています。 テーブルAとBがあります。 Aの1フィールドと、Bの1フィールドを結合して、 Aの2フィールドと3フィールドを表示させるようなクエリです。 (結合プロパティで、Bの空欄を無視するようにしています。) しかし、結果を表示してみると、Bの1フィールドはちゃんと値が入っているにもかかわらず、 Aの2フィールドと3フィールドの値が挿入されず、 空欄になっているところが「ところどころ」あります。 入ってるところもあれば抜けているところもあり、不思議です。 データ量が多く、エクスポートすると10Mバイト以上あるのですが、そういうのが影響しているのでしょうか。 ちょっと説明しずらく、わかりずらいかもしれませんが、 その際はもっと説明させていただきますので、 どうぞよろしくお願いいたします。

  • アクセスのクエリーのことで教えてください

     テーブル1とテーブル2があってクエリーでリレーションシップを組むときに  結合プロパティを「テーブル1の全レコードと、テーブル2の同じ結合フィールドのレコードだけを含める。」にして表を作ろうとしたのですが、テーブル2に レコードが無い場合、テーブル1,2を使って作ったクエリー1で表を作り、 ビルドでクエリー1の項目を貼り付けて、計算させると、テーブル2にレコードが無いと空欄になっているためか、計算がうまく行きません。この問題を解決するにはどのような方法をとればよいですか? ほんとにこまったちゃんになっているので教えてください。 

  • アクセスのクエリ作成について

    下記のようなテーブルとフィールドがあるとします。 Aテーブル  会社名 分類 都道府県 住所 HPアドレス  Bテーブル  担当者 部署 電話 メールアドレス Cテーブル  受付番号 分類 Dテーブル  受付番号 分類 ここでAテーブルの都道府県で一致するデータを抽出し、 下記のフィールドを表示するクエリを作成したいと思っています。 A 会社名 分類 都道府県 住所 HPアドレス B 担当者 部署 メールアドレス 電話 C 受付番号 D 受付番号 クエリを作成し実行しましたが、何もデータが出てきません。 全フィールド入力していないと抽出できないのでしょうか。 中にはHPアドレス等がない場合もあるのです。 すみませんが、どなたか教えて下さい。 よろしくお願いします。

  • Access2007の練習をしています。テーブルを作り、それを基にクエ

    Access2007の練習をしています。テーブルを作り、それを基にクエリを作っています。そこで、更新クエリを作り、クエリのあるフィールドのデータを更新しようとしました。クエリを作り、保存し、それを呼び出し、更新クエリを実行しようとすると、更新クエリ実行の確認のメッセージが現れ、はいを選択すると、次にデータを更新できませんと表示されます。なぜ、更新できないのでしょうか? 何方か、詳しい方、ご指導お願いします。

専門家に質問してみよう