以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]表中的图片或文件列如何设置成动态目录?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=70032)

--  作者:新福星
--  发布时间:2015/6/15 6:13:00
--  [求助]表中的图片或文件列如何设置成动态目录?
一个表中A列为图片。在该列属性中设置 远程文件=True 服务器地址 用户名 用户密码逐一设置完毕,并设置了根目录XX。在XX目录下需要随着该行记录订单号创建新目录放入该图片,即每个订单的图片放入该订单号目录下,达到 XX/订单号/图片1,XX/订单号/图片2 ...... 这样的效果。该怎么做呢?谢谢
--  作者:Bin
--  发布时间:2015/6/15 8:42:00
--  

BeforeAddFile


然后参考帮助

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

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


修改根目录即可


--  作者:新福星
--  发布时间:2015/6/15 20:48:00
--  
在BeforeAddFile事件中的程序如下:
e.DataCol.FTPClient.Host=ftphost
e.DataCol.FTPClient.Password=ftppassword
e.DataCol.FTPClient.Account=Ftpaccount
Dim mlm As String="/系统资料"
If e.DataCol.FTPClient.DirExists(mlm)=False Then  e.DataCol.FTPClient.MakeDir(mlm)
mlm=mlm & "/确认样"
If e.DataCol.FTPClient.DirExists(mlm)=False Then  e.DataCol.FTPClient.MakeDir(mlm)
mlm= mlm & "/" &  e.DataRow("工厂款号")
If e.DataCol.FTPClient.DirExists(mlm)=False Then  e.DataCol.FTPClient.MakeDir(mlm)
e.DataCol.FTPClient.RootDir=mlm
BeforeAttachFile事件中程序如下:
Select Case e.DataCol.Name
    Case "图片","附件" 
        e.Subfolder = "/系统资料/确认样/" & e.DataRow("工厂款号")
       \' e.DataCol.FTPClient.RootDir="/系统资料/确认样/" & e.DataRow("工厂款号")
End Select

打开附件传送文件,目录是正确的;但是在图片列传文件目录就是错的?问题出在哪呢?谢谢

--  作者:大红袍
--  发布时间:2015/6/15 21:19:00
--  
 什么意思,什么文件目录,什么错。
--  作者:新福星
--  发布时间:2015/6/16 3:44:00
--  
接3楼答4楼。
 这个表中其中有两列分别叫图片和附件。图片列的属性扩展类型为照片,附件列的属性扩展类型为多文件。
按然3楼程序设置,理论上不管是图片列或附件列,在打开本列的远程传输文件窗口时,目录都应设置到"/系统资料/确认样/" & e.DataRow("工厂款号") 这个目录下。

可是事实上只有附件列的初始目录设置正确了,图片列的初始目录设置的就不正确。图片列显示的初始目录为FTP的根目录。

于是我把图片列中的列属性扩展类型也改为多文件,奇怪的事情就发生了。这时图片列在打开列远程传输文件窗口时的初始目录也正确了。
怎么会和列属性扩展类型有关呢?求解!

--  作者:新福星
--  发布时间:2015/6/16 3:59:00
--  
图示
图片点击可在新窗口打开查看此主题相关图片如下:xx1.jpg
图片点击可在新窗口打开查看
图片点击可在新窗口打开查看此主题相关图片如下:xx2.jpg
图片点击可在新窗口打开查看


图片点击可在新窗口打开查看此主题相关图片如下:xx3.jpg
图片点击可在新窗口打开查看

--  作者:大红袍
--  发布时间:2015/6/16 9:07:00
--  

PrepareEdit或者CurrentChanged或者Click或者datacolchanged事件,重新设置图片的根目录

 

DataTables("表A").DataCols("图片").FTPClient.RootDir="/xxxx/xxxx"

[此贴子已经被作者于2015/6/16 9:07:02编辑过]