• ベストアンサー

Accessでフィールドを比較したいのですが

O_cyanの回答

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

>caseかIfを使う・・ VBでも出来ますが#2の方が書いているように更新クエリを使った方が簡単です。 ただ#2の方の書いてあるようにするとテーブルA・Bのコード1が同一でかつテーブルA・Bのコード2が同一のレコードが抽出されてしまいます。(それで良ければ#2の方の回答で大丈夫です。ただコード1同士・コード2同士のリレーションで大丈夫です) 質問から察すればコード1が同一のレコードはコード1チェックにTrue。コード2が同一のレコードはコード2チェックにTrue。という事だと思うので その場合コード1同士が同一ならコード1チェックをTrueにするクエリとコード2同士が同一ならコード2チェックをTrueにするクエリの2つが必要です。 テーブルAのコード1チェックだけのクエリを作りテーブル追加でテーブルBを追加します。更新のフィールドにテーブルBのコード1チェックを追加します。テーブルA・Bのコード1同士にリレーションをします。テーブルA・Bのコード1チェック両方のレコードの更新にTrueを指定します。 これでテーブルA・Bの両テーブルのコード1チェックにTrueが書き込まれる更新クエリが出来ます。 コード2チェックの更新クエリも同様にして更新フィールドを両テーブルのコード2チェックにしレコードの更新は同様にTrueです。 この2つの更新クエリを使えばOKです。 SQLを使ってクエリを記述するなら下記のように UPDATE テーブルA INNER JOIN テーブルB ON テーブルA.コード1 = テーブルB.コード1 SET テーブルA.コード1チェック = True, テーブルB.コード1チェック = True; コード2チェックの更新はSET以降のコード1チェックをコード2チェックに変更すればOKです。

