• 締切済み

条件付き書式で色を付けたい

初めまして。 access2010で勉強中の者です。 早速ですが、氏名フィールドを持つフルネームテーブルがあり、関連のない苗字フィールドを持つ苗字テーブルがあります。 氏名フィールドには苗字と名前の間にスペースをあけて氏名が入力されています。 苗字フィールドには苗字だけが入力されています。 氏名フィールドに入力した氏名の苗字が、苗字フィールドにあるものだった場合、そのレコードに色を付け様としています。 氏名フィールドに条件付き書式で、 IsNull(DLookUp("苗字","苗字テーブル","苗字 = left( [Form]![氏名] ,instr( [Form]![氏名] ,' ')-1)"))=false としたのですが、うまくいきません。 ちなみに、氏名フィールドに苗字のみを入力して IsNull(DLookUp("苗字","苗字テーブル","苗字 = [Form]![氏名]"))=false ではうまくいきました。 何がいけないのでしょうか?

みんなの回答

noname#212067
noname#212067
回答No.1

氏名フィールドには苗字と名前の間にスペースをあけて氏名が入力されています。 せっかくスペースあけてんだから、スペースから左何文字って切り出して、苗字フィールドと 比較すれば、いいんでねえの? Left([Form]![氏名],InStr([Form]![氏名]," ")-1) VBAはそろそろ地方にしか仕事なくなってきたので、他の言語を覚えたほうが良いですよ \(^o^)/

