#526 ハイパーリンク型フィールドにSQLでデータを保存するには? VBA

ハイパーリンク型フィールドにデータを保存する場合、次のようなプログラムでは、指定した値がハイパーリンクの「表示文字列」として登録されるだけで「アドレス」としては登録されません。よってテーブルやフォームでその値をクリックしてもそのアドレスにはリンクしないことになります。

strSQL = "UPDATE 商品 SET " & _
                "関連URL='http://www.tsware.jp/' " & _
                "WHERE 商品ID=1"

表示文字列だけ登録される


このような場合、次のように値の前後に「#」を付けることによって、SQL上で指定された値をハイパーリンクの「アドレス」として保存することができます。

Dim dbs As Database
Dim strSQL As String

Set dbs = CurrentDb
strSQL = "UPDATE 商品 SET " & _
                "関連URL='#http://www.tsware.jp/#' " & _
                "WHERE 商品ID=1"
dbs.Execute strSQL

アドレスが登録される


さらに、表示文字列とアドレスをそれぞれ別の内容で保存したい場合には、次のような書き方になります。データの文字列の先頭にまず表示文字列を記述し、そのあとに#で囲んだアドレスを指定します。

strSQL = "UPDATE 商品 SET " & _
                "関連URL='ティーズウェア#http://www.tsware.jp/#' " & _
                "WHERE 商品ID=1"

表示文字列とアドレスが登録される
| Index | Prev | Next |



T'sFactory
Accessで動く生産管理DB
Ureru Express
Webで使う販売顧客管理
Access開発&アドバイス
DB開発やテクニカルアドバイス
Copyright © T'sWare All rights reserved