Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

关于打开图片的问题

区小小  发表于:2011-04-23 23:31:31  
复制

一下子都不知如何说明好,我的图片是以文字(路径)的形式存储的(字段名:图片,内容:\图片\00000002.jpg),在数据库有控件的情况下我会打开图片。只要在控件设好控件来源和和名程就好了。如下:

Private Sub 图片_DblClick(Cancel As Integer)

    ShellExecute Me.hwnd, "open", Application.CurrentProject.path & Me.图片, "", "", 0   
End Sub

但看到了http://www.accessoft.com/article-show.asp?id=4985【源码示例】思路探讨:使用更简单的数据维护功能(增、改、删、查、导出)后想用他的数据库来存储图片。唉,就是不知如何用来实现双击打开图片的功能。

显示数据的部分是动态的直接用SQL语句筛选出来的,根本没有控件可以。直接主体上加入上面的代码或用下面的代码:

Private Sub 图片_DblClick(Cancel As Integer)
    If Shell("explorer.exe " & Me.图片.Column(0), vbNormalFocus) = 0 Then Exit Sub
End Sub

根本就没可能完成任务,要如何做才能实现双击打开所存储的图片呢?!希望能有高手指条明路!

 

Top
区小小 发表于:2011-04-24 00:50:21

通过按键来触发事件,但调用不到数据的内容,应如何调用才好呢?!

图片在数据库表中的第八项,字段名为图片。

Private Sub cmdImage_Click()

    Me.sfrDetail.SetFocus
    DoCmd.RunCommand acCmdSelectRecord
    If Shell("explorer.exe " & Me.cboSourceID.Column(7), vbNormalFocus) = 0 Then Exit Sub
   
End Sub



煮江品茶 发表于:2011-04-24 08:20:22

和打开语句本身没什么关系,似乎没找到正确的控件值。

 

如果地址存放于窗体的某个控件中,比如该控件名曰:图片地址,则在该控件的双击事件中写:

If Shell("explorer.exe " & Me.图片地址.value, vbNormalFocus) = 0 Then Exit Sub

 

如果地址没有单独的控件存放,而是在某个组合框或列表框的某列中,比如组合框控件名曰图片,其数据源为select 图片ID,图片名称,图片地址 from 图片表,列宽为"0cm,1.5cm,0cm"。则在该组合框控件的双击事件中写:

If Shell("explorer.exe " & Me.图片.Column(2), vbNormalFocus) = 0 Then Exit Sub



区小小 发表于:2011-04-24 20:50:06

但如“思路探讨”中的实例中根本就没控件的存在呀,那还是用“Private Sub 原始凭证_DblClick(Cancel As Integer)”来设置控件的双击事件吗?!在动态生成的主体中根本就不会响应呀。。。要的不是只要双击时获得“原始凭证”控件相应的字段值再打开吗?!不明。。。



区小小 发表于:2011-04-24 21:02:08

如你所说的我的DblClick又应如何设置呢?!双击无效..



总记录:4篇  页次:1/1 9 1 :