我正在插入包含从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 & '#'
导致错误。
任何想法都会非常感激, 标记
答案 0 :(得分:0)
您正在从一个有效的超链接地址进行更新,所以只需:
"SELECT '" & Forms![frmSpec].[Type] & "', true, true, CatalogSheetLink, <...>
如果您想更改描述,则需要获取子字符串,如下所示:
INSERT INTO MyTable (MyHyperlink)
SELECT 'New Description' & Mid(MyHyperlink, InStr(MyHyperlink, '#'))
FROM SomeTable