アプリ版:「スタンプのみでお礼する」機能のリリースについて

アクセスのtblのURLフィールドに

表示文字列→aaa
URL→http://www.yahoo.co.jp/

を追加したいのですがうまくいきません。
(URLフィールドのデータ型はハイパーリンク型です)

Sub test()
Dim moji As String
Dim URL As String
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset

Set cn = New ADODB.Connection
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & "C:\Documents" & "\access.mdb"
Set rs = New ADODB.Recordset
rs.Open "tbl", cn, adOpenStatic, adLockPessimistic

moji = "aaa"
URL = "http://www.yahoo.co.jp/"
rs.AddNew
rs("URL") = "#" & moji & "#"
rs("URL") = "#" & URL & "#"
rs.Update

Set rs = Nothing
Set cn = Nothing
End Sub

を実行すると
結果は
表示文字列もアドレスも「http://www.yahoo.co.jp/」になってしまいます。(そりゃそうか)

どうすれば

表示文字列→aaa
URL→http://www.yahoo.co.jp/

が実現できるのでしょうか?

よろしくお願いします。
(ヴァージョンは2003です)

A 回答 (2件)

No.1の方のリンク先のNo.2の者です。


先の回答でも少し触れましたが、ハイパーリンク型での「#」は日付/時刻型の
括りとは別物で、「囲い」ではなくて「区切り」になっている、ということです。

また、ご質問文中の以下のコードですが、

moji = "aaa"
URL = "http://www.yahoo.co.jp/"
rs.AddNew
rs("URL") = "#" & moji & "#"
rs("URL") = "#" & URL & "#"
rs.Update

これですと、「URL」フィールドが「#http://www.yahoo.co.jp/#」で
上書きされてしまって、先に代入した「#aaa#」が消えてしまいます。

No.1の方の回答の通り、一旦変数に受けるなどして、「aaa#~#」の
形にしてやってください(あくまで「#」は区切り文字なので先頭には無用です)。
    • good
    • 0
この回答へのお礼

おお!
質問の中から飛び出して来たんですね!
そうなんです。#aaa#が消えてしまいましたが
rs("URL") = moji & "#" & URL & "#"でうまくいきました。
ありがとうございます。

お礼日時:2009/05/07 01:09

"aaa#

http://www.yahoo.co.jp/#"
で設定してみてください。

http://oshiete1.goo.ne.jp/qa4936098.html
の#2の方が示されているURLも参照してください。
    • good
    • 0
この回答へのお礼

できました。
なんだ。簡単ですね。
そちらも読んでみます。ありがとうございます。

お礼日時:2009/05/06 23:45

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