人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

以前と似たような質問ですが、AccessのテーブルでフィールドAとフィールドBがあった場合、フィールドAの値が”1”の時、フィールドBの値は○○、1以外のときは××、としたいのですが、こういうことを同一テーブル内で行うことは可能でしょうか?2つのテーブルでリレーションを組めば出来るのはわかってるのですが・・

●質問者: hac20380
●カテゴリ:コンピュータ
✍キーワード:access フィールド リレーション
○ 状態 :終了
└ 回答数 : 5/5件

▽最新の回答へ

1 ● たけじん
●20ポイント

更新を行いましょう。

クエリを開き、対象となるテーブルを選択します。

1個目のフィールドには、そのテーブルのフィールドAをあてがいます。

2個目のフィールドは、

選択肢:IIf([テーブル名][フィールドA]="1","○○","××")

と書き込みます。

クエリの種類を「選択」のままで、一旦動作させましょう。

フィールドBが正しく表示されていたら、クエリの種類を「更新」に変えます。二個目のフィールドの「レコードの更新」の部分に、[テーブル名][フィールドB]と書き込みます。

これで、動作させれば、OKでは?

◎質問者からの返答

2個目のフィールドには何をあてるのでしょうか?


2 ● たけじん
●20ポイント

2個目のフィールドへの記入について。

クエリの書き込む部分「フィールド」には、ツールバーの「ビルド」を用いて、

フィールドB:IIf([テーブル名][フィールドA]="1","○○","××")

と書き込みます。'テーブル名'のところは、テーブルの名前です。

上の作業をする前に、1個目のフィールドには、テーブルのフィールドAをそのままドラッグしておきます。

このまま動作させると、フィールドAには、テーブルの値がそのまま。フィールドBには、○○または××が書かれているはずです。

その動作を確認したら、クエリの種類を更新に変えます。

「レコードの更新」の欄に、やはり「ビルド」を用いて、[テーブル名][フィールドB]を書き込みます。

このまま動作させましょう。

参考まで。

http://www.moug.net/tech/acopr/0040035.htm

◎質問者からの返答

何度もすいません

フィールドB:IIf([テーブル名][フィールドA]="1","○○","××")を入力した時、指定した式の構文が正しくありません。たとえば演算子がないときにオペランドを指定しています。と表示エラーがでてしまいます・・・。その時カーソルはセンターCDを指定しています。


3 ● たけじん
●20ポイント

" もしくは、,などが、全角になっていませんでしょうか。

はじめの「フィールドB」以外は、半角です。""で囲まれている部分のみ、全角が入っていてもかまいません。

わかりにくい書き方ですみません。

◎質問者からの返答

[ ] も、入力するのでしょうか?


4 ● たけじん
●20ポイント

[]もです。

ただ、ビルドの機能を使って、自動的に入力することができます。

ツールバーの「ビルド」をダブルクリックすると、「式ビルダ」が開きます。

上側に開いた窓に、

フィールドB:IIf(

までを書き込み、下の左にある窓の、テーブルと表記された部分をクリックします。同一データベース内のテーブルが一覧で表示されるので、該当するテーブルをクリックします。下の中央の窓にフィールド一覧が表示されるので、該当するフィールドをダブルクリックしましょう。

すると、上の窓に、

フィールドB:IIf([テーブル名][フィールドA]

と表記されます。さらに、入力を続けて、

フィールドB:IIf([テーブル名][フィールドA]="1","○○","××")

としましょう。ここで、OKを押せば終了です。

◎質問者からの返答

ありがとうございました。

ちなみに式ビルダで作るとカギ括弧の間に"!"マークがつきましたが関係あるのでしょうか?


5 ● たけじん
●20ポイント

失礼しました。非常に関係あります。!がないと動作しませんね。

うっかり書き落としておりました。

エラーの原因はそこですね。

すみません、お手間をかけしてしまいました。

◎質問者からの返答

こちらこそ長い間ありがとうございました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