以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  动态设置图片存放目录[已解決]  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=41658)

--  作者:realredred
--  发布时间:2013/10/24 14:34:00
--  动态设置图片存放目录[已解決]

动态设置图片存放目录

在图片列
我问过类似的问题,
想动态设置图片存放目录

比如
第1行 客是 ETM  存放目录就会是  Y:\\sketch(黑白图)\\ETEM\\E888 取图
第2行 客是 TTK  存放目录就会是  Y:\\sketch(黑白图)\\ETEM\\ETM-专利\\T001-TTK
第6行 客是 ADA  存放目录就会是  Y:\\sketch(黑白图)\\ADA\\sketch-2000-4999

图片存放有一个固定模式

路径第一层 一定是 sketch(黑白图)
第二层是 主客户
第三层是主客户的图片存放目录及 专利客户的目录
第四层是专利客户的各小客户图片存放目录

因为公司一定要把不同客户的图片分別存放到不同的目录里
若把全部图片复到一个目录下不实际

 


具体在哪里设?
我在CurrentChanged 设 不行

If e.Row("客戶") = "ETM" Then
    DataTables("进度").DataCols("图片").DefaultFolder = "Y:\\sketch(黑白图)\\ETEM\\E888"
End If

有方法实现这个要求嗎?


另外  图片列现在默认设成 +\'.JPG\'
如果存放目录的图片格式有 JPG 或 BMP

能动态分析出 來並自动加上嗎?

 


图片点击可在新窗口打开查看此主题相关图片如下:未命名.jpg
图片点击可在新窗口打开查看
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.zip

[此贴子已经被作者于2014-1-6 23:24:12编辑过]

--  作者:狐狸爸爸
--  发布时间:2013/10/24 14:41:00
--  

参考:

http://www.foxtable.com/help/topics/2209.htm

 


--  作者:Bin
--  发布时间:2013/10/24 14:46:00
--  
CurrentChanged 为什么不可以?
If e.Table.Current("客戶") = "ETM" Then
    DataTables("进度").DataCols("图片").DefaultFolder = "Y:\\sketch(黑白图)\\ETEM\\E888"
End If
--  作者:realredred
--  发布时间:2013/10/24 15:01:00
--  
以下是引用Bin在2013-10-24 14:46:00的发言:
CurrentChanged 为什么不可以?
If e.Table.Current("客戶") = "ETM" Then
    DataTables("进度").DataCols("图片").DefaultFolder = "Y:\\sketch(黑白图)\\ETEM\\E888"
End If

见鬼了,现在又可以了,最近FOXTABLE变得怪怪的

有时打开目录会报錯,有表达式錯误,有事件錯误

马上关闭重开 又沒事了,有点晕


--  作者:realredred
--  发布时间:2013/10/25 23:46:00
--  

有问题,当不加載任何数据时,CurrentChanged 报錯.....


--  作者:狐狸爸爸
--  发布时间:2013/10/26 8:51:00
--  

知道错误原因了,就可以修改代码,你判断一下是否存在当前行就行:

 

If e.Table.Current IsNot Nothing AndAlso e.Table.Current("客戶") = "ETM" Then
    DataTables("进度").DataCols("图片").DefaultFolder = "Y:\\sketch(黑白图)\\ETEM\\E888"
End If

 

不判断的话,直接使用e.Table.Current,在没有加载数据的时候,Current为Nothing,不存在,当然出错啦。


--  作者:realredred
--  发布时间:2013/10/26 14:28:00
--  
又犯了简单错误
在录入代码下面有提醒的.....
我已成功把三大主客户的路径设好了
但对于专利的细客户路徑,如果要设好,会很長
比如MAR0004  目录路徑是 Y:\\sketch(黑白图)\\ADVAN\\ADV-专利\\M502(MA)
因为专利细客户的目录名沒有規律,不能用遍历去设定
有沒有方法,款号只要包含细客户的代码
则会在Y:\\sketch(黑白图)目录下层自动找出对应的位置

--  作者:狐狸爸爸
--  发布时间:2013/10/26 14:40:00
--  
你可以根据任何列的内容来合成路径: 
 
If e.Table.Current IsNot Nothing AndAlso e.Table.Current("客戶") = "ETM" Then
     DataTables("进度").DataCols("图片").DefaultFolder = "Y:\\sketch(黑白图)\\" & e.Table.Current("列名")
End If

--  作者:realredred
--  发布时间:2013/10/26 15:19:00
--  

这个思路好,我再想一下 

谢谢狐爸