• ベストアンサー

ラベルに「コントロールソース」を設定することは不可能でしょうか?

単票形式のフォームのレコードソースに紐付くコントロールソースを ラベルに設定したいのですができません。 ハイパーリンクをテキストボックスではなく ラベル上に表示したいです。 テキストボックスのプロパティには「コントロールソース」があるのですが ラベルに「コントロールソース」はありません。 設定することは不可能でしょうか? VBAでも可能なら教えてください。 よろしくお願いします。

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

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

>「表示部分とハイパーリンクを「レコード移動時」に設定」 > とはなんのことでしょう? 表示部分 >  Me.lab00.Caption = sTmp ハイパーリンク >  Me.lab00.HyperlinkAddress = sTmp レコード移動時 > Private Sub Form_Current() > 指定した式にHyperlinkAddressプロパティに対する正しくない参照が含まれます エラーになった時、sTmp の内容はどうなっていたのでしょうか。

fsjkls
質問者

お礼

ちょっと難しかったので(1)の方法でやったら解決しました! わざわざご回答いただいたのに申し訳ございません。 もっと勉強して挑戦してみます! ありがとうございます。大変参考になりました。

その他の回答 (1)

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

> ラベル上に表示したいです > ラベルに「コントロールソース」はありません。 無いので、無理だと思います。 代替え案2つを以下に (1) テキストボックスをラベルのように見せる  テキストボックスの「編集ロック」を「はい」に設定し、見栄えもラベルに近づける。 (2) VBAでラベルへ設定する  連結されたテキストボックス名を「txt_HL」と仮定  テキストボックス「txt_HL」を非表示に  ラベル名を「lab00」と仮定  表示部分とハイパーリンクを「レコード移動時」に設定 Private Sub Form_Load()   Me.lab00.Caption = "" End Sub Private Sub Form_Current()   Dim sTmp As String   sTmp = Replace(Nz(Me.txt_HL), "#", "")   Me.lab00.Caption = sTmp   Me.lab00.HyperlinkAddress = sTmp End Sub ※ ハイパーリンク型のフィールドデータはパス以外、前後に "#" が付加されているようなのでそれを削除してラベルへ設定

fsjkls
質問者

お礼

すいません。 せっかくご回答いただいたのにうまくできませんでした。 まず 「表示部分とハイパーリンクを「レコード移動時」に設定」 とはなんのことでしょう? そして上記のコードを貼り付けて保存し、フォームを開くと 実行時エラー2455 指定した式にHyperlinkAddressプロパティに対する正しくない参照が含まれます。 となってしまいます。

関連するQ&A

専門家に質問してみよう