如何在表单上显示MS Access表附件或存储在SharePoint位置的图像



我正在使用Microsoft Access for Office 365为一个工作项目制作一个小游戏。我有一张表格,里面有所有的答案和一张相关的图片,作为附件存储。用户将通过SQL查询滚动通过记录源提供的记录。

我想在用户导航时显示与每个记录相关的图像。

我更愿意将图像存储在其他地方,但并不是所有的目标用户都可以访问公共网络文件夹。我确实可以访问常见的SharePoint位置,在那里我可以将他们的结果上传到链接的SharePoint列表中,但当我尝试从SharePoint位置插入图像时,MS access不允许";网址";。

在测试中,我使用VBA通过子窗体上的图片属性将图像(托管在网络文件夹中(显示为背景,但由于并非所有用户都可以访问公共网络文件夹,因此我无法在生产中执行此操作。(在我创建后发现没有通用文件夹。(

如何在附件中显示该图片?

如何使用SharePoint承载图像?

使用"开箱即用"的MS Access,这两件事都可能吗?

编辑:使用.accdr格式防止用户查看表中的答案

因为你会有图片的URL,你可以使用我的花式功能UrlContent

' Download (picture) file from a URL of a hyperlink field to a
' (temporary) folder, and return the full path to the downloaded file.
'
' This can be used as the control source for a bound picture control.
' If no Folder is specified, the user's IE cache folder is used.
'
' Typical usage in the RecordSource for a form or report where Id is
' the unique ID and Url is the hyperlink field holding the URL to
' the picture file to be displayed:
'
'   - to a cached file where parameter Id is not used:
'
'   Select *, UrlContent(0, [Url]) As Path From SomeTable;
'
'   - or, where Id is used to create the local file name:
'
'   Select *, UrlContent([Id], [Url], "d:somefolder") As Path From SomeTable;
'
' Then, set ControlSource of the bound picture control to: Path
'
' 2017-05-28. Gustav Brock, Cactus Data ApS, CPH.
'
Public Function UrlContent( _
ByVal Id As Long, _
ByVal Url As String, _
Optional ByVal Folder As String) _
As Variant
Const NoError   As Long = 0
Const Dot       As String = "."
Const BackSlash As String = ""

Dim Address     As String
Dim Ext         As String
Dim Path        As String
Dim Result      As String

' Strip leading and trailing octothorpes from URL string.
Address = HyperlinkPart(Url, acAddress)
' If Address is a zero-length string, Url was not wrapped in octothorpes.
If Address = "" Then
' Use Url as is.
Address = Url
End If

If Folder = "" Then
' Import to IE cache.
Result = DownloadCacheFile(Address)
Else
If Right(Folder, 1) <> BackSlash Then
' Append a backslash.
Folder = Folder & BackSlash
End If

' Retrieve extension of file name.
Ext = StrReverse(Split(StrReverse(Address), Dot)(0))
' Build full path for downloaded file.
Path = Folder & CStr(Id) & Dot & Ext

If DownloadFile(Address, Path) = NoError Then
Result = Path
End If
End If

UrlContent = Result

End Function

完整的代码、文档和演示可以在我的项目VBA.PictureUrl.中找到

相关内容

最新更新