以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  Filemanager问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=184930)

--  作者:njzwm
--  发布时间:2023/1/17 19:41:00
--  Filemanager问题
我在窗口的filemanager控件中,想实现把“车牌号”相同的车辆文件存在以车牌号命名的文件夹中,表格的BeforeAttachFile的事件中使用以下的语句:

If e.DataCol.Name = "车辆相关文件" Then
    Dim dr2 As DataRow = e.DataRow
    If dr2.IsNull("原车牌号") Then
        MessageBox.Show("请先输入原车牌号!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information)
        e.Cancel = True
    Else
        e.SubFolder = dr2("车辆相关文件") & "\\" & dr2("原车牌号")
    End If
End If

在控件中增加文件时,第一个文件是成功的,但是增加第二个文件时就出错,因为相应目录已经存在了。

请问用什么语句判断这个文件夹是否已经存在?如果不存在,就创建目录,存文件,如果文件夹已经存在了,那就直接增加文件。

第二个问题:

因为考虑到局域网使用时,有些文件夹是放在共享文件夹中的,这就要指定新的文件夹位置,但是如果我把上述语句增加路径变量后改成为:

   e.SubFolder = Vars("DOCLOCATION") & dr2("车辆相关文件") & "\\" & dr2("原车牌号")

则出现错误提示:“不支持给定路径的格式。”,这个问题应该怎么解决呢?

再有就是“车辆相关文件”列是文本性质,扩展类型是“多文件”,我现在设置的文本是250,但是考虑到文件比较多,再加上路径字符,255个很可能经常会不够多,会有超出危险吗?

请老师一并指点,谢谢!

[此贴子已经被作者于2023/1/17 20:01:53编辑过]

--  作者:有点蓝
--  发布时间:2023/1/17 20:16:00
--  
目录判断操作参考:http://www.foxtable.com/webhelp/topics/0331.htm

e.SubFolder 仅指Attachments目录里的子目录(如果设置了存放目录,则指存放目录里的子目录),不能使用完整路径。所以到列属性里把存放目录设置为更新目录即可:http://www.foxtable.com/webhelp/topics/1506.htm,不需要更改任何代码
--  作者:njzwm
--  发布时间:2023/1/17 20:37:00
--  
蓝老师,谢谢及时解答!

由于用户环境是千变万化的,发布前无法预知用户的使用路径,无法设置。一旦把程序发布出去后,尽量希望使用代码来解决路径变化的设置,而不让用户来直接修改列属性,否则容易出问题。

再者FOXTABLE项目发布后,用户好像也不能自己再来修改列属性了。
[此贴子已经被作者于2023/1/17 20:52:00编辑过]

--  作者:有点蓝
--  发布时间:2023/1/17 21:12:00
--  
使用代码设置参考:http://www.foxtable.com/webhelp/topics/2043.htm