我最初非常高兴地发现在Access 2010中的附件栏这一项功能,美学惹恼我内心的数据库纯粹的,但我的内心懒惰的草皮是这里的负责人,它看起来确实,在它的面前,像它可以使一个我目前的项目更容易/简单。 令人高兴的是,它会自动显示在窗体和报表图片/图标,但(为什么总是有一个,但诶!)它只显示第一个,我需要它来显示所有的人。
当然,你可以滚动一次的附件之一,但我敢肯定我的客户不会磨损,尽管他的要求,我完成MS-Access中的项目当中,似乎只有已非常基本的内置选项显示:/但是...
我可能是错的,我有几乎没有MS-访问体验。 我的编码背景是坚决LAMP堆栈和网络,所以我深深的无知对在Windows /接入生态系统提供什么。 我怀疑是提供非常灵活的布局出色的第三方报告工具,但我需要看到表格上的所有附件,而不仅仅是报告。
因此,浮躁盲目进入虚空我最初的策略是这样的...
创建附件一个单独的表,其中每个字段是“附件”只包含单个项目。 然后使用脚本在窗体和报表,以...
- 查询该表属于有问题的记录所有附件
- 显示/格式化这些领域的某种名单
- 一个新的附件字段动态追加到列表的末尾,以便用户在某处上传下一个附件
- 使表单页面刷新每当添加附件以便有跳投一个免费的。
所以,我的问题是...
- 是我在访问描述是否可行?
- 我缺少一个更简单/更好/典型的解决方案?
- 如何厉害的是访问的脚本语言(S),参照显示? 即笨重或像素完美呢?
- 这不是仍然Visual Basic中是什么呢? (noooooo;!)
- 如果是这样,还有没有其他脚本语言,我可以表单/报表中使用?
对不起,我知道这是一个有点长毛茸茸的问题,但我是离开水的鱼在这里!
谢谢,
罗杰
让我们说我有一个附件的表格:
让我们说,我有三个图像,我希望显示这些附件的领域之一。 我可以创建一个查询:
这之后,我可以创造一个连续的形式:
我搜索了这个类似的问题。 我每场多个附件。 我打算使用字段来存储一个jpg和针对我创建通过从属性添加到窗体拖动字段中的两个图像控制一个.pdf。 我已经将它们命名为ctlImage和ctlFeatures。 我使用这种形式,从产品目录中窗体上的详细信息按钮,非模式弹出。 到目前为止,我能够搜索记录在产品目录中,并使用所选择的列表框的搜索结果与where子句来设置的细节形成当前记录打开窗体。 当我试图操纵ctlImage寻找图像类型,显示在智能感知的属性是ctlImage.value。 我希望ctlImage分配给JPG和ctlFeatures到PDF这里是frmProducts btnMoreInfo_Click代码,并在情况下,一个是搞乱对方的frmCatalogDetails代码。
Private Sub btnMoreInfo_Click()
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim str As String
Dim row As Long
Set db = CurrentDb
Set rs = db.OpenRecordset("tblProducts", dbOpenSnapshot)
If Me.lstSearchResults.ItemsSelected.Count > 0 Then
' Debug.Print Me.lstSearchResults.Column(0)
row = Me.lstSearchResults.Column(0)
rs.MoveFirst
rs.FindFirst "ProductID=" & row
Debug.Print rs("Description")
DoCmd.OpenForm "frmCatalogDetails", acNormal, , "ProductID=" & Me.lstSearchResults.Column(0, Me.lstSearchResults.ItemsSelected), acFormReadOnly, acWindowNormal
Else
MsgBox "You must select a product"
Exit Sub
End If
End Sub
和目录的详细信息
Option Compare Database
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim fld As DAO.Field
Private Sub Form_Load()
Set db = CurrentDb
'Set rs = db.OpenRecordset("tblProducts", dbOpenSnapshot)
'Set fld = rs("image")
Debug.Print rs("ProductID")
Debug.Print rs("Description")
'me.ctlImage.ControlSource =
'Me.ctlImage.CurrentAttachment = fld.Value
End Sub
因为我有这种形式从父窗体识别RS麻烦的RS语句被注释掉。 我得到一个与块变量未设置,但如果我不rs.openRecordSet然后记录可以追溯到第一行。 除了上面你的答案,我见过的很少操纵附件对象和帮助下已经很难,因为它甚至不包括附件栏里面访问。 我在一个点,我会比回答有关此主题的询问,我非常欣赏的时候很多人都采取手艺答案。 罗林座右铭:在需要时寻求帮助,当问及给予帮助,并记住你来自哪里。