以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]关于向服务器上传附件后查看与更改文件的求助  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=148248)

--  作者:huangfanzi
--  发布时间:2020/4/3 9:10:00
--  [求助]关于向服务器上传附件后查看与更改文件的求助
项目中有一个采购合同表,有一个字符型的“扫描件”的列,我将此列设置了扩展列属性:图片,用于上传合同的扫描件
第一个问题:现在我要做个合同的查询窗口,在窗口中假定有以下代码:
Tables(e.Form.Name & "_Table1").Fill("S elect  合同号,扫描件 From {原料采购合同}  Where 扫描件 IS NOT NULL","ShcsErpSql",True)
在这个查询表中,我希望双击扫描件列能弹出一个窗口,让用户看到这份扫描件,代码应该如何写?

第二个问题:用户在上传扫描件时,如何写代码能让上传的文件名自动改名,例如以此行记录的合同号命名,这样可以防止用户上传重复的文件名导致服务器上原来的被覆盖掉

谢谢老师!

--  作者:有点蓝
--  发布时间:2020/4/3 9:58:00
--  
1、表格双击事件(到全局表事件处理:http://www.foxtable.com/webhelp/topics/0671.htm
if e.col.name = "扫描件" andalso e.row.isnull("扫描件") = false
Dim Proc As New Process \'定义一个新的Process
Proc.File = 
projectpath & "
Attachments\\" & e.row("扫描件") \'指定要打开的文件
Proc.Start()
end if


--  作者:huangfanzi
--  发布时间:2020/4/3 11:07:00
--  
老师,如果这个扫描件格子中上传过多个文件,如何处理
在正常的合同表中,合同录入完会被锁定不可编辑,然后做了个查看扫描件的窗口,单击表上扫描件,执行代码:Forms("扫描件查看").show()
在这个Forms("扫描件查看")的AfterLoad中
\'设置PictureViewer存放路径
Select Case MainTable.Name
Case "原料采购合同"
DataTables("原料采购合同").DataCols("扫描件").DefaultFolder = "\\\\SERVER-NEW\\ShcsErpSql文件目录$\\采购合同扫描件"
End Select

\'关闭PictureViewer的命令
Dim pv As WinForm.PictureViewer = e.Form.Controls("PictureViewer1")
pv.AddCommand.Visible = False
pv.DeleteCommand.Visible = False
pv.ClearCommand.Visible = False

窗口中有一个PictureViewer控件,此控件直接绑定了原料采购合同.扫描件

现在由于是在查询表中,在实际使用中,这个原料采购合同表我都不会打开,只会加载表结构,在这样的情况下,上面的代码如何改能查看到某条合同编号下扫描件列中的所有图片

--  作者:有点蓝
--  发布时间:2020/4/3 11:24:00
--  
PictureViewer控件绑定到查询表即可
--  作者:huangfanzi
--  发布时间:2020/4/3 11:45:00
--  
谢谢
[此贴子已经被作者于2020/4/3 11:51:37编辑过]