• ベストアンサー

アクセス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 ここで部署になにも入っていないのに 御中がついてしまうのです。 部署のフィールドには全角、半角のスペースも入っていません。 フィールドの空文字列のの許可は、"はい"にしてあります。

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

  • ベストアンサー
  • nag0720
  • ベストアンサー率58% (1093/1860)
回答No.2

AccessのHELPによると、 Null 値は、バリアント型 (Variant) に有効なデータが入っていないことを示す値であり、変数が初期化されていないことを示す Empty 値や、Null 文字列と呼ばれる長さが 0 の文字列 ("") とは異なります。 IsNull関数では、Empty値やNull文字列(長さ0の文字列)は判定できません。 IsNullよりも、Nz関数を使って、 If Trim(Nz(氏名))<>"" Then のようにしてはどうですか。

DPS-DPS
質問者

お礼

ありがとうございます。 できました、でも他にもたくさんISNULLを 使ってしまっているのです。 どうしょう 直すしかないのか

その他の回答 (1)

noname#110201
noname#110201
回答No.1

"会社"に何かが書いてあるから、"御中"がつくのではないですか?

DPS-DPS
質問者

お礼

ありがとうございます。

DPS-DPS
質問者

補足

部署に何も入っていないのに " 御中"と部署が置き換わってしまうのです。 本来なら"○○会社 御中"になるはずなのですが。 部署に何かが入っていれば"×××部 御中"にはなりますが 部署はnullのはずなのにelseifの中に入ってしまうのです。

