none
フォーム、ラベルの標題プロパティ RRS feed

  • 質問

  • いま、フォームに特定のテーブルデータを連結テキストボックスを使用して表示しています。

     

    その中にURLの項目があり、ハイパーリンクを設定するために、

    Set g_FRM = Forms!F_0130

    strPath = g_FRM!URL.Caption

    Application.FollowHyperlink strPath

    というコードを作成し、ボックスクリック時に設定したら、リンク先を開いてフォームはそのまま。という状態になりました。ラベルのクリック時に設定したらいいと指示されラベルに貼ったらうまくいきました。

     

    そのうえで、テキストボックスになっている部分をラベルにし、URLを表示しようと思い、

    Dim Rec As Recordset

    Dim DB  As Database

    Set DB = CurrentDb

    Set g_FRM = Forms!F_0130

    Set Rec = DB.OpenRecordset("TW_顧客詳細")
      g_FRM!URL.Caption = Rec!URL

    をフォーム読み込み時にいれました。

    URLデータが存在していれば問題はないのですが、データが存在していないと型が違うエラーが出ます。

     

    どうすればよいのでしょうか?

     

    2007年5月23日 1:44

回答

  • フラグさん、こんにちは。

     フラグ さんからの引用
    データが存在していないと型が違うエラーが出ます。

    NULL だからではないでしょうか?
    IsNull 関数などで Null チェックが必要だと思います。
    2007年5月23日 2:43

すべての返信

  • フラグさん、こんにちは。

     フラグ さんからの引用
    データが存在していないと型が違うエラーが出ます。

    NULL だからではないでしょうか?
    IsNull 関数などで Null チェックが必要だと思います。
    2007年5月23日 2:43
  • ええ、その通りです。

    それで、書き込む作業のところに空欄対策の作業に飛ぶコードを入れたのですが、この制御コードでは、空は強制的にNULLをいれ、文字の部分はテキストですと固定してしまうので

    NULLとひょうきされるか、'URL'の形になってしまいます。

     

    上記状態で3hくらいとまっていたのですが、

     

        If (IsNull(Rec!URL) Or Rec!URL = "") Then
        Exit Function
        Else
        g_FRM!URL.Caption = Rec!URL
        End If

     

    にしたら出来ました。

     

     

    書き込む前に判断させないとだめですよねぇ。

     

     

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

     

    2007年5月23日 3:07
  •  フラグ さんからの引用
    If (IsNull(Rec!URL) Or Rec!URL = "") Then

    この部分ですが、VB の Or はショートサーキット評価でないため、仮に Rec!URL が NULL の場合 Rec!URL = "" の部分も評価されてしまいます。
    .NET であれば OrElse 演算子を使えば良いですが、VB6 の場合は If をネストした方が良いです。
    2007年5月23日 8:58
  • わざわざの返信ありがとうございます。

     

    基本的に、私の使用しているVBはアプリケーション必須のVBAです。

    そして、ボックスなどの保持しているデータなしが、NULLの場合もあれば、

    " "の場合もあるのであの形にしています。

    特に問題はないようです。

     

    もう少し詳しく教えていただけますか?

    2007年5月28日 6:53