• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:フィールドにテキストしか入ってないレコードの抽出)

フィールドにテキストしか入ってないレコードの抽出方法

このQ&Aのポイント
  • ハイパーリンク型のフィールドにテキストしか入ってないレコードを抜き出す方法を教えてください。
  • Not Like '*#*' を使ってもアドレスがNullのレコードを抜き出せません。アドレスがNullのハイパーリンク型のフィールドのレコードを抜き出す方法を教えてください。
  • アクセス2003を使っているのですが、ハイパーリンク型のフィールドのアドレスがNullのレコードをどのように抽出するか教えてください。

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

  • ベストアンサー
  • 30246kiku
  • ベストアンサー率73% (370/504)
回答No.2

ハイパーリンク型の構成は 表示用テキスト#アドレス#サブアドレス#ポップ用ヒント だったと思います。 詳しくは、http://office.microsoft.com/ja-jp/access-help/HP005188817.aspx にて アドレス部分が無いという事は、 Split(文字列,"#")(1) が存在しないか、空文字列であるか・・・で判別できると思います。 ただ、クエリでは Split(文字列,"#")(1) という書き方が出来ないので、 ユーザ定義関数を作成し、それを利用することになると思います。 標準モジュールに以下記述(一例) Public Function UrlNonCheck(url As Variant) As Boolean   UrlNonCheck = False   If (Len(Split(url & "#", "#")(1)) = 0) Then UrlNonCheck = True End Function 上記関数はアドレス部分が無かった時に True を返すようにしているので、クエリで SELECT * FROM テーブル WHERE UrlNonCheck([ハイパーリンク]); とすると、アドレス部分を持たない一覧が表示されると思います。 ※ 未検証 ※ 単にハイパーリンク型のフィールドにアドレスを入力した場合、中身は    #アドレス#   になったと思います。  表示用テキストがなかった場合は、アドレスがそのまま表示されたと思います。

1wer56
質問者

お礼

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

その他の回答 (2)

  • m3_maki
  • ベストアンサー率64% (296/460)
回答No.3

> クエリの抽出条件に > Not Like "*#*" > を入れてもどちらも該当してしまいます。 アクセスのクエリでは 「#」 は数字1文字を表すワイルドカード文字です。 「#」 という文字そのものを表すには、「[ ]」 で括ります。 アドレス部に、最低でも1文字あることを条件にするなら 「?」 もあった方がよろしいでしょう。 Not Like "*[#]?*"

1wer56
質問者

お礼

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

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

>Not Like "*#*" "Null"を判定するには「Is Null」 "Nullでは無い"を判定するには「Is Not Null」

1wer56
質問者

お礼

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

関連するQ&A

専門家に質問してみよう