使用二进制列的简单示例
本节的目的是完整地介绍如何使用二进制列来管理文件和图片。
本节的内容可以参考CaseStudy目录下的文件:二进制列.Table
该示例文件使用了一个Access文件作为外部数据源,文件名为:二进制列.mdb
这个文件有一个名为员工的表,这个表包括两个二进制列,分别为附件和照片,前者用于存储word文件,后者用于存储照片:
当然,二进制列可以存储任何格式的文件,本节只是一个示例而已。
设计步骤
1、首先设置好外部数据源,并记得在添加外部表的时候,排除所有的二进制列:
2、设计好窗口,窗口各个按钮的代码如下:
按钮名称 | 代码 |
打开文件 |
If
Tables("员工").Current
Is Nothing
Then |
插入文件 |
If
Tables("员工").Current
Is Nothing
Then 提示:请自行思考一下,为什么新增行必须先保存才能插入文件呢? |
删除文件 |
If
Tables("员工").Current
IsNot Nothing
Then |
插入照片 |
If
Tables("员工").Current
Is Nothing
Then |
删除照片 |
If
Tables("员工").Current
IsNot Nothing
Then |
3、将订单表的CurrentChanged事件代码设置为:
If
Forms("窗口1").Opened
Then '如果窗口已经打开
Dim pbx
As WinForm.PictureBox
= Forms("窗口1").Controls("PictureBox1")
If Tables("员工").Current
Is Nothing
Then
pbx.Image
= Nothing
Else
pbx.Image
= Tables("员工").Current.DataRow.SQlLoadImage("照片")
'从后台提取照片并显示
End
If
End
If
这样在员工表中选择不同的行时,会自动从后台的照片列提取此员工的照片,并显示在窗口的PictureBox中
4、最后将窗口的AfterLoad事件代码设置为:
Tables("员工").RaiseCurrentChanged() '强行触发CurrentChanged事件
这样打开窗口后,PictureBox会自动显示当前员工的照片,否则需要换一次行才会显示。
当然你可以直接在这里编写代码来提取照片,但既然相关代码已经在表的CurrentChanged写好了,就没有必要重复编写了。