関連するQ&A

  • Access マクロについて

    Accessのマクロについて教えてください。 仮テーブルに 管理コード(オートナンバー) 「あ」(Yes/No型) 「判定」(短いテキスト) があります。 仮テーブルを元に作成した、Aフォームで「あ」チェックボックスがTrueだったら「判定」フィールドに”OK” という文字を 上記のような処理はマクロではできないのでしょうか。 アクションカタログを見てもチェックボックスが〇〇だったら(IF)、までしか作成できないので。 フィールドに書き込むことはマクロでは難しいのでしょうか。 すみませんが、よろしくお願いします。

  • accessフィールドの複数結合

    テーブルAの1つのフィールドとテーブルB内の複数のフィールドを結合させたい。例 テーブルAには社員コードと社員名、テーブルBには商品名、納入社員コード、商品管理社員コード。テーブルAの社員コードフィールドとテーブルBの2つの社員コードフィールドを結合させたいのです。テーブルAをコピーして2つ作り、それぞれをBの2つのフィールドと結合すると出来るのですが、テーブルAが社員名でなく、画像だったりするととても大きなファイルサイズになってしまいます。お答えお待ちしています。

  • Word フィールドのチェックボックス判定方法

    チェックボックス に、名前 Check1 を設定 フィールドコードにて { IF Check1=True "(チェックボックス チェック)" "□" } を、記載しましたが Check1を、ON/OFFして、フィールド更新しても (チェックボックス チェック)⇔□の表示が入れ替わりません。 チェックボックスのON/OFF判定方法を 教えていただけないでしょうか。

  • アクセスの複数フィールドからの抽出について教えてください。

    「テーブル1」があり、「テーブル1」の中にフィールドA、フィールドB、フィールドC、フィールドDがあります。  その4つのフィールドの中のどれにも”あ”という言葉が含まれていないレコードを探しだしたいのですが、クリエでOR検索してもうまくいきません。  フィールドAに”あ”は無くても、フィールドBかフィールドCに”あ”といいう文字が含まれているものが出てきてしまいます。どうしてでしょう・・・  ちなみにSQL文は SELECT * FROM TABLE1 WHERE ((Not (TABLE1.フィールドA)="あ")) OR ((Not (TABLE1.フィールドB)="あ")) OR ((Not (TABLE1.フィールドC)="あ")) OR ((Not (TABLE1.フィールドD)="あ"));  となっています。明らかに初歩的な問題だと思われますが、初心者のため分からず困っております。  アドバイス、よろしくお願いします。

  • Accessでグループ化した結果フィールドをつなげるには?

    Accessでグループ化した結果フィールドをつなげるには? Access2003で 区分/コード A/123 A/456 A/789 B/234 B/567 というテーブルがあり、グループ化すると、区分Aのコードは123、456、789、 区分Bのコードは234、567と表示や印刷することはできます。 (たとえば、フォームやレポートのサブフォームなどに各コードを表示することはできます) これを、 フィールド1/フィールド2 A/123456789 B/234567 というふうにコード部分を1つのフィールドにつなげることは可能でしょうか? 上記のように、区分Aのデータ件数は3件、区分Bは2件というように コードのデータ件数はまちまちですが、それに対応してつなげたいと考えております。 よろしくお願いいたします。

  • accessリレーションシップ 1つのフィールド対2つのフィールド

    困っているので質問します。 テーブルAのフィールドをテーブルBのフィールドとリレーションシップを結ぶ時、テーブルAの1つのフィールドをテーブルBの2つのフィールドにリレーションシップを張ろうとするとできません。 例)テーブルA=元号テーブル         元号テーブルには元号CDと元号の2つのフィールドがあります。   テーブルB=管理テーブル 管理テーブルには作成年月日と更新年月日という2つのフィールドがあって、それぞれに元号テーブルにある元号というフィールドを元号CDを使って引っ張ってきたいのです。 どのようにすればよいのか教えてください。

  • access 複数フィールドを1フィールドに

    Access勉強中です。 委員名簿テーブルと、いくつかの行事テーブルを結合したいのですが、上手くいきません。 どうか教えてください。 access2003です。 委員名簿テーブル  クラス   生徒名1   生徒名2   生徒名3  1-1     ああ     いい     1-2     かか     きき      くく  1-3     ささ  1-4     たた     ちち      つつ 行事Aテーブル          行事Bテーブル  生徒名   参加          生徒名    参加   かか    true           ああ     false        ささ     true           いい     true            ちち    false           きき     true                       たた     true                       ちち     true  このようなテーブルを結合して、次のようなテーブルを作りたいのです。  クラス  生徒名   行事A    行事B  1-1   ああ            false  1-1   いい            true  1-2   かか    true  1-2   きき            true  1-2   くく  1-3   ささ     true  1-4   たた            true  1-4   ちち    false     true  1-5   つつ よろしくお願いします。

  • Accessで、親フィールドに子フィールドの値を入れたいのですが

    親フィールドの[テキストボックスA]に [テキストボックスB]-子フィールドのフッターにある[テキストボックスC] という式の値を表示させたいのですが。 Aのコントロールソースに = [B]-[子フィールド名].フォーム![C] と入力すると「#Name?」となり、「フォーム」を「Form」とすると空欄になるのですが、どこを直せばいいのでしょうか。 [B]は数値です。 [C]はsum関数が入っていて、普通に表示されてます。 宜しくおねがいします。

  • 2つのmdb内にある同名テーブルのフィールド比較

    同じ名前のmdbが2つ存在しておりまして、A.mdbのテーブル内のAテーブルと B.mdb内にあるAテーブルが、同じかどうかを判断するために、フィールドの比較を行いたいのですが、何かよい方法を御存じの方いらっしゃいますか?

  • SQLで同じフィールドを2つ取りだしたい

    以下のテーブルからCSVを出力する際、 ID | 名称 | コード1 | コード2 1 |  A  |  111  |  444 2 |  B  |  222  |  555 3 |  C  |  333  |  666 「ID/名称/コード1コード2」のように取りだす場合のSQL文は SELECT ID, 名称, コード1 || コード1 FROM テーブル名 となると思いますがこれを、「ID/名称コード1/名称コード2」のように同じフィールドを同じ行に2回登場させたい場合はどうすれば宜しいでしょうか。 SELECT ID, 名称 || コード1, 名称 || コード2 FROM テーブル名 とした場合にはエラーになってしまいます。 宜しくお願い致します。