関連するQ&A

  • MSアクセスで出力の位置をかえたい

    MSアクセス2000で封筒に氏名を出力しています。 条件によって氏名の上位置を変えたいのですが、 デザインビューで氏名を配置して イベントプロシージャで条件によってプロパティのTOPをかえています プログラムは簡単にしますと、下記のように記述しています。 Y=ME!SIMEI.TOP      '今回の場合は3800です IF ISNULL(TRIM(ME!KAISYA))=TRUE THEN ME!SIMEI.TOP=Y-200 ELSEIF ・・・・・・・・・・・・・・・・・・THEN ・・・・・・・・・・・・・・・・・ ELSE ENDIF いろいろな封筒があるので定数で初期化できないので次のレコードの時 さらに200上がってしまいます。 なにか良い方法はないでしょうか

  • 差し込み印刷連名表示不能

    Word 2003で年賀状/はがきの宛名面の差し込み印刷をしてますが連名が表示されません。 住所録ファイルとしてExcelファイルを使ってます。 フォーマットは 氏名、連名、敬称、会社、部署、役職、郵便番号、住所_1、住所_2 としてますが連名が表示されません。 そこで 氏名、敬称1、連名、敬称2、会社、部署、役職、郵便番号、住所_1、住所_2 としてみましたがやはりだめです。 郵便番号以下は両者とも問題なく表示されます。(会社、部署、役職はつかってません) 去年は問題なく出来たのですが原因が解りません。 ご教授ください。

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

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

  • 筆グルメの敬称は氏名入れないとつきませんか?

    筆グルメ9.0を使用しています。「〇〇株式会社御中」としたいのですが、氏名のところに会社名を打たないと敬称がついてくれません。氏名が空いていても、会社名が入っていれば敬称をつくようにしたいです。ご存知の方教えてください。よろしくお願いします。

  • ワード2010 年賀状宛名 長い社名を表示したい

    エクセルの住所録から、ワード2010で差込文書のはがき印刷をしたいです。 氏名(兼社名)が6文字以内であれば、調整不要ですが 7文字以上になると、勝手に改行されて2行になり 2行目は均等割り付になってしまうのでバランスが悪いです。 さらに、敬称は1行目の下についてしまいます。 ※役職や担当者名を書かず、会社名宛(○○株式会社 御中)で出したいので 住所録の氏名の列に最大14文字の会社名で入力しています。 全くレイアウトを調整しないデフォルトの状態では 氏名フィールドのフォントサイズは26 住所フィールドと同じ高さ位置ですが 氏名フィールド内で一文字下げて氏名が表示される ・・・という設定になっています。 フォントサイズにはこだわっていないので、小さくした上で 2行にしたいと思うのですが、 Q1:改行して2行にした場合、2行目は下詰にできますか? Q2:改行した場合、敬称を2行目の下に表示させられますか? Q3:フィールドを分割する、または増やす?という方法もあるようですが    やり方がわかりませんので教えてください。 Q4:上記のの方法にはこだわりませんので、    何とか体裁よく最大14文字を表示印刷する方法を教えてください! よろしくお願いします。

  • 筆まめで宛名印刷

    2つ質問があります。 筆まめ(Ver13)をつかって宛名印刷をしたいのですが、 個人名、自宅住所、勤務先、勤務先住所、部署、役職のデータが入力されていて、会社宛で宛名を印刷したいのですが、個人情報のところでマークをはずすと、会社名、部署名、役職 様 って出てしまいます。 部署や役職を印刷しないというチェックはどこでいれるんでしょうか? それから (株)や(有)をそのまま印刷させたいのに 省略語をそのまま使うとすると、(有)も(株)と出てしまいます。(有)もそのままつかうという登録はどこでできますか? それからもう一つ。 敬称を標準にしてあるのに、会社宛を選んでも 自動的に御中にならないのはどうしてなんでしょう とーーーっても困っています。 助けてください。

  • 宛名ラベル-宛先を臨機応変に会社名か顧客名か変えたい

    OS:WinXP Access Version:2000 たびたびお世話になります。よろしくお願いします。 宛名ラベルを作っています。 ラベルのレイアウトはこのようになっています。 エクセルファイルから顧客情報を抽出してテーブルを作りました。 ----------------------------- [=Trim[郵便番号]] [=Trim[住所1]] [=Trim[住所2]] [=Trim[会社名]] [=Trim[部署]] [宛先] ---------------------------- 各項目のTrimは、宛名ラベルウィザードにて 該当ラベルメーカーの型番を選んだら自動的に挿入 されました。 データベースに、顧客名があるときは、顧客名+様、顧客名が無かったときは 会社名+御中とし、宛名の末尾に無駄なスペースが入っていたらtrimで省きたい ということで、 >・・・宛先のコントロールソースに >=IIf(Nz([宛先])="",Trim([会社名]) & " 御中",IIf(InStr([宛先]," 様")<>0,[宛先],Trim([宛先]) & " 様")) 以上で解決したのですが、上司から新たな要望が・・・・・・。 これだけだと、「顧客名が無かったときは会社名+御中」の場合、 ---------------------- 郵便番号 住所1 住所2 会社名 部署名 会社名 御中 ---------------------- と、会社名が二つ載っているので変だ、直してほしいと言われました。 ・「顧客名が無かったときは会社名+御中とし、[会社名]は表示させない」 または ・「顧客名が無かったときは、[会社名]は表示せず、 宛名のところに[会社名]+御中とする」 といった関数が必要と思われますが、 どこにどう記述したらいいのかわからないので 教えていただけ無いでしょうか。 よろしくお願いします。

  • Access 添付ファイル型フィールドの判定

    お世話になります。 Access2010 テーブルに添付ファイル型のフィールド「画像」があります。 この画像にファイルが登録されているか否かの判定はどのように するのでしょうか。 なお、以下のようにしてみましたが、画像の有無にかかわらずFalse となってしまうことを確認しました。  If IsNull(テーブル![画像])= False Then     <画像が登録されていた場合の処理>  Else     <画像が登録されていなかった場合の処理>  End If ご教示の程、宜しくお願い致します。

  • ACCESS2000の動作とOS環境

    お世話になります。 Windows98で作ったアプリケーションを Windows2000に移したところ 以下の点で不具合が生じました。 1.フォームの非連結テキストボックスにVBで値を指定する(Date)とエラーになる。 2.フォームの非連結テキストボックスの規定値に Date() を入力すると#Name?と表示される。 3.宛名ラベル作成画面で =Trim[顧客名] & [部署名] & [敬称] とすると#Name?となる。   (基になるテーブルには顧客名、部署名、敬称の各フィールドがあります) 今のところ以上の現象が起きていますが 他にも何かありましたら追記したいと思います。 OSの環境によってプログラムの仕方とか変わるのでしょうか? どうぞよろしくお願いします。

  • ビジネスで送る年賀状の宛名について

    会社のお得意様に送る年賀状の宛名についてです。 通常は     会社名     部署名     役職 氏名様 と記入するところ、間違えて     会社名     部署名 役職     氏名様 と記入してしまいました。 これは失礼でしょうか?また、修正テープを使い部署の下の役職を消し、 氏名の上に役職を加える事はどうでしょうか?