超链接数据未传输到目标表

时间:2010-09-20 18:51:15

标签: sql ms-access

我正在插入包含从1个表到另一个表的超链接字段的记录,其中包含同名的超链接字段。在源表中,超链接的行为正确;但是,当插入目标表时,它不会。该字段在目标中显示正确的“超链接”(路径);然而,它不起作用 - 点击它什么都不做。编辑目标表中的超链接表示链接已复制,但没有文本和地址(!?)

Dim sSQL As String
sSQL = "INSERT INTO tbeAdditionalPages (type, printCatalogSheet, BaseCatalogSheet, CatalogSheetLink, PrintOrder, IsMountingDetail) " & _
"SELECT '" & Forms![frmSpec].[Type] & "', true, true, '#' & CatalogSheetLink, printOrder, false " & _
"FROM FixtureCatalogsPages " & _
"WHERE Manufacturer = '" & Forms![frmSpec].Manufacturer.Value & _
"' and CatalogNumber = '" & Forms![frmSpec].CatalogNo.Value & "';"
CurrentDb().Execute sSQL, dbFailOnError 

我做了一些研究并将代码更改为:

sSQL = "INSERT INTO ... 'text#' & CatalogSheetLink & '#' ... 
CurrentDb().Execute sSQL, dbFailOnError

结果是:现在目标字段有文本,但仍然没有地址。 然后我将其修改为:

'text#' & CatalogSheetLink.address & '#'

导致错误。

任何想法都会非常感激, 标记

1 个答案:

答案 0 :(得分:0)

您正在从一个有效的超链接地址进行更新,所以只需:

"SELECT '" & Forms![frmSpec].[Type] & "', true, true, CatalogSheetLink,  <...>

如果您想更改描述,则需要获取子字符串,如下所示:

 INSERT INTO MyTable (MyHyperlink)
 SELECT 'New Description' & Mid(MyHyperlink, InStr(MyHyperlink, '#')) 
 FROM SomeTable