#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'sWareのワンポイトテクニカルアドバイスをご利用ください。3000円/件〜でご支援します。
スタンドアロンからSQL Server対応まで、オーダーメイドのシステムを短納期・安価でお届けします


Copyright © T'sWare All rights reserved