関連するQ&A

  • アクセス2000でISNULLについて

    ISNULLの動作がわかりません、おしえてください。 テーブルにDAOで 宛名に敬称を付けようとしています。 IF ISNULL(TRIM(氏名))=False TEHN 氏名=TRIM(氏名) & " 様" ELSEIF ISNULL(TRIM(役職))=False THEN 役職=TRIM(役職) & " 様" ELSEIF ISNULL(TRIM(部署))=False THEN 部署=TRIM(部署) & " 御中" ELSEIF ISNULL(TRIM(会社))=False THEN 会社=TRIM(会社) & " 御中" else    ・・・・・・・・・・ endif ここで部署になにも入っていないのに 御中がついてしまうのです。 部署のフィールドには全角、半角のスペースも入っていません。 フィールドの空文字列のの許可は、"はい"にしてあります。

  • ACCESSの条件付書式について

    カテゴリフィールドには、3つのカテゴリが存在します。 「重要」「情報共有」「緊急」です。 そのフィールドはルックアップ列を用いてテーブルに入力されています。 そのテーブルから、サブフォームを作成し、一覧を表示させているのですが、「重要」や「緊急」のカテゴリのときだけ、色をつけたいのです。 ・・・が。条件付書式がうまくいきません。 IIF([カテゴリ]="重要",TRUE,FALSE) のように設定したりしてるのですが、うまくいきません。何が間違っているのでしょうか。 もし他の条件式などでうまく行くようであれば、そちらでもかまわないのですが、教えていただけますでしょうか。

  • ACCESS:条件付き書式でDLOOKUP関数

    こんにちは。 ACCESSで、フォームに該当の数値が入力されると注目!の意味で その数値を赤太字で表示させたいのですがどのようにしたらよいでしょうか? 実際には、 MAIN_TABLEというテーブルを元にKEY_INというフォームを作っています。 そのフォームのPO_NOに入力したときに赤太字にしたいです。 注目させたいものはBULLETIN_BOARDというテーブルの CHECK_POというフィールドにリストアップしています。 条件付き書式がいいと分かったので、 KEY_INフォームのPO_NOに設定して、、 フィールドの値 次の値に等しい DLookUp("[PO_NO]","BULLETIN_BOARD","[CHECK_PO]")  とすると何の数字でも反応して赤太字になってしまいました。 そして、セキュリティの警告のコンテンツを有効化のボタンを押して 再度確認してみると全然反応しなくなりました。 その後、 DLookUp("[PO_NO]","BULLETIN_BOARD","[CHECK_PO]="&[CHECK_PO]) DLookUp("[PO_NO]","BULLETIN_BOARD","[CHECK_PO]='"&[CHECK_PO]&"'")  も試してみましたがダメでした。 解決法が分からなくて苦労しています。 教えていただけないでしょうか?

  • 条件付き書式の設定について

    名簿管理をAccessで行っていますが、特定のレコード「指定フィールド」の色を変えて、確認しやすくしたいと考えております。条件付き書式を使う程度の知識はありますが、知識乏しく考えても分からない領域でもあり、アドバイスをお願いできればと思います。 [Access Ver] ACCESS2007(サポート終了ですが諸般の事情で使っています。) [やりたいこと] 永眠「チェックボックス」にチェック「YES」が入ったデータ「氏名」だけフォントの色を変えたい。 [やったこと] フォームの名簿一覧をデザインビューで開いてレコード「氏名」を選択し、リボンから条件付き書式を選択。条件から式を選択して式入力窓に「"永眠"=Yes」と記入する。思いつきの為、当然ながら全く変化なしでした。 [オブジェクト] ●フォーム名:名簿一覧 ●フィールド名「種別」 ・ID「オートナンバー」 ・担当区「テキストボックス」 ・名簿区分「テキストボックス」 ・都道府県「テキストボックス」 ・氏名「テキストボックス」 ・年賀状「チェックボックス」 ・永眠「チェックボックス」 以上ですが、宜しくお願いします。

  • マイクロソフトアクセス Dlookupの使い方

    先日、同じ質問をした者です。別角度からのトライをしてみました。 (経緯) Table1とTable2を作りました。Table1には5レコードを入力済みです。 tabale2からFoam2を作りました。で、table2のField2にDlookupの定義を書いてみました。単純に、Field1を選んだらField2がコピーされてくるだけです。(予定では・・・) Foam2でField1を選ぶ事は出来るのですが、Field2に移動しても何も表示されません。Field3に移動するとエラーがでます。debugを選ぶとdlookup分が黄色に反転してます。 参考書片手に苦戦しましたが変化無しです。アドバイスをお待ちしています! ●エラー Run-time error'3464'. datatype mismatch in criteria expression ●書いた定義 Private Sub Text6_Click() If Not IsNull(bakk) Then Field1 = DLookup("Field1", "Table1", "Field1=" & Field1) End If End Sub ●テーブル定義 Table1 Field1 (Text) Fleld2 (Text) Field3 (Text) Table2 Field1 (Table1のField1をコンボボックスで選択) Field2 (Table1のField2を自動で表示したい) Field3 (自分でテキストを入力) データタイプはTextで10文字指定です。

  • Access DLookup関数で複数条件の記述

    とても困っているので、どなたか教えて下さい! 今AccessでDLookup関数を使ってフィールドの値を取り出そうとしているのですが、 色んなエラーメッセージが出て先に進めません。 ★値を取り出そうとしているテーブル★ ■顧客台帳  ・顧客ID(オートナンバ)  ・顧客氏名(テキスト型)  ・生年月日(日付・時刻型)      以下略 ここから DLookup("顧客ID", "01顧客管理台帳", "顧客氏名 = " & Chr(34) & Me.Txt顧客氏名 & Chr(34) And "生年月日 = " & Me.Txt生年月日) 補足:Me.Txt顧客氏名(書式なし)    Me.Txt生年月日(日付(S)定型入力9999/99/99)    は、事前に入力されているものとします。 という式を使って、入力した顧客氏名と生年月日に一致する顧客IDを取り出したいのですが、 「型が違います」というエラーが出てしまいます。 条件式に[ ]等をつけてみても、「指定した式で参照されている'|'フィールドが見つかりません」 という様なエラーが出てしまいます。 条件の部分が間違っていると思うのですが、この式、またはやり方の問題点がお分かりになる方がおられましたら、ご指摘の方よろしくお願いいたします。

  • ACCESSのテーブル【住所録】で名字毎に何人いるかカウントしたい

    技術が未熟なため、大変困っています。助けてください。 MS ACCESS2002 のデータベースで【住所録】があるとします。 【住所録】テーブルには『氏名』、『住所』の2つのフィールドがあります。 『氏名』フィールドには鈴木_太郎、田中_幸子、佐藤_一郎、等アンダーバーで名字と名前を区切ったフルネームが入っています。 ここからが質問です。 『氏名』の名字だけをグループ化してカウントして新たなクエリーを作れないでしょうか。 例えば、【住所録】を元に、 名字(フルネームの名字のみグループ化)  人数(名字をカウント) 田中                  110 鈴木                  90 佐藤                  78 というクエリができないでしょうか。 あと何かクエリ以外で別のアプローチもあればご教授頂きたいです。 宜しくお願いします。

  • Accessの条件付き書式設定で、複数の条件が一致した時の書式を設定したい

    Accessのフォームで、複数の条件が一致した時の書式を設定したいのですが、どうすればいいのでしょうか? 例えば、 [都道府県]フィールドが『東京都』の時、そのレコードの全フィールドの背景を水色にし、 [数量]フィールド、[金額]フィールドがマイナスの時、そのフィールドの値を赤字にしたいのです。 フォームで、全てのフィールドを選択してから、メニューの条件付き書式設定で、 『条件1(1)』に、「式」 「[都道府県]="東京都"」 と入力し、背景を水色に設定し、[OK] しました。 次に、[数量]フィールドと[金額]フィールドだけを選択し、メニューの条件付き書式設定で、 [追加]ボタンを押して、『条件2(2)』に、「フィールドの値」 「次の値より小さい」 「0」 と入力し、 フォントを赤色に設定し、[OK] をクリックしました。 ですが、実行すると、『東京都でマイナス』の時、『背景が水色で値が赤字』 という具合になりませんでした。。 単票フォームでも帳票フォームでもどちらでも結果は同じでした。 どうすればできるのでしょうか?それとも、こういうことはできないのでしょうか?? [都道府県] | [担当者] | [数量] | [金額]   → なって欲しい結果  東京都 | あああ | 5 | 500   → このレコードの背景が水色になる  千葉県 | いいい | -5 | -500   → -5 と -500 が赤字になる  東京都 | ううう | -1 | -100   → このレコードの背景が水色になり、更に-1と-100が赤字になる。 このようにしたいのですが、どうしたらよろしいのでしょうか? よろしくお願いします。

  • 同じフィールドから複数条件のAND条件で抽出する方法

    お世話になります。 同じフィールドから複数条件のAND条件で抽出する方法 DBはAccessです。 フィールド1がA フィールド2がBという条件でしたら Select 抽出フィールド form テーブル where フィールド1=A and フィールド2=B で行っています。 フィールド1がAまたはBでしたら Select 抽出フィールド form テーブル where フィールド1=A or フィールド1=B で行っています。 それではフィールド1がAもBも満たす抽出はどのようにしたら良いのでしょうか。 例: 学生テーブル  フィールド 学生ID、氏名 履修科目テーブル  フィールド 学生ID、同一学生内連番、科目 というテーブル構成で英語、国語のどちらも履修している学生を抽出する場合などです。 2テーブルをリンクしたクエリを作ったのですが、 単にフィールド 学生ID、氏名、同一学生内連番、科目 なのでどちらも履修している学生を抽出できませんでした。 どのようにしたらよろしいのでしょうか。よろしくお願いいたします。

  • アクセス 入力した文字を自動で他のフィールドに返す

    アクセス2000を使用しています。 フォームでテーブルにデータを入力しています。 フィールド1に【みかん A-1】と入力するとフィールド2に自動的に【みかん】と 空白の前の文字を返したいのですが可能でしょうか? 必ず半角のスペースが間に入りますのでその前の文字(文字数は決まってません)を 自動で入力されるようにしたいです。 テーブルのフィールドにも入力されるように反映もしたいです。 DLookupではやはりフィールド全体になりますよね? 分かりにくい説明ですがよろしくお願いします。 初心者ですので分かりやすく教えて頂けると助かります。

専門家に質問してみよう