dポイントプレゼントキャンペーン実施中!

単票形式のフォームのレコードソースに紐付くコントロールソースを
ラベルに設定したいのですができません。
ハイパーリンクをテキストボックスではなく
ラベル上に表示したいです。

テキストボックスのプロパティには「コントロールソース」があるのですが
ラベルに「コントロールソース」はありません。
設定することは不可能でしょうか?
VBAでも可能なら教えてください。
よろしくお願いします。

A 回答 (2件)

>「表示部分とハイパーリンクを「レコード移動時」に設定」


> とはなんのことでしょう?

表示部分
>  Me.lab00.Caption = sTmp

ハイパーリンク
>  Me.lab00.HyperlinkAddress = sTmp

レコード移動時
> Private Sub Form_Current()


> 指定した式にHyperlinkAddressプロパティに対する正しくない参照が含まれます

エラーになった時、sTmp の内容はどうなっていたのでしょうか。
    • good
    • 0
この回答へのお礼

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

お礼日時:2009/04/05 21:47

> ラベル上に表示したいです


> ラベルに「コントロールソース」はありません。

無いので、無理だと思います。


代替え案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

※ ハイパーリンク型のフィールドデータはパス以外、前後に "#" が付加されているようなのでそれを削除してラベルへ設定
    • good
    • 0
この回答へのお礼

すいません。
せっかくご回答いただいたのにうまくできませんでした。
まず
「表示部分とハイパーリンクを「レコード移動時」に設定」
とはなんのことでしょう?

そして上記のコードを貼り付けて保存し、フォームを開くと
実行時エラー2455
指定した式にHyperlinkAddressプロパティに対する正しくない参照が含まれます。

となってしまいます。

お礼日時:2009/04/05 18:14

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています