Access交流中心

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

求教通用附件保存问题

Azraelkid  发表于:2020-03-16 15:10:20  
复制

根据论坛的教程,在load里加了

Me.sfrAttachments!txtAttachmentPath = Me.sfrAttachments!txtAttachmentPath & "101筛选" & "\"
 Call Me.sfrAttachments.Form.LoadAttachmentData("101筛选", Me!ID, cnn)


在save里加了

 Call Me.sfrAttachments.Form.SaveAttachmentData("101筛选", Me!ID, cnn)


在实际使用中,新建一条记录时,增加的附件不会保存。然后我编辑这条记录,再添加附件,附件就会保存进去了。求教会是什么问题?

 

Top
Azraelkid 发表于:2020-03-16 18:01:58

save里也添加了

Me.sfrAttachments!txtAttachmentPath = Me.sfrAttachments!txtAttachmentPath & "101筛选" & "\"

所以保存路径没问题。

怀疑是不是因为新建记录的时候还没有生成ID号,所以附件保存不到对应的记录里??这样的话有什么办法解决嘛?



ozh2k003 发表于:2020-03-16 20:59:28

试下在rst.update 和附件保存前面添加 if isnull(me.ID) then me.ID= rst!id 

保存后检查Sys_Attachments表的DataID是否有数值 ,没有就是这个me.id 没有保存进去,dataid=me.id 这个值 要是空值 就不能提取对应的附件



Azraelkid 发表于:2020-03-17 09:58:50

感谢回复,按这个思路把问题解决了。

测试的时候发现,问题是在From_Load的时候,Me!ID没有赋值,所以附件上传的时候附件名就是 乱码+原文件名 ,并且附件不能保存。编辑的话,因为Me!ID已经有赋值了,就能正常保存。

然后增加了一个[附件编号]的字段,定义成自动编号,把 If Nz(Me![附件编号]) = "" Then Me![附件编号] = GetAutoNumber("附件编号") 提前到From_Load里面,提前给[附件编号]赋值,这样就可以顺利保存附件了。

这样有个小问题,如果新建记录但不保存的话,[附件编号]同样会增加一位,不过这个字段就当辅助字段用了,跳号也没什么问题。



ozh2k003 发表于:2020-03-18 08:21:45


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